spec

package
v0.10.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package spec contains generated models for CloudFormation and IAM

Index

Constants

This section is empty.

Variables

View Source
var Cfn = models.Spec{
	ResourceSpecificationVersion: "18.7.0",
	PropertyTypes: map[string]*models.PropertyType{
		"AWS::Cloud9::EnvironmentEC2.Repository": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloud9-environmentec2-repository.html",
			Properties: map[string]*models.Property{
				"PathComponent": &models.Property{
					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": &models.Property{
					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::CloudWatch::AnomalyDetector.Configuration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html",
			Properties: map[string]*models.Property{
				"ExcludedTimeRanges": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-excludedtimeranges",
					ItemType:      "Range",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricTimeZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-metrictimezone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.KerberosAttributes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html",
			Properties: map[string]*models.Property{
				"KdcAdminPassword": &models.Property{
					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": &models.Property{
					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",
				},
				"ADDomainJoinPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-addomainjoinpassword",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ADDomainJoinUser": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-addomainjoinuser",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CrossRealmTrustPrincipalPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-crossrealmtrustprincipalpassword",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httprequestmethodconfig.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httprequestmethodconfig.html#cfn-elasticloadbalancingv2-listenerrule-httprequestmethodconfig-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html",
			Properties: map[string]*models.Property{
				"AllocationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-allocationid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivateIPv4Address": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-privateipv4address",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					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::Batch::ComputeEnvironment.ComputeResources": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html",
			Properties: map[string]*models.Property{
				"ImageId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-imageid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceRole": &models.Property{
					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": &models.Property{
					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",
				},
				"Ec2KeyPair": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-ec2keypair",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MinvCpus": &models.Property{
					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",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Type": &models.Property{
					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",
				},
				"MaxvCpus": &models.Property{
					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",
				},
				"SpotIamFleetRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-spotiamfleetrole",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-tags",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"AllocationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-allocationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BidPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-bidpercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"DesiredvCpus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-desiredvcpus",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LaunchTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-launchtemplate",
					Type:          "LaunchTemplateSpecification",
					UpdateType:    "Immutable",
				},
				"PlacementGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-placementgroup",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Subnets": &models.Property{
					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",
				},
			},
		},
		"AWS::ManagedBlockchain::Member.MemberFabricConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html",
			Properties: map[string]*models.Property{
				"AdminPassword": &models.Property{
					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": &models.Property{
					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::RDS::DBCluster.DBClusterRole": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html",
			Properties: map[string]*models.Property{
				"FeatureName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-featurename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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::MediaLive::Channel.CaptionSelector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html#cfn-medialive-channel-captionselector-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SelectorSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html#cfn-medialive-channel-captionselector-selectorsettings",
					Type:          "CaptionSelectorSettings",
					UpdateType:    "Mutable",
				},
				"LanguageCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html#cfn-medialive-channel-captionselector-languagecode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.DvbNitSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbnitsettings.html",
			Properties: map[string]*models.Property{
				"NetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbnitsettings.html#cfn-medialive-channel-dvbnitsettings-networkid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"NetworkName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbnitsettings.html#cfn-medialive-channel-dvbnitsettings-networkname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RepInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbnitsettings.html#cfn-medialive-channel-dvbnitsettings-repinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.SetDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html",
			Properties: map[string]*models.Property{
				"DimensionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html#cfn-pinpoint-segment-setdimension-dimensiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html#cfn-pinpoint-segment-setdimension-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.LambdaConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html",
			Properties: map[string]*models.Property{
				"Function": &models.Property{
					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",
				},
				"Event": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-filter",
					Type:          "NotificationFilter",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeCommit::Repository.Code": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html",
			Properties: map[string]*models.Property{
				"BranchName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-branchname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"S3": &models.Property{
					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::Glue::SecurityConfiguration.EncryptionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html",
			Properties: map[string]*models.Property{
				"CloudWatchEncryption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption",
					Type:          "CloudWatchEncryption",
					UpdateType:    "Mutable",
				},
				"JobBookmarksEncryption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption",
					Type:          "JobBookmarksEncryption",
					UpdateType:    "Mutable",
				},
				"S3Encryptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions",
					Type:          "S3Encryptions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationOutput.Output": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html",
			Properties: map[string]*models.Property{
				"DestinationSchema": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisfirehoseoutput",
					Type:          "KinesisFirehoseOutput",
					UpdateType:    "Mutable",
				},
				"KinesisStreamsOutput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisstreamsoutput",
					Type:          "KinesisStreamsOutput",
					UpdateType:    "Mutable",
				},
				"LambdaOutput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-lambdaoutput",
					Type:          "LambdaOutput",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTarget.Targets": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.EncryptionOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html",
			Properties: map[string]*models.Property{
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UseAwsOwnedKey": &models.Property{
					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::ApplicationInsights::Application.AlarmMetric": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarmmetric.html",
			Properties: map[string]*models.Property{
				"AlarmMetricName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarmmetric.html#cfn-applicationinsights-application-alarmmetric-alarmmetricname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.DeviceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html",
			Properties: map[string]*models.Property{
				"ChallengeRequiredOnNewDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-challengerequiredonnewdevice",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DeviceOnlyRememberedOnUserPrompt": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-deviceonlyrememberedonuserprompt",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.ScalingTrigger": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingtrigger.html",
			Properties: map[string]*models.Property{
				"CloudWatchAlarmDefinition": &models.Property{
					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::LakeFormation::Permissions.DataLakePrincipal": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html",
			Properties: map[string]*models.Property{
				"DataLakePrincipalIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html#cfn-lakeformation-permissions-datalakeprincipal-datalakeprincipalidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualService.VirtualServiceProvider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html",
			Properties: map[string]*models.Property{
				"VirtualNode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html#cfn-appmesh-virtualservice-virtualserviceprovider-virtualnode",
					Type:          "VirtualNodeServiceProvider",
					UpdateType:    "Mutable",
				},
				"VirtualRouter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html#cfn-appmesh-virtualservice-virtualserviceprovider-virtualrouter",
					Type:          "VirtualRouterServiceProvider",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-cloudwatchlogsloggroup.html",
			Properties: map[string]*models.Property{
				"LogGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-cloudwatchlogsloggroup-loggrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::ImageBuilder.AccessEndpoint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html",
			Properties: map[string]*models.Property{
				"VpceId": &models.Property{
					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",
				},
				"EndpointType": &models.Property{
					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",
				},
			},
		},
		"AWS::DynamoDB::Table.PointInTimeRecoverySpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html",
			Properties: map[string]*models.Property{
				"PointInTimeRecoveryEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html#cfn-dynamodb-table-pointintimerecoveryspecification-pointintimerecoveryenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EKS::FargateProfile.Label": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-label.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-label.html#cfn-eks-fargateprofile-label-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-label.html#cfn-eks-fargateprofile-label-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.BufferingHints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html",
			Properties: map[string]*models.Property{
				"IntervalInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-intervalinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SizeInMBs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-sizeinmbs",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html",
			Properties: map[string]*models.Property{
				"AccessLog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylogging.html#cfn-appmesh-virtualgateway-virtualgatewaylogging-accesslog",
					Type:          "VirtualGatewayAccessLog",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::IdentityPool.CognitoIdentityProvider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html",
			Properties: map[string]*models.Property{
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-clientid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProviderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-providername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServerSideTokenCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-serversidetokencheck",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.TemporalFilterSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-temporalfiltersettings.html",
			Properties: map[string]*models.Property{
				"PostFilterSharpening": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-temporalfiltersettings.html#cfn-medialive-channel-temporalfiltersettings-postfiltersharpening",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Strength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-temporalfiltersettings.html#cfn-medialive-channel-temporalfiltersettings-strength",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ReplicationTime": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-status",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Time": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-time",
					Required:      true,
					Type:          "ReplicationTimeValue",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-dynatraceconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-dynatraceconnectorprofileproperties.html#cfn-appflow-connectorprofile-dynatraceconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.ActionDeclaration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html",
			Properties: map[string]*models.Property{
				"InputArtifacts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-inputartifacts",
					ItemType:      "InputArtifact",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ActionTypeId": &models.Property{
					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",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-actiondeclaration-namespace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputArtifacts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-outputartifacts",
					ItemType:      "OutputArtifact",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RunOrder": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-runorder",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-configuration",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.BlockerDeclaration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-blockers.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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",
				},
				"Name": &models.Property{
					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",
				},
			},
		},
		"AWS::ResourceGroups::Group.TagFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Method.MethodResponse": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html",
			Properties: map[string]*models.Property{
				"ResponseModels": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responsemodels",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ResponseParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responseparameters",
					PrimitiveItemType: "Boolean",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"StatusCode": &models.Property{
					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::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofileproperties.html#cfn-appflow-connectorprofile-marketoconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.OriginGroupMember": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html",
			Properties: map[string]*models.Property{
				"OriginId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html#cfn-cloudfront-distribution-origingroupmember-originid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeStarNotifications::NotificationRule.Target": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html",
			Properties: map[string]*models.Property{
				"TargetAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targetaddress",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targettype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html",
			Properties: map[string]*models.Property{
				"BlockEmail": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-blockemail",
					Type:          "NotifyEmailType",
					UpdateType:    "Mutable",
				},
				"From": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-from",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MfaEmail": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-mfaemail",
					Type:          "NotifyEmailType",
					UpdateType:    "Mutable",
				},
				"NoActionEmail": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-noactionemail",
					Type:          "NotifyEmailType",
					UpdateType:    "Mutable",
				},
				"ReplyTo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceArn": &models.Property{
					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::IoTAnalytics::Channel.RetentionPeriod": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html",
			Properties: map[string]*models.Property{
				"NumberOfDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html#cfn-iotanalytics-channel-retentionperiod-numberofdays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Unlimited": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html#cfn-iotanalytics-channel-retentionperiod-unlimited",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.InputSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html",
			Properties: map[string]*models.Property{
				"Codec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html#cfn-medialive-channel-inputspecification-codec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaximumBitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html#cfn-medialive-channel-inputspecification-maximumbitrate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Resolution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html#cfn-medialive-channel-inputspecification-resolution",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.NetworkInterface": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"Ipv6AddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Ipv6Addresses": &models.Property{
					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",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PrivateIpAddress": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"SecondaryPrivateIpAddressCount": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"PrivateIpAddresses": &models.Property{
					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",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetId": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"AssociatePublicIpAddress": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"DeleteOnTermination": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"DeviceIndex": &models.Property{
					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": &models.Property{
					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",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"NetworkInterfaceId": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Ac3Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html",
			Properties: map[string]*models.Property{
				"MetadataControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-metadatacontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-bitrate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"BitstreamMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-bitstreammode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CodingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-codingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dialnorm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-dialnorm",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DrcProfile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-drcprofile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LfeFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ac3settings.html#cfn-medialive-channel-ac3settings-lfefilter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.RuleAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html",
			Properties: map[string]*models.Property{
				"Allow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html#cfn-wafv2-webacl-ruleaction-allow",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Block": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html#cfn-wafv2-webacl-ruleaction-block",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html#cfn-wafv2-webacl-ruleaction-count",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.InforNexusSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-infornexussourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-infornexussourceproperties.html#cfn-appflow-flow-infornexussourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.EFSVolumeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html",
			Properties: map[string]*models.Property{
				"TransitEncryption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryption",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TransitEncryptionPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryptionport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"AuthorizationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-authorizationconfig",
					PrimitiveType: "Json",
					Type:          "AuthorizationConfig",
					UpdateType:    "Immutable",
				},
				"FilesystemId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-filesystemid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RootDirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-rootdirectory",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::RDS::DBCluster.ScalingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html",
			Properties: map[string]*models.Property{
				"AutoPause": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-autopause",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-maxcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MinCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-mincapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SecondsUntilAutoPause": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsuntilautopause",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html",
			Properties: map[string]*models.Property{
				"MaxCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-maxcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MinCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-mincapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.EmailConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html",
			Properties: map[string]*models.Property{
				"SourceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-sourcearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConfigurationSet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-configurationset",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmailSendingAccount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-emailsendingaccount",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"From": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-from",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplyToEmailAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html",
			Properties: map[string]*models.Property{
				"BlockedIPRangeList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-blockediprangelist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SkippedIPRangeList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-skippediprangelist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-destinationschema.html",
			Properties: map[string]*models.Property{
				"RecordFormatType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-destinationschema.html#cfn-kinesisanalytics-applicationoutput-destinationschema-recordformattype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.ElasticsearchSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html",
			Properties: map[string]*models.Property{
				"ServiceAccessRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-serviceaccessrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndpointUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-endpointuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ErrorRetryDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-errorretryduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FullLoadErrorPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-fullloaderrorpercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.LogConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html",
			Properties: map[string]*models.Property{
				"LogDriver": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-options",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"SecretOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-logconfiguration-secretoptions",
					ItemType:      "Secret",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Table.TableInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Owner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TableType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ViewExpandedText": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PartitionKeys": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys",
					ItemType:      "Column",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Retention": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StorageDescriptor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-storagedescriptor",
					Type:          "StorageDescriptor",
					UpdateType:    "Mutable",
				},
				"ViewOriginalText": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.HttpAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html",
			Properties: map[string]*models.Property{
				"Headers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-headers",
					ItemType:      "HttpActionHeader",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-url",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Auth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-auth",
					Type:          "HttpAuthorization",
					UpdateType:    "Mutable",
				},
				"ConfirmationUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-confirmationurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.VersioningConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					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::ServiceDiscovery::Service.HealthCheckConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html",
			Properties: map[string]*models.Property{
				"FailureThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html#cfn-servicediscovery-service-healthcheckconfig-failurethreshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ResourcePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html#cfn-servicediscovery-service-healthcheckconfig-resourcepath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::WAFv2::WebACL.DefaultAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html",
			Properties: map[string]*models.Property{
				"Allow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html#cfn-wafv2-webacl-defaultaction-allow",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Block": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html#cfn-wafv2-webacl-defaultaction-block",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.DnsServiceDiscovery": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html",
			Properties: map[string]*models.Property{
				"Hostname": &models.Property{
					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::Glue::SecurityConfiguration.S3Encryptions": &models.PropertyType{
			Property: models.Property{
				ItemType:   "S3Encryption",
				Type:       "List",
				UpdateType: "Mutable",
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryptions.html",
		},
		"AWS::IoTAnalytics::Channel.ChannelStorage": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-channelstorage.html",
			Properties: map[string]*models.Property{
				"CustomerManagedS3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-channelstorage.html#cfn-iotanalytics-channel-channelstorage-customermanageds3",
					Type:          "CustomerManagedS3",
					UpdateType:    "Mutable",
				},
				"ServiceManagedS3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-channelstorage.html#cfn-iotanalytics-channel-channelstorage-servicemanageds3",
					Type:          "ServiceManagedS3",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Function.Code": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html",
			Properties: map[string]*models.Property{
				"S3Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3ObjectVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ZipFile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.ConfigurationInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					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:    "Mutable",
				},
				"Revision": &models.Property{
					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:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.H265ColorSpaceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265colorspacesettings.html",
			Properties: map[string]*models.Property{
				"ColorSpacePassthroughSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265colorspacesettings.html#cfn-medialive-channel-h265colorspacesettings-colorspacepassthroughsettings",
					Type:          "ColorSpacePassthroughSettings",
					UpdateType:    "Mutable",
				},
				"Hdr10Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265colorspacesettings.html#cfn-medialive-channel-h265colorspacesettings-hdr10settings",
					Type:          "Hdr10Settings",
					UpdateType:    "Mutable",
				},
				"Rec601Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265colorspacesettings.html#cfn-medialive-channel-h265colorspacesettings-rec601settings",
					Type:          "Rec601Settings",
					UpdateType:    "Mutable",
				},
				"Rec709Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265colorspacesettings.html#cfn-medialive-channel-h265colorspacesettings-rec709settings",
					Type:          "Rec709Settings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.ResourcePolicyStatement": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html",
			Properties: map[string]*models.Property{
				"IpRangeWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-iprangewhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"SourceVpcBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-sourcevpcblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"SourceVpcWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-sourcevpcwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AwsAccountWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-awsaccountwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpcBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-intrinsicvpcblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpcWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-intrinsicvpcwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpceWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-intrinsicvpcewhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IpRangeBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-iprangeblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AwsAccountBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-awsaccountblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CustomStatements": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-customstatements",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpceBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-resourcepolicystatement.html#sam-api-resourcepolicystatement-intrinsicvpceblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.InputSchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html",
			Properties: map[string]*models.Property{
				"RecordEncoding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html#cfn-kinesisanalyticsv2-application-inputschema-recordencoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RecordFormat": &models.Property{
					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",
				},
				"RecordColumns": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.NetworkInputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-networkinputsettings.html",
			Properties: map[string]*models.Property{
				"HlsInputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-networkinputsettings.html#cfn-medialive-channel-networkinputsettings-hlsinputsettings",
					Type:          "HlsInputSettings",
					UpdateType:    "Mutable",
				},
				"ServerValidation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-networkinputsettings.html#cfn-medialive-channel-networkinputsettings-servervalidation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.ContainerDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html",
			Properties: map[string]*models.Property{
				"LinuxParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-linuxparameters",
					Type:          "LinuxParameters",
					UpdateType:    "Immutable",
				},
				"PortMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-portmappings",
					ItemType:      "PortMapping",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"PseudoTerminal": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-pseudoterminal",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"StartTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-starttimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SystemControls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-systemcontrols",
					ItemType:      "SystemControl",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"DnsServers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dnsservers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"EntryPoint": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-entrypoint",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Image": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-image",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RepositoryCredentials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-repositorycredentials",
					Type:          "RepositoryCredentials",
					UpdateType:    "Immutable",
				},
				"DependsOn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dependson",
					ItemType:      "ContainerDependency",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-environment",
					ItemType:      "KeyValuePair",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"FirelensConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-firelensconfiguration",
					Type:          "FirelensConfiguration",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"WorkingDirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-workingdirectory",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DisableNetworking": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-disablenetworking",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Essential": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-essential",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ExtraHosts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-extrahosts",
					ItemType:      "HostEntry",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"LogConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration",
					Type:          "LogConfiguration",
					UpdateType:    "Immutable",
				},
				"HealthCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-healthcheck",
					Type:          "HealthCheck",
					UpdateType:    "Immutable",
				},
				"MemoryReservation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-memoryreservation",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"MountPoints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints",
					ItemType:      "MountPoint",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ResourceRequirements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-resourcerequirements",
					ItemType:      "ResourceRequirement",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Secrets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-secrets",
					ItemType:      "Secret",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Cpu": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-cpu",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"DockerSecurityOptions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dockersecurityoptions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Hostname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-hostname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Memory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-memory",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"StopTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-stoptimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"VolumesFrom": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom",
					ItemType:      "VolumeFrom",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Command": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-command",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Links": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-links",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Privileged": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-privileged",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ReadonlyRootFilesystem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-readonlyrootfilesystem",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Ulimits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-ulimits",
					ItemType:      "Ulimit",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"DnsSearchDomains": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dnssearchdomains",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"DockerLabels": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dockerlabels",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"EnvironmentFiles": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-environmentfiles",
					ItemType:      "EnvironmentFile",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Interactive": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-interactive",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"User": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-user",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedconfiguration.html",
			Properties: map[string]*models.Property{
				"IncludeFilterTypes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedconfiguration.html#cfn-kendra-datasource-salesforcechatterfeedconfiguration-includefiltertypes",
					Type:          "SalesforceChatterFeedIncludeFilterTypes",
					UpdateType:    "Mutable",
				},
				"DocumentDataFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedconfiguration.html#cfn-kendra-datasource-salesforcechatterfeedconfiguration-documentdatafieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedconfiguration.html#cfn-kendra-datasource-salesforcechatterfeedconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedconfiguration.html#cfn-kendra-datasource-salesforcechatterfeedconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::ConfigurationRecorder.RecordingGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html",
			Properties: map[string]*models.Property{
				"AllSupported": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-allsupported",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeGlobalResourceTypes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-includeglobalresourcetypes",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ResourceTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-resourcetypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler.S3Target": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Exclusions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-exclusions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.TagFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::CloudFront::RealtimeLogConfig.EndPoint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html",
			Properties: map[string]*models.Property{
				"KinesisStreamConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html#cfn-cloudfront-realtimelogconfig-endpoint-kinesisstreamconfig",
					Required:      true,
					Type:          "KinesisStreamConfig",
					UpdateType:    "Mutable",
				},
				"StreamType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html#cfn-cloudfront-realtimelogconfig-endpoint-streamtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.HostEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html",
			Properties: map[string]*models.Property{
				"Hostname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html#cfn-ecs-taskdefinition-containerdefinition-hostentry-hostname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html#cfn-ecs-taskdefinition-containerdefinition-hostentry-ipaddress",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinition.ResourceDataContainer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html",
			Properties: map[string]*models.Property{
				"LocalDeviceResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localdeviceresourcedata",
					Type:          "LocalDeviceResourceData",
					UpdateType:    "Immutable",
				},
				"LocalVolumeResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localvolumeresourcedata",
					Type:          "LocalVolumeResourceData",
					UpdateType:    "Immutable",
				},
				"S3MachineLearningModelResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-s3machinelearningmodelresourcedata",
					Type:          "S3MachineLearningModelResourceData",
					UpdateType:    "Immutable",
				},
				"SageMakerMachineLearningModelResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-sagemakermachinelearningmodelresourcedata",
					Type:          "SageMakerMachineLearningModelResourceData",
					UpdateType:    "Immutable",
				},
				"SecretsManagerSecretResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-secretsmanagersecretresourcedata",
					Type:          "SecretsManagerSecretResourceData",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceKnowledgeArticleStateList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceknowledgearticlestatelist.html",
			Properties: map[string]*models.Property{
				"SalesforceKnowledgeArticleStateList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceknowledgearticlestatelist.html#cfn-kendra-datasource-salesforceknowledgearticlestatelist-salesforceknowledgearticlestatelist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.SqliMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html",
			Properties: map[string]*models.Property{
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.ProjectFileSystemLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html",
			Properties: map[string]*models.Property{
				"MountOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html#cfn-codebuild-project-projectfilesystemlocation-mountoptions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MountPoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html#cfn-codebuild-project-projectfilesystemlocation-mountpoint",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html#cfn-codebuild-project-projectfilesystemlocation-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Identifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html#cfn-codebuild-project-projectfilesystemlocation-identifier",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html#cfn-codebuild-project-projectfilesystemlocation-location",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.ClusterConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html",
			Properties: map[string]*models.Property{
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VolumeKmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-volumekmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VolumeSizeInGB": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-volumesizeingb",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"InstanceCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-clusterconfig.html#cfn-sagemaker-monitoringschedule-clusterconfig-instancecount",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeCommit::Repository.S3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html",
			Properties: map[string]*models.Property{
				"InstanceType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-weightedcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"BidPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-bidprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BidPriceAsPercentageOfOnDemandPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-bidpriceaspercentageofondemandprice",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"EbsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-ebsconfiguration",
					Type:          "EbsConfiguration",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Events::Rule.HttpParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html",
			Properties: map[string]*models.Property{
				"HeaderParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-headerparameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"PathParameterValues": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-pathparametervalues",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"QueryStringParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-querystringparameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.CaptionDescription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondescription.html",
			Properties: map[string]*models.Property{
				"CaptionSelectorName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondescription.html#cfn-medialive-channel-captiondescription-captionselectorname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondescription.html#cfn-medialive-channel-captiondescription-destinationsettings",
					Type:          "CaptionDestinationSettings",
					UpdateType:    "Mutable",
				},
				"LanguageCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondescription.html#cfn-medialive-channel-captiondescription-languagecode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LanguageDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondescription.html#cfn-medialive-channel-captiondescription-languagedescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondescription.html#cfn-medialive-channel-captiondescription-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html",
			Properties: map[string]*models.Property{
				"OnPremisesTagSetList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html#cfn-codedeploy-deploymentgroup-onpremisestagset-onpremisestagsetlist",
					ItemType:      "OnPremisesTagSetListObject",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::Endpoint.VariantProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html",
			Properties: map[string]*models.Property{
				"VariantPropertyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html#cfn-sagemaker-endpoint-variantproperty-variantpropertytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html",
			Properties: map[string]*models.Property{
				"CertificateChain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-certificatechain",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsfilecertificate-privatekey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::Stack.ApplicationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-settingsgroup",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.DeltaTime": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatime.html",
			Properties: map[string]*models.Property{
				"OffsetSeconds": &models.Property{
					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": &models.Property{
					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::StepFunctions::StateMachine.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-arn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.HttpRouteHeader": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html",
			Properties: map[string]*models.Property{
				"Invert": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-invert",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Match": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-match",
					Type:          "HeaderMatchMethod",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::Backup::BackupVault.NotificationObjectType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupvault-notificationobjecttype.html",
			Properties: map[string]*models.Property{
				"BackupVaultEvents": &models.Property{
					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": &models.Property{
					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::Glue::MLTransform.FindMatchesParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html",
			Properties: map[string]*models.Property{
				"PrecisionRecallTradeoff": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-precisionrecalltradeoff",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"PrimaryKeyColumnName": &models.Property{
					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",
				},
				"AccuracyCostTradeoff": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-accuracycosttradeoff",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"EnforceProvidedLabels": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-enforceprovidedlabels",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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": &models.Property{
					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::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-trendmicroconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ApiSecretKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-trendmicroconnectorprofilecredentials.html#cfn-appflow-connectorprofile-trendmicroconnectorprofilecredentials-apisecretkey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.HttpRoute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-retrypolicy",
					Type:          "HttpRetryPolicy",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-timeout",
					Type:          "HttpTimeout",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.DvbTdtSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbtdtsettings.html",
			Properties: map[string]*models.Property{
				"RepInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbtdtsettings.html#cfn-medialive-channel-dvbtdtsettings-repinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SecretsManager::RotationSchedule.HostedRotationLambda": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html",
			Properties: map[string]*models.Property{
				"RotationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-vpcsecuritygroupids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VpcSubnetIds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-vpcsubnetids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MasterSecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-mastersecretarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MasterSecretKmsKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-mastersecretkmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RotationLambdaName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationlambdaname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.GitHubLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html",
			Properties: map[string]*models.Property{
				"CommitId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-githublocation-repository",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Webhook.WebhookFilterRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookfilterrule.html",
			Properties: map[string]*models.Property{
				"JsonPath": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookfilterrule.html#cfn-codepipeline-webhook-webhookfilterrule-matchequals",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-eventfilter",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceFleetConfig.VolumeSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html",
			Properties: map[string]*models.Property{
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html#cfn-elasticmapreduce-instancefleetconfig-volumespecification-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SizeInGB": &models.Property{
					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": &models.Property{
					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::IoTAnalytics::Pipeline.RemoveAttributes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html",
			Properties: map[string]*models.Property{
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html#cfn-iotanalytics-pipeline-removeattributes-attributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html#cfn-iotanalytics-pipeline-removeattributes-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html#cfn-iotanalytics-pipeline-removeattributes-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::App.SslConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html",
			Properties: map[string]*models.Property{
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html#cfn-opsworks-app-sslconfig-privatekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html#cfn-opsworks-app-sslconfig-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Chain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html#cfn-opsworks-app-sslconfig-chain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EKS::Nodegroup.ScalingConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html",
			Properties: map[string]*models.Property{
				"MaxSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-maxsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MinSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-minsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"DesiredSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-desiredsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgrouptuple.html",
			Properties: map[string]*models.Property{
				"TargetGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgrouptuple.html#cfn-elasticloadbalancingv2-listener-targetgrouptuple-targetgrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgrouptuple.html#cfn-elasticloadbalancingv2-listener-targetgrouptuple-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Instance.TimeBasedAutoScaling": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html",
			Properties: map[string]*models.Property{
				"Friday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-friday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Monday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-monday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Saturday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-saturday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Sunday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-sunday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Thursday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-thursday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Tuesday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-tuesday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Wednesday": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-wednesday",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AccessAnalyzer::Analyzer.Filter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html",
			Properties: map[string]*models.Property{
				"Contains": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-contains",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Eq": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-eq",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Exists": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-exists",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Neq": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-neq",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Property": &models.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::Batch::JobDefinition.Timeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html",
			Properties: map[string]*models.Property{
				"AttemptDurationSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html#cfn-batch-jobdefinition-timeout-attemptdurationseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.StorageInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html",
			Properties: map[string]*models.Property{
				"EBSStorageInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html#cfn-msk-cluster-storageinfo-ebsstorageinfo",
					Type:          "EBSStorageInfo",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html",
			Properties: map[string]*models.Property{
				"ReplicaCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-replicacount",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Slots": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-slots",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NodeGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-nodegroupid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PrimaryAvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-primaryavailabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ReplicaAvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-replicaavailabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::Transfer::User.HomeDirectoryMapEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html",
			Properties: map[string]*models.Property{
				"Entry": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html#cfn-transfer-user-homedirectorymapentry-entry",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Target": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html#cfn-transfer-user-homedirectorymapentry-target",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.AlexaSkill": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-alexaskill.html",
			Properties: map[string]*models.Property{
				"SkillId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-alexaskill.html#sam-function-alexaskill-skillid",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::ECS::TaskDefinition.SystemControl": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html",
			Properties: map[string]*models.Property{
				"Namespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-namespace",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-value",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Job.JobCommand": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html",
			Properties: map[string]*models.Property{
				"ScriptLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-scriptlocation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PythonVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-pythonversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Webhook.WebhookAuthConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html",
			Properties: map[string]*models.Property{
				"AllowedIPRange": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html#cfn-codepipeline-webhook-webhookauthconfiguration-allowediprange",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecretToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html#cfn-codepipeline-webhook-webhookauthconfiguration-secrettoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::IPSet.IPSetDescriptor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-ipset-ipsetdescriptors.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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": &models.Property{
					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::S3::Bucket.ObjectLockRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html",
			Properties: map[string]*models.Property{
				"DefaultRetention": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html#cfn-s3-bucket-objectlockrule-defaultretention",
					Type:          "DefaultRetention",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.SpotOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html",
			Properties: map[string]*models.Property{
				"BlockDurationMinutes": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"InstanceInterruptionBehavior": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"MaxPrice": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"SpotInstanceType": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"ValidUntil": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSet.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-tags.html#cfn-pinpointemail-configurationset-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-tags.html#cfn-pinpointemail-configurationset-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.S3ContentLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html",
			Properties: map[string]*models.Property{
				"ObjectVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html#cfn-kinesisanalyticsv2-application-s3contentlocation-objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html#cfn-kinesisanalyticsv2-application-s3contentlocation-bucketarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FileKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html#cfn-kinesisanalyticsv2-application-s3contentlocation-filekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Amplify::App.BasicAuthConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html",
			Properties: map[string]*models.Property{
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableBasicAuth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-enablebasicauth",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-password",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskSet.NetworkConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-networkconfiguration.html",
			Properties: map[string]*models.Property{
				"AwsVpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-networkconfiguration.html#cfn-ecs-taskset-networkconfiguration-awsvpcconfiguration",
					Type:          "AwsVpcConfiguration",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.DynamoDB": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html",
			Properties: map[string]*models.Property{
				"PayloadField": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payloadfield",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RangeKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RangeKeyValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-tablename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Operation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-operation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
				"HashKeyValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RangeKeyField": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyfield",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HashKeyField": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyfield",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HashKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotthingsgraph-flowtemplate-definitiondocument.html",
			Properties: map[string]*models.Property{
				"Language": &models.Property{
					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": &models.Property{
					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::LakeFormation::DataLakeSettings.Admins": &models.PropertyType{
			Property: models.Property{
				ItemType:   "DataLakePrincipal",
				Type:       "List",
				UpdateType: "Mutable",
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-admins.html",
		},
		"AWS::CodeGuruProfiler::ProfilingGroup.Channel": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html",
			Properties: map[string]*models.Property{
				"channelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html#cfn-codeguruprofiler-profilinggroup-channel-channelid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"channelUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeguruprofiler-profilinggroup-channel.html#cfn-codeguruprofiler-profilinggroup-channel-channeluri",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html",
			Properties: map[string]*models.Property{
				"SessionCookieName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessioncookiename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SessionTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessiontimeout",
					PrimitiveType: "Long",
					UpdateType:    "Mutable",
				},
				"UserPoolArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"AuthenticationRequestExtraParams": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-authenticationrequestextraparams",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"OnUnauthenticatedRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-onunauthenticatedrequest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-scope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::SecurityConfiguration.S3Encryption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html",
			Properties: map[string]*models.Property{
				"KmsKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html#cfn-glue-securityconfiguration-s3encryption-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3EncryptionMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html#cfn-glue-securityconfiguration-s3encryption-s3encryptionmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ReplicationRuleFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html",
			Properties: map[string]*models.Property{
				"And": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-and",
					Type:          "ReplicationRuleAndOperator",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-tagfilter",
					Type:          "TagFilter",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.ResourceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-resourceconfiguration.html",
			Properties: map[string]*models.Property{
				"VolumeSizeInGB": &models.Property{
					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",
				},
				"ComputeType": &models.Property{
					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",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.OutputArtifact": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-outputartifacts.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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::EKS::Nodegroup.RemoteAccess": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html",
			Properties: map[string]*models.Property{
				"Ec2SshKey": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-sourcesecuritygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html",
			Properties: map[string]*models.Property{
				"ARN": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-additionalstaginglabelstodownload",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.TlsValidationContextTrust": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html",
			Properties: map[string]*models.Property{
				"ACM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-acm",
					Type:          "TlsValidationContextAcmTrust",
					UpdateType:    "Mutable",
				},
				"File": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-file",
					Type:          "TlsValidationContextFileTrust",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualRouter.VirtualRouterSpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterspec.html",
			Properties: map[string]*models.Property{
				"Listeners": &models.Property{
					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::CloudFormation::StackSet.StackInstances": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html",
			Properties: map[string]*models.Property{
				"DeploymentTargets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-deploymenttargets",
					Required:      true,
					Type:          "DeploymentTargets",
					UpdateType:    "Mutable",
				},
				"ParameterOverrides": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-parameteroverrides",
					ItemType:      "Parameter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Regions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-regions",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::IoT::Authorizer.TokenSigningPublicKeys": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-authorizer-tokensigningpublickeys.html",
		},
		"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html",
			Properties: map[string]*models.Property{
				"SqlType": &models.Property{
					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",
				},
				"Mapping": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-mapping",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.MsSmoothOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothoutputsettings.html",
			Properties: map[string]*models.Property{
				"H265PackagingType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothoutputsettings.html#cfn-medialive-channel-mssmoothoutputsettings-h265packagingtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NameModifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothoutputsettings.html#cfn-medialive-channel-mssmoothoutputsettings-namemodifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::PatchBaseline.PatchStringDate": &models.PropertyType{
			Property: models.Property{
				PrimitiveType: "String",
			},
		},
		"AWS::Serverless::Function.FunctionCode": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-functioncode.html",
			Properties: map[string]*models.Property{
				"Version": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-functioncode.html#sam-function-functioncode-version",
					PrimitiveType: "String",
				},
				"Bucket": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-functioncode.html#sam-function-functioncode-bucket",
					PrimitiveType: "String",
					Required:      true,
				},
				"Key": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-functioncode.html#sam-function-functioncode-key",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::ApiGateway::Deployment.DeploymentCanarySettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html",
			Properties: map[string]*models.Property{
				"StageVariableOverrides": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-stagevariableoverrides",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"UseStageCache": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-usestagecache",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"PercentTraffic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-percenttraffic",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html",
			Properties: map[string]*models.Property{
				"VirtualServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutevirtualservice.html#cfn-appmesh-gatewayroute-gatewayroutevirtualservice-virtualservicename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html",
			Properties: map[string]*models.Property{
				"CertificateAuthorityArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextacmtrust-certificateauthorityarns",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.StatusCodes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html",
			Properties: map[string]*models.Property{
				"Items": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-items",
					PrimitiveItemType: "Integer",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Quantity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-quantity",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EFS::AccessPoint.RootDirectory": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html",
			Properties: map[string]*models.Property{
				"CreationInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html#cfn-efs-accesspoint-rootdirectory-creationinfo",
					Type:          "CreationInfo",
					UpdateType:    "Immutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html#cfn-efs-accesspoint-rootdirectory-path",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-jsonmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordRowPath": &models.Property{
					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::KinesisFirehose::DeliveryStream.Serializer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html",
			Properties: map[string]*models.Property{
				"OrcSerDe": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html#cfn-kinesisfirehose-deliverystream-serializer-orcserde",
					Type:          "OrcSerDe",
					UpdateType:    "Mutable",
				},
				"ParquetSerDe": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html#cfn-kinesisfirehose-deliverystream-serializer-parquetserde",
					Type:          "ParquetSerDe",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.ResetTimer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html",
			Properties: map[string]*models.Property{
				"TimerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html#cfn-iotevents-detectormodel-resettimer-timername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.StatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html",
			Properties: map[string]*models.Property{
				"RateBasedStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-ratebasedstatement",
					Type:          "RateBasedStatementTwo",
					UpdateType:    "Mutable",
				},
				"SizeConstraintStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-sizeconstraintstatement",
					Type:          "SizeConstraintStatement",
					UpdateType:    "Mutable",
				},
				"XssMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-xssmatchstatement",
					Type:          "XssMatchStatement",
					UpdateType:    "Mutable",
				},
				"AndStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-andstatement",
					Type:          "AndStatementTwo",
					UpdateType:    "Mutable",
				},
				"ByteMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-bytematchstatement",
					Type:          "ByteMatchStatement",
					UpdateType:    "Mutable",
				},
				"GeoMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-geomatchstatement",
					Type:          "GeoMatchStatement",
					UpdateType:    "Mutable",
				},
				"NotStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-notstatement",
					Type:          "NotStatementTwo",
					UpdateType:    "Mutable",
				},
				"IPSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-ipsetreferencestatement",
					Type:          "IPSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"OrStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-orstatement",
					Type:          "OrStatementTwo",
					UpdateType:    "Mutable",
				},
				"RegexPatternSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-regexpatternsetreferencestatement",
					Type:          "RegexPatternSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"SqliMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-sqlimatchstatement",
					Type:          "SqliMatchStatement",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html",
			Properties: map[string]*models.Property{
				"CrlConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html#cfn-acmpca-certificateauthority-revocationconfiguration-crlconfiguration",
					Type:          "CrlConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.ELBInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-elbinfo.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-elbinfo.html#cfn-codedeploy-deploymentgroup-elbinfo-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::NetworkManager::Link.Bandwidth": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html",
			Properties: map[string]*models.Property{
				"DownloadSpeed": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-downloadspeed",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"UploadSpeed": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-uploadspeed",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::XssMatchSet.XssMatchTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					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": &models.Property{
					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::ApiGatewayV2::Authorizer.JWTConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html",
			Properties: map[string]*models.Property{
				"Audience": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-audience",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Issuer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-issuer",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-launchtemplateid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-version",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.ScalingAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html",
			Properties: map[string]*models.Property{
				"Market": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html#cfn-elasticmapreduce-instancegroupconfig-scalingaction-market",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SimpleScalingPolicyConfiguration": &models.Property{
					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::Athena::DataCatalog.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-datacatalog-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-datacatalog-tags.html#cfn-athena-datacatalog-tags-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html",
			Properties: map[string]*models.Property{
				"HtmlBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-htmlbody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Subject": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-textbody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EventSchemas::Schema.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::ManagedBlockchain::Member.NetworkFrameworkConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html",
			Properties: map[string]*models.Property{
				"NetworkFabricConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html#cfn-managedblockchain-member-networkframeworkconfiguration-networkfabricconfiguration",
					Type:          "NetworkFabricConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Stage.RouteSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html",
			Properties: map[string]*models.Property{
				"DataTraceEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-datatraceenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DetailedMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-detailedmetricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LoggingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-logginglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThrottlingBurstLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingburstlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ThrottlingRateLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingratelimit",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.VolumesHost": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html",
			Properties: map[string]*models.Property{
				"SourcePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html#cfn-batch-jobdefinition-volumeshost-sourcepath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.S3Path": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3path.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3path.html#cfn-kendra-datasource-s3path-bucket",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3path.html#cfn-kendra-datasource-s3path-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.ScalingRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html#cfn-elasticmapreduce-cluster-scalingrule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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::SES::ReceiptRule.BounceAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html",
			Properties: map[string]*models.Property{
				"Message": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-statuscode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-topicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html",
			Properties: map[string]*models.Property{
				"DeploymentOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html#cfn-codedeploy-deploymentgroup-deploymentstyle-deploymentoption",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeploymentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html#cfn-codedeploy-deploymentgroup-deploymentstyle-deploymenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.LicenseSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-licensespecification.html",
			Properties: map[string]*models.Property{
				"LicenseConfigurationArn": &models.Property{
					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::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html",
			Properties: map[string]*models.Property{
				"GroupOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinition-resourcedownloadownersetting-groupowner",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"GroupPermission": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinition-resourcedownloadownersetting-grouppermission",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Channel.InputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html",
			Properties: map[string]*models.Property{
				"DenoiseFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-denoisefilter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FilterStrength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-filterstrength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InputFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-inputfilter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkInputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-networkinputsettings",
					Type:          "NetworkInputSettings",
					UpdateType:    "Mutable",
				},
				"Smpte2038DataPreference": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-smpte2038datapreference",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceEndBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-sourceendbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VideoSelector": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-videoselector",
					Type:          "VideoSelector",
					UpdateType:    "Mutable",
				},
				"AudioSelectors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-audioselectors",
					ItemType:      "AudioSelector",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CaptionSelectors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-captionselectors",
					ItemType:      "CaptionSelector",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DeblockFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-deblockfilter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.CampaignSmsMessage": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html",
			Properties: map[string]*models.Property{
				"SenderId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-senderid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-body",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MessageType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-messagetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::HttpApi.HttpApiCorsConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html",
			Properties: map[string]*models.Property{
				"AllowMethods": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html#sam-httpapi-httpapicorsconfiguration-allowmethods",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AllowOrigins": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html#sam-httpapi-httpapicorsconfiguration-alloworigins",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"ExposeHeaders": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html#sam-httpapi-httpapicorsconfiguration-exposeheaders",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"MaxAge": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html#sam-httpapi-httpapicorsconfiguration-maxage",
					PrimitiveType: "Integer",
				},
				"AllowCredentials": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html#sam-httpapi-httpapicorsconfiguration-allowcredentials",
					PrimitiveType: "Boolean",
				},
				"AllowHeaders": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapicorsconfiguration.html#sam-httpapi-httpapicorsconfiguration-allowheaders",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::AutoScaling::ScalingPolicy.MetricDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::CloudFront::Distribution.OriginGroups": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html",
			Properties: map[string]*models.Property{
				"Quantity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-quantity",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Items": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-items",
					ItemType:      "OriginGroup",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.KafkaSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html",
			Properties: map[string]*models.Property{
				"Topic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-topic",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Broker": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-broker",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.NeptuneSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html",
			Properties: map[string]*models.Property{
				"S3BucketFolder": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-s3bucketfolder",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-s3bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServiceAccessRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-serviceaccessrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ErrorRetryDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-errorretryduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"IamAuthEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-iamauthenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxFileSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-maxfilesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaxRetryCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-neptunesettings.html#cfn-dms-endpoint-neptunesettings-maxretrycount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html#cfn-elasticbeanstalk-configurationtemplate-configurationoptionsetting-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Namespace": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html#cfn-elasticbeanstalk-configurationtemplate-configurationoptionsetting-resourcename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler.DynamoDBTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceDiscovery::Service.DnsRecord": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html",
			Properties: map[string]*models.Property{
				"TTL": &models.Property{
					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": &models.Property{
					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::S3::Bucket.SseKmsEncryptedObjects": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					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::EC2::LaunchTemplate.TagSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html",
			Properties: map[string]*models.Property{
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-resourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.Secret": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-secret.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Kendra::DataSource.SalesforceStandardObjectConfigurationList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfigurationlist.html",
			Properties: map[string]*models.Property{
				"SalesforceStandardObjectConfigurationList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfigurationlist.html#cfn-kendra-datasource-salesforcestandardobjectconfigurationlist-salesforcestandardobjectconfigurationlist",
					ItemType:      "SalesforceStandardObjectConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppConfig::Application.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-application-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-application-tags.html#cfn-appconfig-application-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-application-tags.html#cfn-appconfig-application-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html",
			Properties: map[string]*models.Property{
				"WorkmailAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-workmailaction",
					Type:          "WorkmailAction",
					UpdateType:    "Mutable",
				},
				"AddHeaderAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-addheaderaction",
					Type:          "AddHeaderAction",
					UpdateType:    "Mutable",
				},
				"BounceAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-bounceaction",
					Type:          "BounceAction",
					UpdateType:    "Mutable",
				},
				"LambdaAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-lambdaaction",
					Type:          "LambdaAction",
					UpdateType:    "Mutable",
				},
				"S3Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-s3action",
					Type:          "S3Action",
					UpdateType:    "Mutable",
				},
				"SNSAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-snsaction",
					Type:          "SNSAction",
					UpdateType:    "Mutable",
				},
				"StopAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-stopaction",
					Type:          "StopAction",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.OverrideAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html",
			Properties: map[string]*models.Property{
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html#cfn-wafv2-webacl-overrideaction-count",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"None": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html#cfn-wafv2-webacl-overrideaction-none",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofileproperties.html#cfn-appflow-connectorprofile-zendeskconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.ArtifactStoreMap": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html",
			Properties: map[string]*models.Property{
				"ArtifactStore": &models.Property{
					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": &models.Property{
					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::EFS::FileSystem.LifecyclePolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html",
			Properties: map[string]*models.Property{
				"TransitionToIA": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoia",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.InputTransformer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html",
			Properties: map[string]*models.Property{
				"InputPathsMap": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputpathsmap",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"InputTemplate": &models.Property{
					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::IoT::TopicRule.IotAnalyticsAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html",
			Properties: map[string]*models.Property{
				"ChannelName": &models.Property{
					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": &models.Property{
					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::KinesisFirehose::DeliveryStream.EncryptionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html",
			Properties: map[string]*models.Property{
				"KMSEncryptionConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html#cfn-kinesisfirehose-deliverystream-encryptionconfiguration-kmsencryptionconfig",
					Type:          "KMSEncryptionConfig",
					UpdateType:    "Mutable",
				},
				"NoEncryptionConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html#cfn-kinesisfirehose-deliverystream-encryptionconfiguration-noencryptionconfig",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::ApplicationSettings.CampaignHook": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html",
			Properties: map[string]*models.Property{
				"LambdaFunctionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-lambdafunctionname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-mode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WebUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-weburl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnEndpoint.TagSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html",
			Properties: map[string]*models.Property{
				"ResourceType": &models.Property{
					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": &models.Property{
					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::Glue::SecurityConfiguration.CloudWatchEncryption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html",
			Properties: map[string]*models.Property{
				"CloudWatchEncryptionMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.Payload": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html",
			Properties: map[string]*models.Property{
				"ContentExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-contentexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Hdr10Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hdr10settings.html",
			Properties: map[string]*models.Property{
				"MaxCll": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hdr10settings.html#cfn-medialive-channel-hdr10settings-maxcll",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaxFall": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hdr10settings.html#cfn-medialive-channel-hdr10settings-maxfall",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html",
			Properties: map[string]*models.Property{
				"DestinationPath": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-groupownersetting",
					Type:          "GroupOwnerSetting",
					UpdateType:    "Immutable",
				},
				"SourcePath": &models.Property{
					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::Elasticsearch::Domain.AdvancedSecurityOptionsInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html#cfn-elasticsearch-domain-advancedsecurityoptionsinput-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"InternalUserDatabaseEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html#cfn-elasticsearch-domain-advancedsecurityoptionsinput-internaluserdatabaseenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MasterUserOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-advancedsecurityoptionsinput.html#cfn-elasticsearch-domain-advancedsecurityoptionsinput-masteruseroptions",
					Type:          "MasterUserOptions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.Filter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-filter.html",
			Properties: map[string]*models.Property{
				"DeltaTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-filter.html#cfn-iotanalytics-dataset-filter-deltatime",
					Type:          "DeltaTime",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html",
			Properties: map[string]*models.Property{
				"ACM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-acm",
					Type:          "VirtualGatewayTlsValidationContextAcmTrust",
					UpdateType:    "Mutable",
				},
				"File": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontexttrust-file",
					Type:          "VirtualGatewayTlsValidationContextFileTrust",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html",
			Properties: map[string]*models.Property{
				"AlarmMetrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html#cfn-applicationinsights-application-subcomponentconfigurationdetails-alarmmetrics",
					ItemType:      "AlarmMetric",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Logs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html#cfn-applicationinsights-application-subcomponentconfigurationdetails-logs",
					ItemType:      "Log",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"WindowsEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html#cfn-applicationinsights-application-subcomponentconfigurationdetails-windowsevents",
					ItemType:      "WindowsEvent",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EC2Fleet.SpotOptionsRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html",
			Properties: map[string]*models.Property{
				"AllocationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-allocationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceInterruptionBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instanceinterruptionbehavior",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstancePoolsToUseCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instancepoolstousecount",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"MaxTotalPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-maxtotalprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MinTargetCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-mintargetcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SingleAvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleavailabilityzone",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"SingleInstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleinstancetype",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sqlinjectionmatchset-sqlinjectionmatchtuples.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					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": &models.Property{
					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::EKS::Nodegroup.LaunchTemplateSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.SnsAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					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": &models.Property{
					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",
				},
				"MessageFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html#cfn-iot-topicrule-snsaction-messageformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Budgets::Budget.NotificationWithSubscribers": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html",
			Properties: map[string]*models.Property{
				"Notification": &models.Property{
					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": &models.Property{
					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::MediaLive::Channel.StandardHlsSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-standardhlssettings.html",
			Properties: map[string]*models.Property{
				"AudioRenditionSets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-standardhlssettings.html#cfn-medialive-channel-standardhlssettings-audiorenditionsets",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"M3u8Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-standardhlssettings.html#cfn-medialive-channel-standardhlssettings-m3u8settings",
					Type:          "M3u8Settings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaStore::Container.MetricPolicyRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html",
			Properties: map[string]*models.Property{
				"ObjectGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroup",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ObjectGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.NotificationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html",
			Properties: map[string]*models.Property{
				"LambdaConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig",
					ItemType:      "LambdaConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"QueueConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-queueconfig",
					ItemType:      "QueueConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TopicConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-topicconfig",
					ItemType:      "TopicConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameter-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameter-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html",
			Properties: map[string]*models.Property{
				"StackSetRegions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetregions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"StackSetAccounts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetaccounts",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"StackSetFailureToleranceCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetfailuretolerancecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StackSetFailureTolerancePercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetfailuretolerancepercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StackSetMaxConcurrencyCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetmaxconcurrencycount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StackSetMaxConcurrencyPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetmaxconcurrencypercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StackSetOperationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetoperationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::LayerVersion.LayerContent": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-layerversion-layercontent.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-layerversion-layercontent.html#sam-layerversion-layercontent-bucket",
					PrimitiveType: "String",
					Required:      true,
				},
				"Key": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-layerversion-layercontent.html#sam-layerversion-layercontent-key",
					PrimitiveType: "String",
					Required:      true,
				},
				"Version": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-layerversion-layercontent.html#sam-layerversion-layercontent-version",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.ClearTimer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html",
			Properties: map[string]*models.Property{
				"TimerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html#cfn-iotevents-detectormodel-cleartimer-timername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.CodeContent": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html",
			Properties: map[string]*models.Property{
				"S3ContentLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html#cfn-kinesisanalyticsv2-application-codecontent-s3contentlocation",
					Type:          "S3ContentLocation",
					UpdateType:    "Mutable",
				},
				"TextContent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html#cfn-kinesisanalyticsv2-application-codecontent-textcontent",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ZipFileContent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html#cfn-kinesisanalyticsv2-application-codecontent-zipfilecontent",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html",
			Properties: map[string]*models.Property{
				"S3BackupConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3backupconfiguration",
					Type:          "S3DestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"S3Configuration": &models.Property{
					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": &models.Property{
					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",
				},
				"CloudWatchLoggingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-cloudwatchloggingoptions",
					Type:          "CloudWatchLoggingOptions",
					UpdateType:    "Mutable",
				},
				"CopyCommand": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-processingconfiguration",
					Type:          "ProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"RetryOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-retryoptions",
					Type:          "RedshiftRetryOptions",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					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",
				},
				"S3BackupMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3backupmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClusterJDBCURL": &models.Property{
					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",
				},
			},
		},
		"AWS::Serverless::Api.LambdaRequestAuthorizer": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizer.html",
			Properties: map[string]*models.Property{
				"FunctionArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizer.html#sam-api-lambdarequestauthorizer-functionarn",
					PrimitiveType: "String",
					Required:      true,
				},
				"FunctionInvokeRole": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizer.html#sam-api-lambdarequestauthorizer-functioninvokerole",
					PrimitiveType: "String",
				},
				"FunctionPayloadType": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizer.html#sam-api-lambdarequestauthorizer-functionpayloadtype",
					PrimitiveType: "String",
				},
				"Identity": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizer.html#sam-api-lambdarequestauthorizer-identity",
					Type:          "LambdaRequestAuthorizationIdentity",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizer.html#sam-api-lambdarequestauthorizer-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html",
			Properties: map[string]*models.Property{
				"ContentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-contenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MessageBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-messagebody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StatusCode": &models.Property{
					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::IoTEvents::DetectorModel.OnEnter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html",
			Properties: map[string]*models.Property{
				"Events": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html#cfn-iotevents-detectormodel-onenter-events",
					ItemType:      "Event",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-hivejsonserde.html",
			Properties: map[string]*models.Property{
				"TimestampFormats": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-hivejsonserde.html#cfn-kinesisfirehose-deliverystream-hivejsonserde-timestampformats",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html",
			Properties: map[string]*models.Property{
				"ActiveDirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-activedirectory",
					Type:          "DirectoryServiceAuthenticationRequest",
					UpdateType:    "Mutable",
				},
				"FederatedAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-federatedauthentication",
					Type:          "FederatedAuthenticationRequest",
					UpdateType:    "Mutable",
				},
				"MutualAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-mutualauthentication",
					Type:          "CertificateAuthenticationRequest",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::IAM::User.LoginProfile": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html",
			Properties: map[string]*models.Property{
				"PasswordResetRequired": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html#cfn-iam-user-loginprofile-passwordresetrequired",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Password": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationOutput.Output": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DestinationSchema": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-kinesisfirehoseoutput",
					Type:          "KinesisFirehoseOutput",
					UpdateType:    "Mutable",
				},
				"KinesisStreamsOutput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-kinesisstreamsoutput",
					Type:          "KinesisStreamsOutput",
					UpdateType:    "Mutable",
				},
				"LambdaOutput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-lambdaoutput",
					Type:          "LambdaOutput",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.FrameCaptureGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecapturegroupsettings.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecapturegroupsettings.html#cfn-medialive-channel-framecapturegroupsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::EventInvokeConfig.DestinationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html",
			Properties: map[string]*models.Property{
				"OnFailure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig-onfailure",
					Type:          "OnFailure",
					UpdateType:    "Mutable",
				},
				"OnSuccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig-onsuccess",
					Type:          "OnSuccess",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofileproperties.html#cfn-appflow-connectorprofile-datadogconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::Stack.AccessEndpoint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html",
			Properties: map[string]*models.Property{
				"EndpointType": &models.Property{
					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": &models.Property{
					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::Budgets::Budget.CostTypes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html",
			Properties: map[string]*models.Property{
				"IncludeDiscount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includediscount",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeOtherSubscription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includeothersubscription",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeSubscription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includesubscription",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeUpfront": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includeupfront",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeTax": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includetax",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"UseAmortized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-useamortized",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"UseBlended": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-useblended",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeCredit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includecredit",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeRecurring": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includerecurring",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeRefund": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includerefund",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeSupport": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includesupport",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html",
			Properties: map[string]*models.Property{
				"PriceClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-priceclass",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Origin": &models.Property{
					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": &models.Property{
					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",
				},
				"Aliases": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-aliases",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Comment": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-logging",
					Type:          "Logging",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::Application.MaxAgeRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html",
			Properties: map[string]*models.Property{
				"DeleteSourceFromS3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html#cfn-elasticbeanstalk-application-maxagerule-deletesourcefroms3",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html#cfn-elasticbeanstalk-application-maxagerule-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxAgeInDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html#cfn-elasticbeanstalk-application-maxagerule-maxageindays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Alias.AliasRoutingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html",
			Properties: map[string]*models.Property{
				"AdditionalVersionWeights": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html#cfn-lambda-alias-aliasroutingconfiguration-additionalversionweights",
					ItemType:      "VersionWeight",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Fmp4HlsSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fmp4hlssettings.html",
			Properties: map[string]*models.Property{
				"TimedMetadataBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fmp4hlssettings.html#cfn-medialive-channel-fmp4hlssettings-timedmetadatabehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioRenditionSets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fmp4hlssettings.html#cfn-medialive-channel-fmp4hlssettings-audiorenditionsets",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NielsenId3Behavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fmp4hlssettings.html#cfn-medialive-channel-fmp4hlssettings-nielsenid3behavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.SigV4Authorization": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-servicename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SigningRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-signingregion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Macie::FindingsFilter.FindingsFilterListItem": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingsfilterlistitem.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingsfilterlistitem.html#cfn-macie-findingsfilter-findingsfilterlistitem-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingsfilterlistitem.html#cfn-macie-findingsfilter-findingsfilterlistitem-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routeresponse-parameterconstraints.html",
			Properties: map[string]*models.Property{
				"Required": &models.Property{
					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::AppMesh::Route.TcpTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html",
			Properties: map[string]*models.Property{
				"Idle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html#cfn-appmesh-route-tcptimeout-idle",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupPlan.BackupRuleResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html",
			Properties: map[string]*models.Property{
				"CompletionWindowMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-completionwindowminutes",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CopyActions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-copyactions",
					ItemType:      "CopyActionResourceType",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Lifecycle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-lifecycle",
					Type:          "LifecycleResourceType",
					UpdateType:    "Mutable",
				},
				"RecoveryPointTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-recoverypointtags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"RuleName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-scheduleexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StartWindowMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-startwindowminutes",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"TargetBackupVault": &models.Property{
					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::Config::ConformancePack.ConformancePackInputParameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-conformancepack-conformancepackinputparameter.html",
			Properties: map[string]*models.Property{
				"ParameterValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-conformancepack-conformancepackinputparameter.html#cfn-config-conformancepack-conformancepackinputparameter-parametervalue",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ParameterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-conformancepack-conformancepackinputparameter.html#cfn-config-conformancepack-conformancepackinputparameter-parametername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.DataSourceInclusionsExclusionsStrings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceinclusionsexclusionsstrings.html",
			Properties: map[string]*models.Property{
				"DataSourceInclusionsExclusionsStrings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceinclusionsexclusionsstrings.html#cfn-kendra-datasource-datasourceinclusionsexclusionsstrings-datasourceinclusionsexclusionsstrings",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceChatterFeedIncludeFilterTypes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedincludefiltertypes.html",
			Properties: map[string]*models.Property{
				"SalesforceChatterFeedIncludeFilterTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcechatterfeedincludefiltertypes.html#cfn-kendra-datasource-salesforcechatterfeedincludefiltertypes-salesforcechatterfeedincludefiltertypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html",
			Properties: map[string]*models.Property{
				"CheckpointingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ConfigurationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-minpausebetweencheckpoints",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CheckpointInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.StatementThree": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html",
			Properties: map[string]*models.Property{
				"IPSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-ipsetreferencestatement",
					Type:          "IPSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"RegexPatternSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-regexpatternsetreferencestatement",
					Type:          "RegexPatternSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"SizeConstraintStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-sizeconstraintstatement",
					Type:          "SizeConstraintStatement",
					UpdateType:    "Mutable",
				},
				"SqliMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-sqlimatchstatement",
					Type:          "SqliMatchStatement",
					UpdateType:    "Mutable",
				},
				"XssMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-xssmatchstatement",
					Type:          "XssMatchStatement",
					UpdateType:    "Mutable",
				},
				"ByteMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-bytematchstatement",
					Type:          "ByteMatchStatement",
					UpdateType:    "Mutable",
				},
				"GeoMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-geomatchstatement",
					Type:          "GeoMatchStatement",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.StatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html",
			Properties: map[string]*models.Property{
				"OrStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-orstatement",
					Type:          "OrStatementTwo",
					UpdateType:    "Mutable",
				},
				"RateBasedStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-ratebasedstatement",
					Type:          "RateBasedStatementTwo",
					UpdateType:    "Mutable",
				},
				"SqliMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-sqlimatchstatement",
					Type:          "SqliMatchStatement",
					UpdateType:    "Mutable",
				},
				"AndStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-andstatement",
					Type:          "AndStatementTwo",
					UpdateType:    "Mutable",
				},
				"GeoMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-geomatchstatement",
					Type:          "GeoMatchStatement",
					UpdateType:    "Mutable",
				},
				"IPSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-ipsetreferencestatement",
					Type:          "IPSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"NotStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-notstatement",
					Type:          "NotStatementTwo",
					UpdateType:    "Mutable",
				},
				"SizeConstraintStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-sizeconstraintstatement",
					Type:          "SizeConstraintStatement",
					UpdateType:    "Mutable",
				},
				"XssMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-xssmatchstatement",
					Type:          "XssMatchStatement",
					UpdateType:    "Mutable",
				},
				"ByteMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-bytematchstatement",
					Type:          "ByteMatchStatement",
					UpdateType:    "Mutable",
				},
				"ManagedRuleGroupStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-managedrulegroupstatement",
					Type:          "ManagedRuleGroupStatement",
					UpdateType:    "Mutable",
				},
				"RegexPatternSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-regexpatternsetreferencestatement",
					Type:          "RegexPatternSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"RuleGroupReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-rulegroupreferencestatement",
					Type:          "RuleGroupReferenceStatement",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Configuration.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html",
			Properties: map[string]*models.Property{
				"Attributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-attributes",
					ItemType:      "AwsCloudMapInstanceAttribute",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"NamespaceName": &models.Property{
					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": &models.Property{
					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::ECS::TaskDefinition.Device": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html",
			Properties: map[string]*models.Property{
				"ContainerPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-containerpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HostPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-hostpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Permissions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-permissions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::Glue::Classifier.CsvClassifier": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html",
			Properties: map[string]*models.Property{
				"Delimiter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-delimiter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DisableValueTrimming": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-disablevaluetrimming",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Header": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-header",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"QuoteSymbol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-quotesymbol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AllowSingleColumn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-allowsinglecolumn",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ContainsHeader": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containsheader",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.FeatureActivations": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-featureactivations.html",
			Properties: map[string]*models.Property{
				"InputPrepareScheduleActions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-featureactivations.html#cfn-medialive-channel-featureactivations-inputpreparescheduleactions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.SalesforceDestinationProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html",
			Properties: map[string]*models.Property{
				"ErrorHandlingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html#cfn-appflow-flow-salesforcedestinationproperties-errorhandlingconfig",
					Type:          "ErrorHandlingConfig",
					UpdateType:    "Mutable",
				},
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html#cfn-appflow-flow-salesforcedestinationproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Channel.CustomerManagedS3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-customermanageds3.html",
			Properties: map[string]*models.Property{
				"KeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-customermanageds3.html#cfn-iotanalytics-channel-customermanageds3-keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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",
				},
				"Bucket": &models.Property{
					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",
				},
			},
		},
		"AWS::WAFv2::WebACL.SizeConstraintStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html",
			Properties: map[string]*models.Property{
				"ComparisonOperator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-comparisonoperator",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-size",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html",
			Properties: map[string]*models.Property{
				"Target": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-target",
					Required:      true,
					Type:          "GatewayRouteTarget",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html",
			Properties: map[string]*models.Property{
				"ParameterName": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"Alexa::ASK::Skill.Overrides": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html",
			Properties: map[string]*models.Property{
				"Manifest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html#cfn-ask-skill-overrides-manifest",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualrouterserviceprovider.html",
			Properties: map[string]*models.Property{
				"VirtualRouterName": &models.Property{
					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::EC2::LaunchTemplate.Monitoring": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::MatchmakingConfiguration.GameProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html",
			Properties: map[string]*models.Property{
				"ReferenceSchema": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-s3referencedatasource",
					Type:          "S3ReferenceDataSource",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-tablename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition.DefaultConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html",
			Properties: map[string]*models.Property{
				"Execution": &models.Property{
					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::AppMesh::Route.HttpTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html",
			Properties: map[string]*models.Property{
				"Idle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html#cfn-appmesh-route-httptimeout-idle",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
				"PerRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html#cfn-appmesh-route-httptimeout-perrequest",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.LogsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html",
			Properties: map[string]*models.Property{
				"CloudWatchLogs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html#cfn-codebuild-project-logsconfig-cloudwatchlogs",
					Type:          "CloudWatchLogsConfig",
					UpdateType:    "Mutable",
				},
				"S3Logs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html#cfn-codebuild-project-logsconfig-s3logs",
					Type:          "S3LogsConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeStar::GitHubRepository.Code": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-code.html",
			Properties: map[string]*models.Property{
				"S3": &models.Property{
					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::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html",
			Properties: map[string]*models.Property{
				"DirectoryId": &models.Property{
					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::Greengrass::ResourceDefinition.ResourceInstance": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::IoT1Click::Project.PlacementTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html",
			Properties: map[string]*models.Property{
				"DefaultAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html#cfn-iot1click-project-placementtemplate-defaultattributes",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"DeviceTemplates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html#cfn-iot1click-project-placementtemplate-devicetemplates",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MSK::Cluster.LoggingInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html",
			Properties: map[string]*models.Property{
				"BrokerLogs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html#cfn-msk-cluster-logginginfo-brokerlogs",
					Required:      true,
					Type:          "BrokerLogs",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsoutputsettings.html",
			Properties: map[string]*models.Property{
				"H265PackagingType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsoutputsettings.html#cfn-medialive-channel-hlsoutputsettings-h265packagingtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HlsSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsoutputsettings.html#cfn-medialive-channel-hlsoutputsettings-hlssettings",
					Type:          "HlsSettings",
					UpdateType:    "Mutable",
				},
				"NameModifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsoutputsettings.html#cfn-medialive-channel-hlsoutputsettings-namemodifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentModifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsoutputsettings.html#cfn-medialive-channel-hlsoutputsettings-segmentmodifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.HttpRouteMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html",
			Properties: map[string]*models.Property{
				"Method": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-method",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-scheme",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Headers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-headers",
					ItemType:      "HttpRouteHeader",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html",
			Properties: map[string]*models.Property{
				"SpotSpecification": &models.Property{
					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::Pinpoint::ApplicationSettings.QuietTime": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-quiettime.html",
			Properties: map[string]*models.Property{
				"End": &models.Property{
					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": &models.Property{
					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::WAFv2::RuleGroup.ByteMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html",
			Properties: map[string]*models.Property{
				"PositionalConstraint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-positionalconstraint",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SearchString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SearchStringBase64": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstringbase64",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupPlan.CopyActionResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-copyactionresourcetype.html",
			Properties: map[string]*models.Property{
				"DestinationBackupVaultArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-copyactionresourcetype.html#cfn-backup-backupplan-copyactionresourcetype-destinationbackupvaultarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Lifecycle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-copyactionresourcetype.html#cfn-backup-backupplan-copyactionresourcetype-lifecycle",
					Type:          "LifecycleResourceType",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::IdentityPool.PushSync": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html",
			Properties: map[string]*models.Property{
				"ApplicationArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-applicationarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.Schedule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RetainRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-retainrule",
					Type:          "RetainRule",
					UpdateType:    "Mutable",
				},
				"TagsToAdd": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-tagstoadd",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VariableTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-variabletags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CopyTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-copytags",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CreateRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-createrule",
					Type:          "CreateRule",
					UpdateType:    "Mutable",
				},
				"CrossRegionCopyRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-crossregioncopyrules",
					ItemType:      "CrossRegionCopyRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FastRestoreRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-fastrestorerule",
					Type:          "FastRestoreRule",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-inputsecuritygroup-inputwhitelistrulecidr.html",
			Properties: map[string]*models.Property{
				"Cidr": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-inputsecuritygroup-inputwhitelistrulecidr.html#cfn-medialive-inputsecuritygroup-inputwhitelistrulecidr-cidr",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Transfer::User.SshPublicKey": &models.PropertyType{
			Property: models.Property{
				PrimitiveType: "String",
			},
		},
		"AWS::WAF::SqlInjectionMatchSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::ACMPCA::CertificateAuthority.CrlConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html",
			Properties: map[string]*models.Property{
				"CustomCname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-customcname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExpirationInDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-expirationindays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"S3BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-s3bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskSet.LoadBalancer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html",
			Properties: map[string]*models.Property{
				"ContainerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-containername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-containerport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"LoadBalancerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-loadbalancername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TargetGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-targetgrouparn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html",
			Properties: map[string]*models.Property{
				"OffsetInNanos": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-offsetinnanos",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-timeinseconds",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioCodecSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html",
			Properties: map[string]*models.Property{
				"PassThroughSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-passthroughsettings",
					Type:          "PassThroughSettings",
					UpdateType:    "Mutable",
				},
				"AacSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-aacsettings",
					Type:          "AacSettings",
					UpdateType:    "Mutable",
				},
				"Ac3Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-ac3settings",
					Type:          "Ac3Settings",
					UpdateType:    "Mutable",
				},
				"Eac3Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-eac3settings",
					Type:          "Eac3Settings",
					UpdateType:    "Mutable",
				},
				"Mp2Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiocodecsettings.html#cfn-medialive-channel-audiocodecsettings-mp2settings",
					Type:          "Mp2Settings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::PatchBaseline.Rule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html",
			Properties: map[string]*models.Property{
				"ComplianceLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-compliancelevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableNonSecurity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-enablenonsecurity",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PatchFilterGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-patchfiltergroup",
					Type:          "PatchFilterGroup",
					UpdateType:    "Mutable",
				},
				"ApproveAfterDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveafterdays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ApproveUntilDate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveuntildate",
					Type:          "PatchStringDate",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"AccessKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofilecredentials.html#cfn-appflow-connectorprofile-infornexusconnectorprofilecredentials-accesskeyid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Datakey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofilecredentials.html#cfn-appflow-connectorprofile-infornexusconnectorprofilecredentials-datakey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SecretAccessKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofilecredentials.html#cfn-appflow-connectorprofile-infornexusconnectorprofilecredentials-secretaccesskey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofilecredentials.html#cfn-appflow-connectorprofile-infornexusconnectorprofilecredentials-userid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFormation::StackSet.Parameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-parameter.html",
			Properties: map[string]*models.Property{
				"ParameterKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-parameter.html#cfn-cloudformation-stackset-parameter-parameterkey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ParameterValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-parameter.html#cfn-cloudformation-stackset-parameter-parametervalue",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler.Schedule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html",
			Properties: map[string]*models.Property{
				"ScheduleExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html#cfn-glue-crawler-schedule-scheduleexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Job.NotificationProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html",
			Properties: map[string]*models.Property{
				"NotifyDelayAfter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html#cfn-glue-job-notificationproperty-notifydelayafter",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.Firehose": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html",
			Properties: map[string]*models.Property{
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
				"Separator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-separator",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeliveryStreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-deliverystreamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.GeoMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html",
			Properties: map[string]*models.Property{
				"CountryCodes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-countrycodes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-forwardedipconfig",
					Type:          "ForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.KeyValuePair": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html#cfn-ecs-taskdefinition-containerdefinition-environment-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html#cfn-ecs-taskdefinition-containerdefinition-environment-value",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html",
			Properties: map[string]*models.Property{
				"ProcessingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-processingconfiguration",
					Type:          "ProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"S3BackupMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-s3backupmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketARN": &models.Property{
					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",
				},
				"CloudWatchLoggingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-cloudwatchloggingoptions",
					Type:          "CloudWatchLoggingOptions",
					UpdateType:    "Mutable",
				},
				"CompressionFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-compressionformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DataFormatConversionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dataformatconversionconfiguration",
					Type:          "DataFormatConversionConfiguration",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BufferingHints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-bufferinghints",
					Type:          "BufferingHints",
					UpdateType:    "Mutable",
				},
				"EncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-encryptionconfiguration",
					Type:          "EncryptionConfiguration",
					UpdateType:    "Mutable",
				},
				"ErrorOutputPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-erroroutputprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-s3backupconfiguration",
					Type:          "S3DestinationConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.RetryOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html",
			Properties: map[string]*models.Property{
				"DurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html#cfn-kinesisfirehose-deliverystream-retryoptions-durationinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.MessageConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html",
			Properties: map[string]*models.Property{
				"BaiduMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-baidumessage",
					Type:          "Message",
					UpdateType:    "Mutable",
				},
				"DefaultMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-defaultmessage",
					Type:          "Message",
					UpdateType:    "Mutable",
				},
				"EmailMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-emailmessage",
					Type:          "CampaignEmailMessage",
					UpdateType:    "Mutable",
				},
				"GCMMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-gcmmessage",
					Type:          "Message",
					UpdateType:    "Mutable",
				},
				"SMSMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-smsmessage",
					Type:          "CampaignSmsMessage",
					UpdateType:    "Mutable",
				},
				"ADMMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-admmessage",
					Type:          "Message",
					UpdateType:    "Mutable",
				},
				"APNSMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-apnsmessage",
					Type:          "Message",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::CachePolicy.HeadersConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html",
			Properties: map[string]*models.Property{
				"HeaderBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html#cfn-cloudfront-cachepolicy-headersconfig-headerbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Headers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html#cfn-cloudfront-cachepolicy-headersconfig-headers",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.LocalSecondaryIndex": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html",
			Properties: map[string]*models.Property{
				"IndexName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html#cfn-dynamodb-lsi-keyschema",
					ItemType:      "KeySchema",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Projection": &models.Property{
					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::FMS::Policy.PolicyTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-policytag.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-policytag.html#cfn-fms-policy-policytag-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-policytag.html#cfn-fms-policy-policytag-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.TlsValidationContext": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html",
			Properties: map[string]*models.Property{
				"Trust": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-trust",
					Required:      true,
					Type:          "TlsValidationContextTrust",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupPlan.LifecycleResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html",
			Properties: map[string]*models.Property{
				"DeleteAfterDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html#cfn-backup-backupplan-lifecycleresourcetype-deleteafterdays",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MoveToColdStorageAfterDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html#cfn-backup-backupplan-lifecycleresourcetype-movetocoldstorageafterdays",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::Template.Template": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html",
			Properties: map[string]*models.Property{
				"HtmlPart": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-htmlpart",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubjectPart": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-subjectpart",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-templatename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TextPart": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-textpart",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::Resolver.LambdaConflictHandlerConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html",
			Properties: map[string]*models.Property{
				"LambdaConflictHandlerArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html#cfn-appsync-resolver-lambdaconflicthandlerconfig-lambdaconflicthandlerarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html",
			Properties: map[string]*models.Property{
				"DynamicScalingInSuspended": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalinginsuspended",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DynamicScalingOutSuspended": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalingoutsuspended",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ScheduledScalingSuspended": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-scheduledscalingsuspended",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html",
			Properties: map[string]*models.Property{
				"Expression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html#cfn-ecs-taskdefinition-taskdefinitionplacementconstraint-expression",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html",
			Properties: map[string]*models.Property{
				"ProcessingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-processingconfiguration",
					Type:          "ProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"RetryOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-retryoptions",
					Type:          "RetryOptions",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3BackupMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3backupmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3configuration",
					Required:      true,
					Type:          "S3DestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"BufferingHints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-bufferinghints",
					Type:          "BufferingHints",
					UpdateType:    "Mutable",
				},
				"EndpointConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-endpointconfiguration",
					Required:      true,
					Type:          "HttpEndpointConfiguration",
					UpdateType:    "Mutable",
				},
				"CloudWatchLoggingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-cloudwatchloggingoptions",
					Type:          "CloudWatchLoggingOptions",
					UpdateType:    "Mutable",
				},
				"RequestConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-requestconfiguration",
					Type:          "HttpEndpointRequestConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptFilter.Filter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html",
			Properties: map[string]*models.Property{
				"IpFilter": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html#cfn-ses-receiptfilter-filter-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFormation::StackSet.OperationPreferences": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html",
			Properties: map[string]*models.Property{
				"FailureToleranceCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-failuretolerancecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FailureTolerancePercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-failuretolerancepercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaxConcurrentCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-maxconcurrentcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaxConcurrentPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-maxconcurrentpercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RegionOrder": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-regionorder",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html",
			Properties: map[string]*models.Property{
				"CloudwatchLogGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchloggroup",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CloudwatchLogStream": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchlogstream",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					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::IoTAnalytics::Dataset.Schedule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger-schedule.html",
			Properties: map[string]*models.Property{
				"ScheduleExpression": &models.Property{
					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::ManagedBlockchain::Member.ApprovalThresholdPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html",
			Properties: map[string]*models.Property{
				"ProposalDurationInHours": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-proposaldurationinhours",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ThresholdComparator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-thresholdcomparator",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThresholdPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-thresholdpercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcRouteMetadata": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html",
			Properties: map[string]*models.Property{
				"Invert": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-invert",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Match": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-match",
					Type:          "GrpcRouteMetadataMatchMethod",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html",
			Properties: map[string]*models.Property{
				"EventAction": &models.Property{
					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": &models.Property{
					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::Config::ConfigRule.Scope": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html",
			Properties: map[string]*models.Property{
				"ComplianceResourceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-complianceresourceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComplianceResourceTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-complianceresourcetypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TagKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-tagkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-tagvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Script.S3Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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::Trigger.NotificationProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html",
			Properties: map[string]*models.Property{
				"NotifyDelayAfter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.CloudwatchMetricAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html",
			Properties: map[string]*models.Property{
				"MetricNamespace": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-metrictimestamp",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetricUnit": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"MetricName": &models.Property{
					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",
				},
			},
		},
		"AWS::Lambda::Function.VpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html#cfn-lambda-function-vpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html#cfn-lambda-function-vpcconfig-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.AmplitudeSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-amplitudesourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-amplitudesourceproperties.html#cfn-appflow-flow-amplitudesourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.Log": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html",
			Properties: map[string]*models.Property{
				"PatternSet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-patternset",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Encoding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-encoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-loggroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-logpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-logtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.Metrics": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-status",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"EventThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-eventthreshold",
					Required:      true,
					Type:          "ReplicationTimeValue",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::Image.ImageTestsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html",
			Properties: map[string]*models.Property{
				"ImageTestsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-imagetestsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"TimeoutMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-timeoutminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html",
			Properties: map[string]*models.Property{
				"Cores": &models.Property{
					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::CloudWatch::Alarm.MetricStat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html",
			Properties: map[string]*models.Property{
				"Metric": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html#cfn-cloudwatch-alarm-metricstat-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::ReportGroup.S3ReportExportConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptiondisabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EncryptionKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptionkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Packaging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-packaging",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.TargetGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					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::ECS::TaskDefinition.LinuxParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html",
			Properties: map[string]*models.Property{
				"InitProcessEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-initprocessenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"MaxSwap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-maxswap",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SharedMemorySize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-sharedmemorysize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Swappiness": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-swappiness",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Tmpfs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-tmpfs",
					ItemType:      "Tmpfs",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Capabilities": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-capabilities",
					Type:          "KernelCapabilities",
					UpdateType:    "Immutable",
				},
				"Devices": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-devices",
					ItemType:      "Device",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EventSchemas::Registry.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::Kendra::Index.CapacityUnitsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-capacityunitsconfiguration.html",
			Properties: map[string]*models.Property{
				"QueryCapacityUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-capacityunitsconfiguration.html#cfn-kendra-index-capacityunitsconfiguration-querycapacityunits",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StorageCapacityUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-capacityunitsconfiguration.html#cfn-kendra-index-capacityunitsconfiguration-storagecapacityunits",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Neptune::DBCluster.DBClusterRole": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html",
			Properties: map[string]*models.Property{
				"FeatureName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html#cfn-neptune-dbcluster-dbclusterrole-featurename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html#cfn-neptune-dbcluster-dbclusterrole-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcRouteAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html",
			Properties: map[string]*models.Property{
				"WeightedTargets": &models.Property{
					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::AppSync::GraphQLApi.Tags": &models.PropertyType{
			Property: models.Property{
				ItemType:   "Tag",
				Type:       "List",
				UpdateType: "Mutable",
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-tags.html",
		},
		"AWS::Cognito::UserPool.AccountRecoverySetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-accountrecoverysetting.html",
			Properties: map[string]*models.Property{
				"RecoveryMechanisms": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-accountrecoverysetting.html#cfn-cognito-userpool-accountrecoverysetting-recoverymechanisms",
					ItemType:      "RecoveryOption",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html",
			Properties: map[string]*models.Property{
				"SnapshotId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-snapshotid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-deleteontermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::S3::Bucket.Transition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html",
			Properties: map[string]*models.Property{
				"StorageClass": &models.Property{
					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": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"TransitionInDays": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.DestinationFlowConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationflowconfig.html",
			Properties: map[string]*models.Property{
				"ConnectorProfileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationflowconfig.html#cfn-appflow-flow-destinationflowconfig-connectorprofilename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectorType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationflowconfig.html#cfn-appflow-flow-destinationflowconfig-connectortype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DestinationConnectorProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationflowconfig.html#cfn-appflow-flow-destinationflowconfig-destinationconnectorproperties",
					Required:      true,
					Type:          "DestinationConnectorProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ServiceDiscovery": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html",
			Properties: map[string]*models.Property{
				"AWSCloudMap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-awscloudmap",
					Type:          "AwsCloudMapServiceDiscovery",
					UpdateType:    "Mutable",
				},
				"DNS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-dns",
					Type:          "DnsServiceDiscovery",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.TableWildcard": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewildcard.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::S3::Bucket.TopicConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html",
			Properties: map[string]*models.Property{
				"Topic": &models.Property{
					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",
				},
				"Event": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-filter",
					Type:          "NotificationFilter",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.DynamoDB": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html",
			Properties: map[string]*models.Property{
				"MaximumBatchingWindowInSeconds": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-maximumbatchingwindowinseconds",
					PrimitiveType: "Integer",
				},
				"MaximumRecordAgeInSeconds": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-maximumrecordageinseconds",
					PrimitiveType: "Integer",
				},
				"ParallelizationFactor": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-parallelizationfactor",
					PrimitiveType: "Integer",
				},
				"StartingPosition": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-startingposition",
					PrimitiveType: "String",
					Required:      true,
				},
				"Stream": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-stream",
					PrimitiveType: "String",
					Required:      true,
				},
				"BatchSize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-batchsize",
					PrimitiveType: "Integer",
				},
				"DestinationConfig": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-destinationconfig",
					Type:          "DestinationConfig",
				},
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-enabled",
					PrimitiveType: "Boolean",
				},
				"MaximumRetryAttempts": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-maximumretryattempts",
					PrimitiveType: "Integer",
				},
				"BisectBatchOnFunctionError": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-dynamodb.html#sam-function-dynamodb-bisectbatchonfunctionerror",
					PrimitiveType: "Boolean",
				},
			},
		},
		"AWS::AmazonMQ::Broker.LdapMetadata": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html",
			Properties: map[string]*models.Property{
				"InterBrokerCreds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html#cfn-amazonmq-broker-ldapmetadata-interbrokercreds",
					ItemType:      "InterBrokerCred",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ServerMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapmetadata.html#cfn-amazonmq-broker-ldapmetadata-servermetadata",
					Required:      true,
					Type:          "ServerMetadata",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::Fleet.DomainJoinInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html",
			Properties: map[string]*models.Property{
				"DirectoryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-directoryname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OrganizationalUnitDistinguishedName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-organizationalunitdistinguishedname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudWatch::AnomalyDetector.Dimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::EC2::SpotFleet.SpotFleetTagSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-tagspecifications.html",
			Properties: map[string]*models.Property{
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-tagspecifications.html#cfn-ec2-spotfleet-spotfleettagspecification-resourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					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",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.CaptionLanguageMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionlanguagemapping.html",
			Properties: map[string]*models.Property{
				"CaptionChannel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionlanguagemapping.html#cfn-medialive-channel-captionlanguagemapping-captionchannel",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LanguageCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionlanguagemapping.html#cfn-medialive-channel-captionlanguagemapping-languagecode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LanguageDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionlanguagemapping.html#cfn-medialive-channel-captionlanguagemapping-languagedescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::GameServerGroup.InstanceDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html",
			Properties: map[string]*models.Property{
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html#cfn-gamelift-gameservergroup-instancedefinition-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"WeightedCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html#cfn-gamelift-gameservergroup-instancedefinition-weightedcapacity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.RecordColumn": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html",
			Properties: map[string]*models.Property{
				"Mapping": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html#cfn-kinesisanalyticsv2-application-recordcolumn-mapping",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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::SageMaker::Workteam.NotificationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-notificationconfiguration.html",
			Properties: map[string]*models.Property{
				"NotificationTopicArn": &models.Property{
					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::ServiceDiscovery::Service.DnsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html",
			Properties: map[string]*models.Property{
				"DnsRecords": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-namespaceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RoutingPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-routingpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::OptionGroup.OptionSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.ExcludedRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrule.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrule.html#cfn-wafv2-webacl-excludedrule-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.VisibilityConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html",
			Properties: map[string]*models.Property{
				"MetricName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html#cfn-wafv2-webacl-visibilityconfig-metricname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SampledRequestsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html#cfn-wafv2-webacl-visibilityconfig-sampledrequestsenabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"CloudWatchMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html#cfn-wafv2-webacl-visibilityconfig-cloudwatchmetricsenabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppConfig::Deployment.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-tags.html#cfn-appconfig-deployment-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-tags.html#cfn-appconfig-deployment-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceknowledgearticleconfiguration.html",
			Properties: map[string]*models.Property{
				"CustomKnowledgeArticleTypeConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceknowledgearticleconfiguration.html#cfn-kendra-datasource-salesforceknowledgearticleconfiguration-customknowledgearticletypeconfigurations",
					Type:          "SalesforceCustomKnowledgeArticleTypeConfigurationList",
					UpdateType:    "Mutable",
				},
				"IncludedStates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceknowledgearticleconfiguration.html#cfn-kendra-datasource-salesforceknowledgearticleconfiguration-includedstates",
					Required:      true,
					Type:          "SalesforceKnowledgeArticleStateList",
					UpdateType:    "Mutable",
				},
				"StandardKnowledgeArticleTypeConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceknowledgearticleconfiguration.html#cfn-kendra-datasource-salesforceknowledgearticleconfiguration-standardknowledgearticletypeconfiguration",
					Type:          "SalesforceStandardKnowledgeArticleTypeConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::UsagePlan.QuotaSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html",
			Properties: map[string]*models.Property{
				"Limit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-limit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Offset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-offset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Period": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-period",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.Listener": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html",
			Properties: map[string]*models.Property{
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-timeout",
					Type:          "ListenerTimeout",
					UpdateType:    "Mutable",
				},
				"HealthCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-healthcheck",
					Type:          "HealthCheck",
					UpdateType:    "Mutable",
				},
				"PortMapping": &models.Property{
					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",
				},
				"TLS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-tls",
					Type:          "ListenerTls",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.InstanceIpv6Address": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html",
			Properties: map[string]*models.Property{
				"Ipv6Address": &models.Property{
					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::IoTAnalytics::Pipeline.Filter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html",
			Properties: map[string]*models.Property{
				"Filter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html#cfn-iotanalytics-pipeline-filter-filter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html#cfn-iotanalytics-pipeline-filter-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html#cfn-iotanalytics-pipeline-filter-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.RedshiftDestinationProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-redshiftdestinationproperties.html",
			Properties: map[string]*models.Property{
				"ErrorHandlingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-redshiftdestinationproperties.html#cfn-appflow-flow-redshiftdestinationproperties-errorhandlingconfig",
					Type:          "ErrorHandlingConfig",
					UpdateType:    "Mutable",
				},
				"IntermediateBucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-redshiftdestinationproperties.html#cfn-appflow-flow-redshiftdestinationproperties-intermediatebucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-redshiftdestinationproperties.html#cfn-appflow-flow-redshiftdestinationproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-redshiftdestinationproperties.html#cfn-appflow-flow-redshiftdestinationproperties-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.SpotFleetMonitoring": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-monitoring.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-monitoring.html#cfn-ec2-spotfleet-spotfleetmonitoring-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.RunCommandTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-values",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.IPSetReferenceStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-arn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"IPSetForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-ipsetforwardedipconfig",
					Type:          "IPSetForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html",
			Properties: map[string]*models.Property{
				"ScaleOutCooldown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleoutcooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TargetValue": &models.Property{
					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",
				},
				"CustomizedMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-customizedmetricspecification",
					Type:          "CustomizedMetricSpecification",
					UpdateType:    "Mutable",
				},
				"DisableScaleIn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-disablescalein",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PredefinedMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-predefinedmetricspecification",
					Type:          "PredefinedMetricSpecification",
					UpdateType:    "Mutable",
				},
				"ScaleInCooldown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleincooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html",
			Properties: map[string]*models.Property{
				"PredictiveScalingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServiceNamespace": &models.Property{
					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",
				},
				"CustomizedLoadMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-customizedloadmetricspecification",
					Type:          "CustomizedLoadMetricSpecification",
					UpdateType:    "Mutable",
				},
				"PredefinedLoadMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predefinedloadmetricspecification",
					Type:          "PredefinedLoadMetricSpecification",
					UpdateType:    "Mutable",
				},
				"PredictiveScalingMaxCapacityBuffer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmaxcapacitybuffer",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ScalableDimension": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scalingpolicyupdatebehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScheduledActionBufferTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scheduledactionbuffertime",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TargetTrackingConfigurations": &models.Property{
					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",
				},
				"DisableDynamicScaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-disabledynamicscaling",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxCapacity": &models.Property{
					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": &models.Property{
					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",
				},
				"PredictiveScalingMaxCapacityBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmaxcapacitybehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceId": &models.Property{
					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",
				},
			},
		},
		"AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-sourceconfiguration.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					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": &models.Property{
					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::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-sourceipconfig.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-sourceipconfig.html#cfn-elasticloadbalancingv2-listenerrule-sourceipconfig-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.Sqs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html",
			Properties: map[string]*models.Property{
				"UseBase64": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-usebase64",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
				"QueueUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-queueurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.S3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-enabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.ApiDefinition": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apidefinition.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apidefinition.html#sam-api-apidefinition-bucket",
					PrimitiveType: "String",
					Required:      true,
				},
				"Key": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apidefinition.html#sam-api-apidefinition-key",
					PrimitiveType: "String",
					Required:      true,
				},
				"Version": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apidefinition.html#sam-api-apidefinition-version",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::S3::Bucket.AccelerateConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html",
			Properties: map[string]*models.Property{
				"AccelerationStatus": &models.Property{
					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.CorsRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html",
			Properties: map[string]*models.Property{
				"AllowedHeaders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedheaders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowedMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedmethods",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowedOrigins": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedorigins",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ExposedHeaders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-exposedheaders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxAge": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-maxage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Transfer::Server.EndpointDetails": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html",
			Properties: map[string]*models.Property{
				"AddressAllocationIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-addressallocationids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcEndpointId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-vpcendpointid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.RateBasedStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html",
			Properties: map[string]*models.Property{
				"AggregateKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-forwardedipconfig",
					Type:          "ForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
				"Limit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ScopeDownStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement",
					Type:          "StatementTwo",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::CachePolicy.CachePolicyConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html",
			Properties: map[string]*models.Property{
				"DefaultTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-defaultttl",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MaxTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-maxttl",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MinTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-minttl",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ParametersInCacheKeyAndForwardedToOrigin": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-parametersincachekeyandforwardedtoorigin",
					Required:      true,
					Type:          "ParametersInCacheKeyAndForwardedToOrigin",
					UpdateType:    "Mutable",
				},
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html",
			Properties: map[string]*models.Property{
				"StatusCodes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html#cfn-cloudfront-distribution-origingroupfailovercriteria-statuscodes",
					Required:      true,
					Type:          "StatusCodes",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::OriginRequestPolicy.HeadersConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html",
			Properties: map[string]*models.Property{
				"Headers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html#cfn-cloudfront-originrequestpolicy-headersconfig-headers",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"HeaderBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html#cfn-cloudfront-originrequestpolicy-headersconfig-headerbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.RecordFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordformat.html",
			Properties: map[string]*models.Property{
				"RecordFormatType": &models.Property{
					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",
				},
				"MappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordformat.html#cfn-kinesisanalyticsv2-application-recordformat-mappingparameters",
					Type:          "MappingParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.Logging": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html",
			Properties: map[string]*models.Property{
				"AccessLog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html#cfn-appmesh-virtualnode-logging-accesslog",
					Type:          "AccessLog",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::DataSource.DynamoDBConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html",
			Properties: map[string]*models.Property{
				"AwsRegion": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig",
					Type:          "DeltaSyncConfig",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Versioned": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::NetworkAclEntry.Icmp": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html",
			Properties: map[string]*models.Property{
				"Code": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html#cfn-ec2-networkaclentry-icmp-code",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html#cfn-ec2-networkaclentry-icmp-type",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::Detector.CFNS3LogsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfns3logsconfiguration.html",
			Properties: map[string]*models.Property{
				"Enable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfns3logsconfiguration.html#cfn-guardduty-detector-cfns3logsconfiguration-enable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html",
			Properties: map[string]*models.Property{
				"CloudwatchMetric": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchmetric",
					Type:          "CloudwatchMetricAction",
					UpdateType:    "Mutable",
				},
				"Lambda": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-lambda",
					Type:          "LambdaAction",
					UpdateType:    "Mutable",
				},
				"IotSiteWise": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotsitewise",
					Type:          "IotSiteWiseAction",
					UpdateType:    "Mutable",
				},
				"Republish": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-republish",
					Type:          "RepublishAction",
					UpdateType:    "Mutable",
				},
				"Sns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-sns",
					Type:          "SnsAction",
					UpdateType:    "Mutable",
				},
				"DynamoDBv2": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-dynamodbv2",
					Type:          "DynamoDBv2Action",
					UpdateType:    "Mutable",
				},
				"Elasticsearch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-elasticsearch",
					Type:          "ElasticsearchAction",
					UpdateType:    "Mutable",
				},
				"Http": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-http",
					Type:          "HttpAction",
					UpdateType:    "Mutable",
				},
				"Sqs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-sqs",
					Type:          "SqsAction",
					UpdateType:    "Mutable",
				},
				"CloudwatchAlarm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchalarm",
					Type:          "CloudwatchAlarmAction",
					UpdateType:    "Mutable",
				},
				"DynamoDB": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-dynamodb",
					Type:          "DynamoDBAction",
					UpdateType:    "Mutable",
				},
				"IotEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotevents",
					Type:          "IotEventsAction",
					UpdateType:    "Mutable",
				},
				"S3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-s3",
					Type:          "S3Action",
					UpdateType:    "Mutable",
				},
				"StepFunctions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-stepfunctions",
					Type:          "StepFunctionsAction",
					UpdateType:    "Mutable",
				},
				"Firehose": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-firehose",
					Type:          "FirehoseAction",
					UpdateType:    "Mutable",
				},
				"IotAnalytics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotanalytics",
					Type:          "IotAnalyticsAction",
					UpdateType:    "Mutable",
				},
				"Kinesis": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-kinesis",
					Type:          "KinesisAction",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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::SageMaker::MonitoringSchedule.ScheduleConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-scheduleconfig.html",
			Properties: map[string]*models.Property{
				"ScheduleExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-scheduleconfig.html#cfn-sagemaker-monitoringschedule-scheduleconfig-scheduleexpression",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.MetricDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-metricdimension.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::IoT::TopicRule.PutItemInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putiteminput.html",
			Properties: map[string]*models.Property{
				"TableName": &models.Property{
					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::S3::Bucket.EncryptionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html",
			Properties: map[string]*models.Property{
				"ReplicaKmsKeyID": &models.Property{
					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::CloudFront::Distribution.OriginGroupMembers": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html",
			Properties: map[string]*models.Property{
				"Items": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-items",
					ItemType:      "OriginGroupMember",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Quantity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-quantity",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.ApiAuth": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html",
			Properties: map[string]*models.Property{
				"AddDefaultAuthorizerToCorsPreflight": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-adddefaultauthorizertocorspreflight",
					PrimitiveType: "Boolean",
				},
				"ApiKeyRequired": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-apikeyrequired",
					PrimitiveType: "Boolean",
				},
				"Authorizers": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-authorizers",
					Type:          "LambdaRequestAuthorizer",
				},
				"DefaultAuthorizer": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-defaultauthorizer",
					PrimitiveType: "String",
				},
				"InvokeRole": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-invokerole",
					PrimitiveType: "String",
				},
				"ResourcePolicy": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-resourcepolicy",
					Type:          "ResourcePolicyStatement",
				},
				"UsagePlan": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-usageplan",
					Type:          "ApiUsagePlan",
				},
			},
		},
		"AWS::ApiGatewayV2::Integration.TlsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html",
			Properties: map[string]*models.Property{
				"ServerNameToVerify": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html#cfn-apigatewayv2-integration-tlsconfig-servernametoverify",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualnodeserviceprovider.html",
			Properties: map[string]*models.Property{
				"VirtualNodeName": &models.Property{
					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::GameLift::Fleet.IpPermission": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html",
			Properties: map[string]*models.Property{
				"FromPort": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::GameSessionQueue.PlayerLatencyPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html",
			Properties: map[string]*models.Property{
				"MaximumIndividualPlayerLatencyMilliseconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html#cfn-gamelift-gamesessionqueue-playerlatencypolicy-maximumindividualplayerlatencymilliseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PolicyDurationSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html#cfn-gamelift-gamesessionqueue-playerlatencypolicy-policydurationseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::HostedZone.QueryLoggingConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-queryloggingconfig.html",
			Properties: map[string]*models.Property{
				"CloudWatchLogsLogGroupArn": &models.Property{
					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::SageMaker::MonitoringSchedule.MonitoringOutputConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.html",
			Properties: map[string]*models.Property{
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.html#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MonitoringOutputs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutputconfig.html#cfn-sagemaker-monitoringschedule-monitoringoutputconfig-monitoringoutputs",
					ItemType:      "MonitoringOutput",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.HttpApiFunctionAuth": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapifunctionauth.html",
			Properties: map[string]*models.Property{
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapifunctionauth.html#sam-function-httpapifunctionauth-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Authorizer": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapifunctionauth.html#sam-function-httpapifunctionauth-authorizer",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::ApiGateway::RestApi.EndpointConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html",
			Properties: map[string]*models.Property{
				"Types": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcEndpointIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.Duration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html",
			Properties: map[string]*models.Property{
				"Unit": &models.Property{
					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": &models.Property{
					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::WAFv2::WebACL.StatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html",
			Properties: map[string]*models.Property{
				"RuleGroupReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-rulegroupreferencestatement",
					Type:          "RuleGroupReferenceStatement",
					UpdateType:    "Mutable",
				},
				"AndStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-andstatement",
					Type:          "AndStatementOne",
					UpdateType:    "Mutable",
				},
				"IPSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-ipsetreferencestatement",
					Type:          "IPSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"NotStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-notstatement",
					Type:          "NotStatementOne",
					UpdateType:    "Mutable",
				},
				"OrStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-orstatement",
					Type:          "OrStatementOne",
					UpdateType:    "Mutable",
				},
				"RegexPatternSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-regexpatternsetreferencestatement",
					Type:          "RegexPatternSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"SizeConstraintStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-sizeconstraintstatement",
					Type:          "SizeConstraintStatement",
					UpdateType:    "Mutable",
				},
				"SqliMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-sqlimatchstatement",
					Type:          "SqliMatchStatement",
					UpdateType:    "Mutable",
				},
				"XssMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-xssmatchstatement",
					Type:          "XssMatchStatement",
					UpdateType:    "Mutable",
				},
				"ByteMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-bytematchstatement",
					Type:          "ByteMatchStatement",
					UpdateType:    "Mutable",
				},
				"GeoMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-geomatchstatement",
					Type:          "GeoMatchStatement",
					UpdateType:    "Mutable",
				},
				"ManagedRuleGroupStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-managedrulegroupstatement",
					Type:          "ManagedRuleGroupStatement",
					UpdateType:    "Mutable",
				},
				"RateBasedStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-ratebasedstatement",
					Type:          "RateBasedStatementOne",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.LaunchTemplateOverrides": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html",
			Properties: map[string]*models.Property{
				"WeightedCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SpotPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-spotprice",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Step.HadoopJarStepConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html",
			Properties: map[string]*models.Property{
				"MainClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-mainclass",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StepProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-stepproperties",
					ItemType:      "KeyValue",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Args": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-args",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Jar": &models.Property{
					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",
				},
			},
		},
		"AWS::Greengrass::DeviceDefinition.Device": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html",
			Properties: map[string]*models.Property{
				"ThingArn": &models.Property{
					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",
				},
				"CertificateArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-syncshadow",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Channel.OutputGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html",
			Properties: map[string]*models.Property{
				"MultiplexGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-multiplexgroupsettings",
					Type:          "MultiplexGroupSettings",
					UpdateType:    "Mutable",
				},
				"RtmpGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-rtmpgroupsettings",
					Type:          "RtmpGroupSettings",
					UpdateType:    "Mutable",
				},
				"UdpGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-udpgroupsettings",
					Type:          "UdpGroupSettings",
					UpdateType:    "Mutable",
				},
				"ArchiveGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-archivegroupsettings",
					Type:          "ArchiveGroupSettings",
					UpdateType:    "Mutable",
				},
				"FrameCaptureGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-framecapturegroupsettings",
					Type:          "FrameCaptureGroupSettings",
					UpdateType:    "Mutable",
				},
				"HlsGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-hlsgroupsettings",
					Type:          "HlsGroupSettings",
					UpdateType:    "Mutable",
				},
				"MediaPackageGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-mediapackagegroupsettings",
					Type:          "MediaPackageGroupSettings",
					UpdateType:    "Mutable",
				},
				"MsSmoothGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroupsettings.html#cfn-medialive-channel-outputgroupsettings-mssmoothgroupsettings",
					Type:          "MsSmoothGroupSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.QuietTime": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule-quiettime.html",
			Properties: map[string]*models.Property{
				"End": &models.Property{
					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": &models.Property{
					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::SageMaker::Model.VpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-vpcconfig.html",
			Properties: map[string]*models.Property{
				"Subnets": &models.Property{
					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",
				},
				"SecurityGroupIds": &models.Property{
					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",
				},
			},
		},
		"AWS::WAFv2::WebACL.OrStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementone.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementone.html#cfn-wafv2-webacl-orstatementone-statements",
					ItemType:      "StatementTwo",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.WeightedTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html",
			Properties: map[string]*models.Property{
				"VirtualNode": &models.Property{
					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": &models.Property{
					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::EC2::Instance.ElasticInferenceAccelerator": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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",
				},
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Fleet.ServerProcess": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html",
			Properties: map[string]*models.Property{
				"ConcurrentExecutions": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-parameters",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-outputformatconfiguration.html",
			Properties: map[string]*models.Property{
				"Serializer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-outputformatconfiguration.html#cfn-kinesisfirehose-deliverystream-outputformatconfiguration-serializer",
					Type:          "Serializer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-provisionedconcurrencyconfiguration.html",
			Properties: map[string]*models.Property{
				"ProvisionedConcurrentExecutions": &models.Property{
					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::AppFlow::Flow.ZendeskSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-zendesksourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-zendesksourceproperties.html#cfn-appflow-flow-zendesksourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.VirtualServiceBackend": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html",
			Properties: map[string]*models.Property{
				"ClientPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-clientpolicy",
					Type:          "ClientPolicy",
					UpdateType:    "Mutable",
				},
				"VirtualServiceName": &models.Property{
					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::EMR::InstanceGroupConfig.ScalingRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html#cfn-elasticmapreduce-instancegroupconfig-scalingrule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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::SageMaker::CodeRepository.GitConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html",
			Properties: map[string]*models.Property{
				"Branch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-branch",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RepositoryUrl": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-secretarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"Alexa::ASK::Skill.SkillPackage": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html",
			Properties: map[string]*models.Property{
				"S3Key": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Overrides": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-overrides",
					Type:          "Overrides",
					UpdateType:    "Mutable",
				},
				"S3Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucketrole",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppConfig::Environment.Monitors": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html",
			Properties: map[string]*models.Property{
				"AlarmArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html#cfn-appconfig-environment-monitors-alarmarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AlarmRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html#cfn-appconfig-environment-monitors-alarmrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.AbortIncompleteMultipartUpload": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html",
			Properties: map[string]*models.Property{
				"DaysAfterInitiation": &models.Property{
					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::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html",
			Properties: map[string]*models.Property{
				"PredefinedScalingMetricType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedscalingmetricspecification-resourcelabel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.InstanceGroupConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html",
			Properties: map[string]*models.Property{
				"AutoScalingPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-autoscalingpolicy",
					Type:          "AutoScalingPolicy",
					UpdateType:    "Mutable",
				},
				"BidPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-bidprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"EbsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-ebsconfiguration",
					Type:          "EbsConfiguration",
					UpdateType:    "Immutable",
				},
				"InstanceCount": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-market",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition.FunctionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html",
			Properties: map[string]*models.Property{
				"MemorySize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-memorysize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Pinned": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-pinned",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"EncodingType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-encodingtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-environment",
					Type:          "Environment",
					UpdateType:    "Immutable",
				},
				"ExecArgs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-execargs",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Executable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-executable",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Input.MediaConnectFlowRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-mediaconnectflowrequest.html",
			Properties: map[string]*models.Property{
				"FlowArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-mediaconnectflowrequest.html#cfn-medialive-input-mediaconnectflowrequest-flowarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::ResourceDataSync.AwsOrganizationsSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-awsorganizationssource.html",
			Properties: map[string]*models.Property{
				"OrganizationSourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-awsorganizationssource.html#cfn-ssm-resourcedatasync-awsorganizationssource-organizationsourcetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"OrganizationalUnits": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-awsorganizationssource.html#cfn-ssm-resourcedatasync-awsorganizationssource-organizationalunits",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html",
			Properties: map[string]*models.Property{
				"RoleARN": &models.Property{
					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",
				},
				"KinesisStreamARN": &models.Property{
					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",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html",
			Properties: map[string]*models.Property{
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-dimensions",
					ItemType:      "MetricDimension",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html",
			Properties: map[string]*models.Property{
				"ClientRootCertificateChainArn": &models.Property{
					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::ElasticBeanstalk::Application.MaxCountRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html",
			Properties: map[string]*models.Property{
				"DeleteSourceFromS3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html#cfn-elasticbeanstalk-application-maxcountrule-deletesourcefroms3",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html#cfn-elasticbeanstalk-application-maxcountrule-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html#cfn-elasticbeanstalk-application-maxcountrule-maxcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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",
				},
				"AuthenticateCognitoConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticatecognitoconfig",
					Type:          "AuthenticateCognitoConfig",
					UpdateType:    "Mutable",
				},
				"AuthenticateOidcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticateoidcconfig",
					Type:          "AuthenticateOidcConfig",
					UpdateType:    "Mutable",
				},
				"FixedResponseConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-fixedresponseconfig",
					Type:          "FixedResponseConfig",
					UpdateType:    "Mutable",
				},
				"ForwardConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-forwardconfig",
					Type:          "ForwardConfig",
					UpdateType:    "Mutable",
				},
				"Order": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-order",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RedirectConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-redirectconfig",
					Type:          "RedirectConfig",
					UpdateType:    "Mutable",
				},
				"TargetGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-targetgrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkfabricconfiguration.html",
			Properties: map[string]*models.Property{
				"Edition": &models.Property{
					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::OpsWorks::Layer.LoadBasedAutoScaling": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html",
			Properties: map[string]*models.Property{
				"DownScaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html#cfn-opsworks-layer-loadbasedautoscaling-downscaling",
					Type:          "AutoScalingThresholds",
					UpdateType:    "Mutable",
				},
				"Enable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html#cfn-opsworks-layer-loadbasedautoscaling-enable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"UpScaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html#cfn-opsworks-layer-loadbasedautoscaling-upscaling",
					Type:          "AutoScalingThresholds",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.AttributeDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html",
			Properties: map[string]*models.Property{
				"AttributeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html#cfn-pinpoint-segment-attributedimension-attributetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html#cfn-pinpoint-segment-attributedimension-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Route53::RecordSetGroup.GeoLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html",
			Properties: map[string]*models.Property{
				"CountryCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-countrycode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubdivisionCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-subdivisioncode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ContinentCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordsetgroup-geolocation-continentcode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringInputs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinputs.html",
			Properties: map[string]*models.Property{
				"MonitoringInputs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinputs.html#cfn-sagemaker-monitoringschedule-monitoringinputs-monitoringinputs",
					ItemType:      "MonitoringInput",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.AdminCreateUserConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html",
			Properties: map[string]*models.Property{
				"AllowAdminCreateUserOnly": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-allowadmincreateuseronly",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"InviteMessageTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-invitemessagetemplate",
					Type:          "InviteMessageTemplate",
					UpdateType:    "Mutable",
				},
				"UnusedAccountValidityDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-unusedaccountvaliditydays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.ClassicLoadBalancer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html",
			Properties: map[string]*models.Property{
				"AuthenticationRequestExtraParams": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-authenticationrequestextraparams",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ClientId": &models.Property{
					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",
				},
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-scope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SessionCookieName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessioncookiename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserInfoEndpoint": &models.Property{
					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",
				},
				"AuthorizationEndpoint": &models.Property{
					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",
				},
				"ClientSecret": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-onunauthenticatedrequest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SessionTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessiontimeout",
					PrimitiveType: "Long",
					UpdateType:    "Mutable",
				},
				"TokenEndpoint": &models.Property{
					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",
				},
			},
		},
		"AWS::SSM::PatchBaseline.PatchSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html",
			Properties: map[string]*models.Property{
				"Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-configuration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Products": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-products",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ECS::Service.CapacityProviderStrategyItem": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-capacityproviderstrategyitem.html",
			Properties: map[string]*models.Property{
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-capacityproviderstrategyitem.html#cfn-ecs-service-capacityproviderstrategyitem-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Base": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-capacityproviderstrategyitem.html#cfn-ecs-service-capacityproviderstrategyitem-base",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CapacityProvider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-capacityproviderstrategyitem.html#cfn-ecs-service-capacityproviderstrategyitem-capacityprovider",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-snsdestination.html",
			Properties: map[string]*models.Property{
				"TopicArn": &models.Property{
					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::IoTAnalytics::Pipeline.DeviceRegistryEnrich": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThingName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-thingname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Attribute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-attribute",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.CorsConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html",
			Properties: map[string]*models.Property{
				"AllowCredentials": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html#sam-api-corsconfiguration-allowcredentials",
					PrimitiveType: "Boolean",
				},
				"AllowHeaders": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html#sam-api-corsconfiguration-allowheaders",
					PrimitiveType: "String",
				},
				"AllowMethods": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html#sam-api-corsconfiguration-allowmethods",
					PrimitiveType: "String",
				},
				"AllowOrigin": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html#sam-api-corsconfiguration-alloworigin",
					PrimitiveType: "String",
					Required:      true,
				},
				"MaxAge": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html#sam-api-corsconfiguration-maxage",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Cognito::UserPool.SchemaAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html",
			Properties: map[string]*models.Property{
				"NumberAttributeConstraints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-numberattributeconstraints",
					Type:          "NumberAttributeConstraints",
					UpdateType:    "Mutable",
				},
				"Required": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-required",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"StringAttributeConstraints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-stringattributeconstraints",
					Type:          "StringAttributeConstraints",
					UpdateType:    "Mutable",
				},
				"AttributeDataType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-attributedatatype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeveloperOnlyAttribute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-developeronlyattribute",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Mutable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-mutable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.Trigger": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html",
			Properties: map[string]*models.Property{
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html#cfn-iotanalytics-dataset-trigger-schedule",
					Type:          "Schedule",
					UpdateType:    "Mutable",
				},
				"TriggeringDataset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html#cfn-iotanalytics-dataset-trigger-triggeringdataset",
					Type:          "TriggeringDataset",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.ChangeDetectingColumns": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-changedetectingcolumns.html",
			Properties: map[string]*models.Property{
				"ChangeDetectingColumns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-changedetectingcolumns.html#cfn-kendra-datasource-changedetectingcolumns-changedetectingcolumns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.ColumnConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html",
			Properties: map[string]*models.Property{
				"DocumentDataColumnName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html#cfn-kendra-datasource-columnconfiguration-documentdatacolumnname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentIdColumnName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html#cfn-kendra-datasource-columnconfiguration-documentidcolumnname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleColumnName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html#cfn-kendra-datasource-columnconfiguration-documenttitlecolumnname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html#cfn-kendra-datasource-columnconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"ChangeDetectingColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html#cfn-kendra-datasource-columnconfiguration-changedetectingcolumns",
					Required:      true,
					Type:          "ChangeDetectingColumns",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutput.html",
			Properties: map[string]*models.Property{
				"S3Output": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringoutput.html#cfn-sagemaker-monitoringschedule-monitoringoutput-s3output",
					Required:      true,
					Type:          "S3Output",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.VolumeSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html",
			Properties: map[string]*models.Property{
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SizeInGB": &models.Property{
					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": &models.Property{
					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::KinesisFirehose::DeliveryStream.Deserializer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html",
			Properties: map[string]*models.Property{
				"HiveJsonSerDe": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html#cfn-kinesisfirehose-deliverystream-deserializer-hivejsonserde",
					Type:          "HiveJsonSerDe",
					UpdateType:    "Mutable",
				},
				"OpenXJsonSerDe": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html#cfn-kinesisfirehose-deliverystream-deserializer-openxjsonserde",
					Type:          "OpenXJsonSerDe",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::Resolver.CachingConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html",
			Properties: map[string]*models.Property{
				"CachingKeys": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-cachingkeys",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Ttl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-ttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Athena::WorkGroup.ResultConfigurationUpdates": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html",
			Properties: map[string]*models.Property{
				"EncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-encryptionconfiguration",
					Type:          "EncryptionConfiguration",
					UpdateType:    "Mutable",
				},
				"OutputLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-outputlocation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RemoveEncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-removeencryptionconfiguration",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RemoveOutputLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-removeoutputlocation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.NumberAttributeConstraints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html",
			Properties: map[string]*models.Property{
				"MaxValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-maxvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-minvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler.CatalogTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html",
			Properties: map[string]*models.Property{
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tables": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-tables",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html",
			Properties: map[string]*models.Property{
				"MonitoringJobDefinition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition",
					Required:      true,
					Type:          "MonitoringJobDefinition",
					UpdateType:    "Mutable",
				},
				"ScheduleConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig",
					Type:          "ScheduleConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::CachePolicy.CookiesConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html",
			Properties: map[string]*models.Property{
				"CookieBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html#cfn-cloudfront-cachepolicy-cookiesconfig-cookiebehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Cookies": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html#cfn-cloudfront-cachepolicy-cookiesconfig-cookies",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.KeySchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html",
			Properties: map[string]*models.Property{
				"KeyType": &models.Property{
					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",
				},
				"AttributeName": &models.Property{
					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",
				},
			},
		},
		"AWS::CloudFront::Distribution.GeoRestriction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html",
			Properties: map[string]*models.Property{
				"Locations": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html#cfn-cloudfront-distribution-georestriction-locations",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RestrictionType": &models.Property{
					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::NetworkManager::Device.Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html",
			Properties: map[string]*models.Property{
				"Address": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-address",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Latitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-latitude",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Longitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-longitude",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::PatchBaseline.RuleGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html",
			Properties: map[string]*models.Property{
				"PatchRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html#cfn-ssm-patchbaseline-rulegroup-patchrules",
					ItemType:      "Rule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.ProjectSourceVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectsourceversion.html",
			Properties: map[string]*models.Property{
				"SourceIdentifier": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectsourceversion.html#cfn-codebuild-project-projectsourceversion-sourceversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Service.DeploymentConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html",
			Properties: map[string]*models.Property{
				"MaximumPercent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-maximumpercent",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MinimumHealthyPercent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-minimumhealthypercent",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders": &models.PropertyType{
			Property: models.Property{
				ItemType:   "AdditionalAuthenticationProvider",
				Type:       "List",
				UpdateType: "Mutable",
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationproviders.html",
		},
		"AWS::Glue::Crawler.JdbcTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html",
			Properties: map[string]*models.Property{
				"ConnectionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-connectionname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Exclusions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-exclusions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html",
			Properties: map[string]*models.Property{
				"Attribute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-attribute",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThingName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-thingname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-pinpointdestination.html",
			Properties: map[string]*models.Property{
				"ApplicationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-pinpointdestination.html#cfn-pinpointemail-configurationseteventdestination-pinpointdestination-applicationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html",
			Properties: map[string]*models.Property{
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html#cfn-elasticloadbalancingv2-targetgroup-targetdescription-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html#cfn-elasticloadbalancingv2-targetgroup-targetdescription-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Alias.RoutingStrategy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html",
			Properties: map[string]*models.Property{
				"FleetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-fleetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Message": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-message",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html",
			Properties: map[string]*models.Property{
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html#cfn-kendra-datasource-servicenowknowledgearticleconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"IncludeAttachmentFilePatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html#cfn-kendra-datasource-servicenowknowledgearticleconfiguration-includeattachmentfilepatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"CrawlAttachments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html#cfn-kendra-datasource-servicenowknowledgearticleconfiguration-crawlattachments",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DocumentDataFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html#cfn-kendra-datasource-servicenowknowledgearticleconfiguration-documentdatafieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html#cfn-kendra-datasource-servicenowknowledgearticleconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExcludeAttachmentFilePatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowknowledgearticleconfiguration.html#cfn-kendra-datasource-servicenowknowledgearticleconfiguration-excludeattachmentfilepatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53Resolver::ResolverRule.TargetAddress": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
			Properties: map[string]*models.Property{
				"Ip": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-port",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::UsagePlan.ApiStage": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-apiid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Stage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-stage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Throttle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-throttle",
					ItemType:      "ThrottleSettings",
					Type:          "Map",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html",
			Properties: map[string]*models.Property{
				"ExecArgs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-execargs",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Executable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-executable",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MemorySize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-memorysize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Pinned": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-pinned",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"EncodingType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-encodingtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-environment",
					Type:          "Environment",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ImageBuilder::InfrastructureConfiguration.Logging": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html",
			Properties: map[string]*models.Property{
				"S3Logs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html#cfn-imagebuilder-infrastructureconfiguration-logging-s3logs",
					Type:          "S3Logs",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.TopicRulePayload": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html",
			Properties: map[string]*models.Property{
				"RuleDisabled": &models.Property{
					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": &models.Property{
					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",
				},
				"Actions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-actions",
					ItemType:      "Action",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AwsIotSqlVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-awsiotsqlversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ErrorAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-erroraction",
					Type:          "Action",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Method.IntegrationResponse": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html",
			Properties: map[string]*models.Property{
				"StatusCode": &models.Property{
					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",
				},
				"ContentHandling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integrationresponse-contenthandling",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResponseParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responseparameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ResponseTemplates": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responsetemplates",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"SelectionPattern": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-selectionpattern",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.InstanceIpv6Address": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-instanceipv6address.html",
			Properties: map[string]*models.Property{
				"Ipv6Address": &models.Property{
					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::Greengrass::FunctionDefinitionVersion.Function": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html",
			Properties: map[string]*models.Property{
				"FunctionArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Lambda::Function.DeadLetterConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html",
			Properties: map[string]*models.Property{
				"TargetArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html#cfn-lambda-function-deadletterconfig-targetarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html",
			Properties: map[string]*models.Property{
				"EndpointInput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html#cfn-sagemaker-monitoringschedule-monitoringinput-endpointinput",
					Required:      true,
					Type:          "EndpointInput",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.AggregationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-aggregationconfig.html",
			Properties: map[string]*models.Property{
				"AggregationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-aggregationconfig.html#cfn-appflow-flow-aggregationconfig-aggregationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::MLTransform.TransformParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html",
			Properties: map[string]*models.Property{
				"FindMatchesParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters",
					Type:          "FindMatchesParameters",
					UpdateType:    "Mutable",
				},
				"TransformType": &models.Property{
					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::MediaLive::Channel.H264ColorSpaceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264colorspacesettings.html",
			Properties: map[string]*models.Property{
				"ColorSpacePassthroughSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264colorspacesettings.html#cfn-medialive-channel-h264colorspacesettings-colorspacepassthroughsettings",
					Type:          "ColorSpacePassthroughSettings",
					UpdateType:    "Mutable",
				},
				"Rec601Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264colorspacesettings.html#cfn-medialive-channel-h264colorspacesettings-rec601settings",
					Type:          "Rec601Settings",
					UpdateType:    "Mutable",
				},
				"Rec709Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264colorspacesettings.html#cfn-medialive-channel-h264colorspacesettings-rec709settings",
					Type:          "Rec709Settings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.PassThroughSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-passthroughsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::SSM::MaintenanceWindowTask.Target": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.OriginGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html",
			Properties: map[string]*models.Property{
				"FailoverCriteria": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-failovercriteria",
					Required:      true,
					Type:          "OriginGroupFailoverCriteria",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-id",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Members": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-members",
					Required:      true,
					Type:          "OriginGroupMembers",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.GitSubmodulesConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html",
			Properties: map[string]*models.Property{
				"FetchSubmodules": &models.Property{
					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::Greengrass::FunctionDefinitionVersion.Execution": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html",
			Properties: map[string]*models.Property{
				"IsolationMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-isolationmode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RunAs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-runas",
					Type:          "RunAs",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.GlueConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-glueconfiguration.html",
			Properties: map[string]*models.Property{
				"DatabaseName": &models.Property{
					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": &models.Property{
					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::Macie::FindingsFilter.Criterion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-criterion.html",
		},
		"AWS::CodeBuild::Project.Artifacts": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html",
			Properties: map[string]*models.Property{
				"EncryptionDisabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-encryptiondisabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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",
				},
				"ArtifactIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-artifactidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NamespaceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-namespacetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OverrideArtifactName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-overrideartifactname",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Packaging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-packaging",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Cassandra::Table.ProvisionedThroughput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html",
			Properties: map[string]*models.Property{
				"ReadCapacityUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-readcapacityunits",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"WriteCapacityUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-writecapacityunits",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.StepConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html",
			Properties: map[string]*models.Property{
				"ActionOnFailure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-actiononfailure",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HadoopJarStep": &models.Property{
					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": &models.Property{
					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::Pinpoint::PushTemplate.APNSPushNotificationTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html",
			Properties: map[string]*models.Property{
				"Sound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-sound",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Title": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-title",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-action",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-body",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MediaUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-mediaurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.ApiUsagePlan": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html",
			Properties: map[string]*models.Property{
				"CreateUsagePlan": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html#sam-api-apiusageplan-createusageplan",
					PrimitiveType: "String",
					Required:      true,
				},
				"Description": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html#sam-api-apiusageplan-description",
					PrimitiveType: "String",
				},
				"Quota": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html#sam-api-apiusageplan-quota",
					Type:          "AWS::ApiGateway::UsagePlan.QuotaSettings",
				},
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html#sam-api-apiusageplan-tags",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Throttle": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html#sam-api-apiusageplan-throttle",
					Type:          "AWS::ApiGateway::UsagePlan.ThrottleSettings",
				},
				"UsagePlanName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiusageplan.html#sam-api-apiusageplan-usageplanname",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Serverless::StateMachine.Api": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineapi.html",
			Properties: map[string]*models.Property{
				"Auth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineapi.html#sam-statemachine-statemachineapi-auth",
					Type:          "ApiStateMachineAuth",
				},
				"Method": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineapi.html#sam-statemachine-statemachineapi-method",
					PrimitiveType: "String",
					Required:      true,
				},
				"Path": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineapi.html#sam-statemachine-statemachineapi-path",
					PrimitiveType: "String",
					Required:      true,
				},
				"RestApiId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineapi.html#sam-statemachine-statemachineapi-restapiid",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html",
			Properties: map[string]*models.Property{
				"CookieExpirationPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-cookieexpirationperiod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PolicyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-policyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-multiplexprogramchanneldestinationsettings.html",
			Properties: map[string]*models.Property{
				"MultiplexId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-multiplexprogramchanneldestinationsettings.html#cfn-medialive-channel-multiplexprogramchanneldestinationsettings-multiplexid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProgramName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-multiplexprogramchanneldestinationsettings.html#cfn-medialive-channel-multiplexprogramchanneldestinationsettings-programname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.OrStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementtwo.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementtwo.html#cfn-wafv2-rulegroup-orstatementtwo-statements",
					ItemType:      "StatementThree",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.OnSuccess": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-onsuccess.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-onsuccess.html#sam-function-onsuccess-destination",
					PrimitiveType: "String",
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-onsuccess.html#sam-function-onsuccess-type",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofilecredentials.html#cfn-appflow-connectorprofile-marketoconnectorprofilecredentials-clientid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ClientSecret": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofilecredentials.html#cfn-appflow-connectorprofile-marketoconnectorprofilecredentials-clientsecret",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ConnectorOAuthRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofilecredentials.html#cfn-appflow-connectorprofile-marketoconnectorprofilecredentials-connectoroauthrequest",
					Type:          "ConnectorOAuthRequest",
					UpdateType:    "Mutable",
				},
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofilecredentials.html#cfn-appflow-connectorprofile-marketoconnectorprofilecredentials-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Budgets::Budget.Notification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html",
			Properties: map[string]*models.Property{
				"ComparisonOperator": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-thresholdtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cassandra::Table.BillingMode": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html",
			Properties: map[string]*models.Property{
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-mode",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ProvisionedThroughput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-provisionedthroughput",
					Type:          "ProvisionedThroughput",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition.Function": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html",
			Properties: map[string]*models.Property{
				"FunctionArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::EMR::InstanceFleetConfig.Configuration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html",
			Properties: map[string]*models.Property{
				"ConfigurationProperties": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html#cfn-elasticmapreduce-instancefleetconfig-configuration-configurationproperties",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html#cfn-elasticmapreduce-instancefleetconfig-configuration-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Classification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html#cfn-elasticmapreduce-instancefleetconfig-configuration-classification",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::GameLift::GameServerGroup.LaunchTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.ConstraintsResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-constraintsresource.html",
			Properties: map[string]*models.Property{
				"S3Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-constraintsresource.html#cfn-sagemaker-monitoringschedule-constraintsresource-s3uri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.Rule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html",
			Properties: map[string]*models.Property{
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-priority",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Statement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-statement",
					Required:      true,
					Type:          "StatementOne",
					UpdateType:    "Mutable",
				},
				"VisibilityConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-visibilityconfig",
					Required:      true,
					Type:          "VisibilityConfig",
					UpdateType:    "Mutable",
				},
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-action",
					Type:          "RuleAction",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Athena::WorkGroup.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-tags.html#cfn-athena-workgroup-tags-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html",
			Properties: map[string]*models.Property{
				"HighAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-highaction",
					Type:          "AccountTakeoverActionType",
					UpdateType:    "Mutable",
				},
				"LowAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-lowaction",
					Type:          "AccountTakeoverActionType",
					UpdateType:    "Mutable",
				},
				"MediumAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-mediumaction",
					Type:          "AccountTakeoverActionType",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html",
			Properties: map[string]*models.Property{
				"ClientPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaybackenddefaults.html#cfn-appmesh-virtualgateway-virtualgatewaybackenddefaults-clientpolicy",
					Type:          "VirtualGatewayClientPolicy",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html",
			Properties: map[string]*models.Property{
				"PredefinedMetricType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringconfig.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringconfig.html#cfn-elasticloadbalancingv2-listenerrule-querystringconfig-values",
					ItemType:      "QueryStringKeyValue",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.RunCommandParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html",
			Properties: map[string]*models.Property{
				"RunCommandTargets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html#cfn-events-rule-runcommandparameters-runcommandtargets",
					ItemType:      "RunCommandTarget",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.S3Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LogGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-loggroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogStreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-logstreamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::XssMatchSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html#cfn-waf-xssmatchset-xssmatchtuple-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html",
			Properties: map[string]*models.Property{
				"Target": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-target",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AuthorizationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OperationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-operationname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.LogPattern": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html",
			Properties: map[string]*models.Property{
				"Pattern": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-pattern",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PatternName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-patternname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Rank": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-rank",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Classifier.XMLClassifier": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html",
			Properties: map[string]*models.Property{
				"RowTag": &models.Property{
					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",
				},
				"Classification": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::NetworkInterface.InstanceIpv6Address": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-instanceipv6address.html",
			Properties: map[string]*models.Property{
				"Ipv6Address": &models.Property{
					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::MediaLive::Channel.AudioTrackSelection": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiotrackselection.html",
			Properties: map[string]*models.Property{
				"Tracks": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiotrackselection.html#cfn-medialive-channel-audiotrackselection-tracks",
					ItemType:      "AudioTrack",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::AppFlow::Flow.S3OutputFormatConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3outputformatconfig.html",
			Properties: map[string]*models.Property{
				"AggregationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3outputformatconfig.html#cfn-appflow-flow-s3outputformatconfig-aggregationconfig",
					Type:          "AggregationConfig",
					UpdateType:    "Mutable",
				},
				"FileType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3outputformatconfig.html#cfn-appflow-flow-s3outputformatconfig-filetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrefixConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3outputformatconfig.html#cfn-appflow-flow-s3outputformatconfig-prefixconfig",
					Type:          "PrefixConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html",
			Properties: map[string]*models.Property{
				"ClientIPPreservationEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-clientippreservationenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EndpointId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-endpointid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html#cfn-globalaccelerator-endpointgroup-endpointconfiguration-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html",
			Properties: map[string]*models.Property{
				"AutoAddGroupOwner": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-groupowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppSync::DataSource.AwsIamConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html",
			Properties: map[string]*models.Property{
				"SigningRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingregion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SigningServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingservicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.DatabaseResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html#cfn-lakeformation-permissions-databaseresource-catalogid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html#cfn-lakeformation-permissions-databaseresource-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html",
			Properties: map[string]*models.Property{
				"ScheduledTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-scheduledtime",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"CreationTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-creationtime",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"EndpointName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-endpointname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FailureReason": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-failurereason",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LastModifiedTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-lastmodifiedtime",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MonitoringExecutionStatus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringexecutionstatus",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MonitoringScheduleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-monitoringschedulename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ProcessingJobArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringexecutionsummary.html#cfn-sagemaker-monitoringschedule-monitoringexecutionsummary-processingjobarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.InterBrokerCred": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-interbrokercred.html",
			Properties: map[string]*models.Property{
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-interbrokercred.html#cfn-amazonmq-broker-interbrokercred-password",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-interbrokercred.html#cfn-amazonmq-broker-interbrokercred-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.IamInstanceProfileSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-iaminstanceprofile.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-iaminstanceprofile.html#cfn-ec2-spotfleet-iaminstanceprofilespecification-arn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html",
			Properties: map[string]*models.Property{
				"ActionName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html#cfn-iotanalytics-dataset-action-containeraction",
					Type:          "ContainerAction",
					UpdateType:    "Mutable",
				},
				"QueryAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html#cfn-iotanalytics-dataset-action-queryaction",
					Type:          "QueryAction",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.Cognito": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cognito.html",
			Properties: map[string]*models.Property{
				"Trigger": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cognito.html#sam-function-cognito-trigger",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
				},
				"UserPool": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cognito.html#sam-function-cognito-userpool",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html#cfn-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html#cfn-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials-clientid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ClientSecret": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html#cfn-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials-clientsecret",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ConnectorOAuthRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html#cfn-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials-connectoroauthrequest",
					Type:          "ConnectorOAuthRequest",
					UpdateType:    "Mutable",
				},
				"RefreshToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html#cfn-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials-refreshtoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html",
			Properties: map[string]*models.Property{
				"PredefinedLoadMetricType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedloadmetricspecification-resourcelabel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.ScalingConstraints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingconstraints.html",
			Properties: map[string]*models.Property{
				"MinCapacity": &models.Property{
					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",
				},
				"MaxCapacity": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.Rec601Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rec601settings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::AppConfig::Environment.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html#cfn-appconfig-environment-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html#cfn-appconfig-environment-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html",
			Properties: map[string]*models.Property{
				"UsageStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html#cfn-ec2-ec2fleet-capacityreservationoptionsrequest-usagestrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EMR::Cluster.InstanceTypeConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html",
			Properties: map[string]*models.Property{
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"EbsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-ebsconfiguration",
					Type:          "EbsConfiguration",
					UpdateType:    "Immutable",
				},
				"InstanceType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-weightedcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"BidPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-bidprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BidPriceAsPercentageOfOnDemandPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-bidpriceaspercentageofondemandprice",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::TopicRule.FirehoseAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html",
			Properties: map[string]*models.Property{
				"DeliveryStreamName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html#cfn-iot-topicrule-firehoseaction-separator",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::LayerVersion.Content": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html",
			Properties: map[string]*models.Property{
				"S3Bucket": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3objectversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.EndpointInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html",
			Properties: map[string]*models.Property{
				"S3InputMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-s3inputmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndpointName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-endpointname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LocalPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-localpath",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"S3DataDistributionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-endpointinput.html#cfn-sagemaker-monitoringschedule-endpointinput-s3datadistributiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html",
			Properties: map[string]*models.Property{
				"NotificationTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html#cfn-as-group-notificationconfigurations-notificationtypes",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TopicARN": &models.Property{
					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::CodePipeline::CustomActionType.ConfigurationProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html",
			Properties: map[string]*models.Property{
				"Queryable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-queryable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Required": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html",
			Properties: map[string]*models.Property{
				"AdjustmentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-cluster-simplescalingpolicyconfiguration-adjustmenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CoolDown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-cluster-simplescalingpolicyconfiguration-cooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ScalingAdjustment": &models.Property{
					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::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html",
			Properties: map[string]*models.Property{
				"ServiceRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html#cfn-elasticbeanstalk-application-applicationresourcelifecycleconfig-servicerole",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VersionLifecycleConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html#cfn-elasticbeanstalk-application-applicationresourcelifecycleconfig-versionlifecycleconfig",
					Type:          "ApplicationVersionLifecycleConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsAkamaiSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html",
			Properties: map[string]*models.Property{
				"Token": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-token",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectionRetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-connectionretryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FilecacheDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-filecacheduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HttpTransferMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-httptransfermode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-numretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RestartDelay": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-restartdelay",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Salt": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsakamaisettings.html#cfn-medialive-channel-hlsakamaisettings-salt",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.ScalingConstraints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html",
			Properties: map[string]*models.Property{
				"MinCapacity": &models.Property{
					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",
				},
				"MaxCapacity": &models.Property{
					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",
				},
			},
		},
		"AWS::MSK::Cluster.NodeExporter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html",
			Properties: map[string]*models.Property{
				"EnabledInBroker": &models.Property{
					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::MediaLive::Channel.OutputDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html",
			Properties: map[string]*models.Property{
				"Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-settings",
					ItemType:      "OutputDestinationSettings",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MediaPackageSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-mediapackagesettings",
					ItemType:      "MediaPackageOutputDestinationSettings",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MultiplexSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-multiplexsettings",
					Type:          "MultiplexProgramChannelDestinationSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::WebACL.WafAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-action.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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::ApiGateway::Deployment.MethodSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html",
			Properties: map[string]*models.Property{
				"ResourcePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-resourcepath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheTtlInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachettlinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CachingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"HttpMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-httpmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-metricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ThrottlingRateLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingratelimit",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CacheDataEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachedataencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DataTraceEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-datatraceenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LoggingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-logginglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThrottlingBurstLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingburstlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EventSchemas::Discoverer.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::MediaLive::Channel.AudioPidSelection": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiopidselection.html",
			Properties: map[string]*models.Property{
				"Pid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiopidselection.html#cfn-medialive-channel-audiopidselection-pid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.ConnectorOperator": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html",
			Properties: map[string]*models.Property{
				"ServiceNow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-servicenow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Zendesk": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-zendesk",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GoogleAnalytics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-googleanalytics",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Marketo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-marketo",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-s3",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Singular": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-singular",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Datadog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-datadog",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dynatrace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-dynatrace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Salesforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-salesforce",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Amplitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-amplitude",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InforNexus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-infornexus",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Trendmicro": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-trendmicro",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Slack": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-slack",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Veeva": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html#cfn-appflow-flow-connectoroperator-veeva",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.SourceFlowConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html",
			Properties: map[string]*models.Property{
				"ConnectorProfileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-connectorprofilename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectorType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-connectortype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SourceConnectorProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-sourceconnectorproperties",
					Required:      true,
					Type:          "SourceConnectorProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.AuthorizationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html",
			Properties: map[string]*models.Property{
				"AccessPointId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html#cfn-ecs-taskdefinition-authorizationconfig-accesspointid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IAM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html#cfn-ecs-taskdefinition-authorizationconfig-iam",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::TopicRule.DynamoDBv2Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html#cfn-iot-topicrule-dynamodbv2action-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PutItem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html#cfn-iot-topicrule-dynamodbv2action-putitem",
					Type:          "PutItemInput",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-datasetcontentversionvalue.html",
			Properties: map[string]*models.Property{
				"DatasetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-datasetcontentversionvalue.html#cfn-iotanalytics-dataset-variable-datasetcontentversionvalue-datasetname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::Workteam.MemberDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html",
			Properties: map[string]*models.Property{
				"CognitoMemberDefinition": &models.Property{
					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::CloudWatch::Alarm.Metric": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html",
			Properties: map[string]*models.Property{
				"Namespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html#cfn-cloudwatch-alarm-metric-namespace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html#cfn-cloudwatch-alarm-metric-dimensions",
					DuplicatesAllowed: true,
					ItemType:          "Dimension",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MetricName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html#cfn-cloudwatch-alarm-metric-metricname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DataPipeline::Pipeline.Field": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html#cfn-datapipeline-pipeline-pipelineobjects-fields-refvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StringValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html#cfn-datapipeline-pipeline-pipelineobjects-fields-stringvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::CarrierGateway.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-carriergateway-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-carriergateway-tags.html#cfn-ec2-carriergateway-tags-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::FSx::FileSystem.WindowsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html",
			Properties: map[string]*models.Property{
				"AutomaticBackupRetentionDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-automaticbackupretentiondays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DeploymentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-deploymenttype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PreferredSubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-preferredsubnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ThroughputCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-throughputcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"WeeklyMaintenanceStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-weeklymaintenancestarttime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ActiveDirectoryId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-activedirectoryid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CopyTagsToBackups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-copytagstobackups",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"DailyAutomaticBackupStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-dailyautomaticbackupstarttime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SelfManagedActiveDirectoryConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration",
					Type:          "SelfManagedActiveDirectoryConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html",
			Properties: map[string]*models.Property{
				"LocalDeviceResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localdeviceresourcedata",
					Type:          "LocalDeviceResourceData",
					UpdateType:    "Immutable",
				},
				"LocalVolumeResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localvolumeresourcedata",
					Type:          "LocalVolumeResourceData",
					UpdateType:    "Immutable",
				},
				"S3MachineLearningModelResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-s3machinelearningmodelresourcedata",
					Type:          "S3MachineLearningModelResourceData",
					UpdateType:    "Immutable",
				},
				"SageMakerMachineLearningModelResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-sagemakermachinelearningmodelresourcedata",
					Type:          "SageMakerMachineLearningModelResourceData",
					UpdateType:    "Immutable",
				},
				"SecretsManagerSecretResourceData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-secretsmanagersecretresourcedata",
					Type:          "SecretsManagerSecretResourceData",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource.OneDriveConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html",
			Properties: map[string]*models.Property{
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"InclusionPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-inclusionpatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"OneDriveUsers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-onedriveusers",
					Required:      true,
					Type:          "OneDriveUsers",
					UpdateType:    "Mutable",
				},
				"SecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-secretarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TenantDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-tenantdomain",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ExclusionPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveconfiguration.html#cfn-kendra-datasource-onedriveconfiguration-exclusionpatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::HostedZone.HostedZoneTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetag.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetag.html#cfn-route53-hostedzone-hostedzonetag-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetag.html#cfn-route53-hostedzone-hostedzonetag-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::StepFunctions::StateMachine.TracingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tracingconfiguration.html#cfn-stepfunctions-statemachine-tracingconfiguration-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.IotEventsAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html",
			Properties: map[string]*models.Property{
				"InputName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-inputname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MessageId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-messageid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.EncryptionAtRest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html",
			Properties: map[string]*models.Property{
				"DataVolumeKMSKeyId": &models.Property{
					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::StepFunctions::StateMachine.S3Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html#cfn-stepfunctions-statemachine-s3location-bucket",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html#cfn-stepfunctions-statemachine-s3location-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-s3location.html#cfn-stepfunctions-statemachine-s3location-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Transfer::Server.Protocol": &models.PropertyType{
			Property: models.Property{
				PrimitiveType: "String",
			},
		},
		"AWS::DataPipeline::Pipeline.ParameterValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parametervalues.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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::Glue::Trigger.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html",
			Properties: map[string]*models.Property{
				"NotificationProperty": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-notificationproperty",
					Type:          "NotificationProperty",
					UpdateType:    "Mutable",
				},
				"SecurityConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Arguments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"CrawlerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-crawlername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"JobName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-jobname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.H264FilterSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264filtersettings.html",
			Properties: map[string]*models.Property{
				"TemporalFilterSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264filtersettings.html#cfn-medialive-channel-h264filtersettings-temporalfiltersettings",
					Type:          "TemporalFilterSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.MultiplexOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-multiplexoutputsettings.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-multiplexoutputsettings.html#cfn-medialive-channel-multiplexoutputsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.S3Output": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html",
			Properties: map[string]*models.Property{
				"LocalPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html#cfn-sagemaker-monitoringschedule-s3output-localpath",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"S3UploadMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html#cfn-sagemaker-monitoringschedule-s3output-s3uploadmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-s3output.html#cfn-sagemaker-monitoringschedule-s3output-s3uri",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Transfer::Server.IdentityProviderDetails": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-identityproviderdetails.html",
			Properties: map[string]*models.Property{
				"Url": &models.Property{
					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",
				},
				"InvocationRole": &models.Property{
					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",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.AndStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementone.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementone.html#cfn-wafv2-rulegroup-andstatementone-statements",
					ItemType:      "StatementTwo",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.VpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-vpcconfig.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-vpcconfig.html#cfn-sagemaker-monitoringschedule-vpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-vpcconfig.html#cfn-sagemaker-monitoringschedule-vpcconfig-subnets",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.ScalingAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingaction.html",
			Properties: map[string]*models.Property{
				"Market": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingaction.html#cfn-elasticmapreduce-cluster-scalingaction-market",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SimpleScalingPolicyConfiguration": &models.Property{
					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::IoT::TopicRule.CloudwatchAlarmAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"AlarmName": &models.Property{
					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",
				},
			},
		},
		"AWS::PinpointEmail::Identity.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-tags.html#cfn-pinpointemail-identity-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-tags.html#cfn-pinpointemail-identity-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualRouter.PortMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html",
			Properties: map[string]*models.Property{
				"Port": &models.Property{
					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": &models.Property{
					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::CloudWatch::InsightRule.Tags": &models.PropertyType{
			Property: models.Property{
				ItemType:   "Tag",
				Type:       "List",
				UpdateType: "Mutable",
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-insightrule-tags.html",
		},
		"AWS::ApplicationInsights::Application.ComponentConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html",
			Properties: map[string]*models.Property{
				"ConfigurationDetails": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html#cfn-applicationinsights-application-componentconfiguration-configurationdetails",
					Type:          "ConfigurationDetails",
					UpdateType:    "Mutable",
				},
				"SubComponentTypeConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html#cfn-applicationinsights-application-componentconfiguration-subcomponenttypeconfigurations",
					ItemType:      "SubComponentTypeConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html",
			Properties: map[string]*models.Property{
				"QueryStringBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html#cfn-cloudfront-originrequestpolicy-querystringsconfig-querystringbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"QueryStrings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html#cfn-cloudfront-originrequestpolicy-querystringsconfig-querystrings",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.RemixSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-remixsettings.html",
			Properties: map[string]*models.Property{
				"ChannelMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-remixsettings.html#cfn-medialive-channel-remixsettings-channelmappings",
					ItemType:      "AudioChannelMapping",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ChannelsIn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-remixsettings.html#cfn-medialive-channel-remixsettings-channelsin",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ChannelsOut": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-remixsettings.html#cfn-medialive-channel-remixsettings-channelsout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html",
			Properties: map[string]*models.Property{
				"ScopeName": &models.Property{
					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",
				},
				"ScopeDescription": &models.Property{
					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",
				},
			},
		},
		"AWS::Kendra::Index.ValueImportanceItems": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-valueimportanceitems.html",
			Properties: map[string]*models.Property{
				"ValueImportanceItems": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-valueimportanceitems.html#cfn-kendra-index-valueimportanceitems-valueimportanceitems",
					ItemType:      "ValueImportanceItem",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.ScriptBootstrapActionConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scriptbootstrapactionconfig.html",
			Properties: map[string]*models.Property{
				"Args": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scriptbootstrapactionconfig.html#cfn-elasticmapreduce-cluster-scriptbootstrapactionconfig-args",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Path": &models.Property{
					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::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-ioteventsdestinationconfiguration.html",
			Properties: map[string]*models.Property{
				"InputName": &models.Property{
					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": &models.Property{
					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::SageMaker::EndpointConfig.DataCaptureConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html",
			Properties: map[string]*models.Property{
				"CaptureContentTypeHeader": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader",
					Type:          "CaptureContentTypeHeader",
					UpdateType:    "Immutable",
				},
				"CaptureOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-captureoptions",
					ItemType:      "CaptureOption",
					Required:      true,
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"DestinationS3Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-destinations3uri",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"EnableCapture": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-enablecapture",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"InitialSamplingPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-initialsamplingpercentage",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Config::RemediationConfiguration.ResourceValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-resourcevalue.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-resourcevalue.html#cfn-config-remediationconfiguration-resourcevalue-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::LoggerDefinition.Logger": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html",
			Properties: map[string]*models.Property{
				"Component": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-space",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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::KinesisAnalytics::Application.JSONMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-jsonmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordRowPath": &models.Property{
					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::Kinesis::Stream.StreamEncryption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html",
			Properties: map[string]*models.Property{
				"KeyId": &models.Property{
					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",
				},
				"EncryptionType": &models.Property{
					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",
				},
			},
		},
		"AWS::S3::Bucket.DataExport": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					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": &models.Property{
					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::AppFlow::Flow.DynatraceSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-dynatracesourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-dynatracesourceproperties.html#cfn-appflow-flow-dynatracesourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Table.Order": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html",
			Properties: map[string]*models.Property{
				"SortOrder": &models.Property{
					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",
				},
				"Column": &models.Property{
					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",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.Environment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-environment.html",
		},
		"AWS::SageMaker::MonitoringSchedule.StoppingCondition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-stoppingcondition.html",
			Properties: map[string]*models.Property{
				"MaxRuntimeInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-stoppingcondition.html#cfn-sagemaker-monitoringschedule-stoppingcondition-maxruntimeinseconds",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::CustomActionType.Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html",
			Properties: map[string]*models.Property{
				"RevisionUrlTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-revisionurltemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThirdPartyConfigurationUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-thirdpartyconfigurationurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EntityUrlTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-entityurltemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExecutionUrlTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-executionurltemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html",
			Properties: map[string]*models.Property{
				"AWSKMSKeyARN": &models.Property{
					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.Processor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html",
			Properties: map[string]*models.Property{
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html#cfn-kinesisfirehose-deliverystream-processor-parameters",
					ItemType:      "ProcessorParameter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::EC2::SpotFleet.TargetGroupsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html",
			Properties: map[string]*models.Property{
				"TargetGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html#cfn-ec2-spotfleet-targetgroupsconfig-targetgroups",
					ItemType:      "TargetGroup",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html",
			Properties: map[string]*models.Property{
				"CookieName": &models.Property{
					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": &models.Property{
					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::IoTAnalytics::Dataset.DatasetContentDeliveryRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryrule.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryrule.html#cfn-iotanalytics-dataset-datasetcontentdeliveryrule-entryname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html",
			Properties: map[string]*models.Property{
				"SqlType": &models.Property{
					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",
				},
				"Mapping": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalytics-applicationreferencedatasource-recordcolumn-mapping",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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",
				},
			},
		},
		"AWS::SES::ReceiptRule.Rule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html",
			Properties: map[string]*models.Property{
				"TlsPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-tlspolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Actions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-actions",
					ItemType:      "Action",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Recipients": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-recipients",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ScanEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-scanenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.RetryStrategy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html",
			Properties: map[string]*models.Property{
				"Attempts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html#cfn-batch-jobdefinition-retrystrategy-attempts",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.CacheBehavior": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html",
			Properties: map[string]*models.Property{
				"RealtimeLogConfigArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-realtimelogconfigarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetOriginId": &models.Property{
					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",
				},
				"CachePolicyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachepolicyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldLevelEncryptionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-fieldlevelencryptionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ForwardedValues": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-forwardedvalues",
					Type:          "ForwardedValues",
					UpdateType:    "Mutable",
				},
				"PathPattern": &models.Property{
					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",
				},
				"MinTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-minttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"TrustedSigners": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-trustedsigners",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ViewerProtocolPolicy": &models.Property{
					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",
				},
				"DefaultTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-defaultttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"LambdaFunctionAssociations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-lambdafunctionassociations",
					ItemType:      "LambdaFunctionAssociation",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OriginRequestPolicyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-originrequestpolicyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SmoothStreaming": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-smoothstreaming",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AllowedMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-allowedmethods",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CachedMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachedmethods",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Compress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-compress",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-maxttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.LaunchTemplateSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					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::Redshift::ClusterParameterGroup.Parameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-property-redshift-clusterparametergroup-parameter.html",
			Properties: map[string]*models.Property{
				"ParameterName": &models.Property{
					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": &models.Property{
					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::StepFunctions::Activity.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::WAFv2::WebACL.RateBasedStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html",
			Properties: map[string]*models.Property{
				"Limit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ScopeDownStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement",
					Type:          "StatementThree",
					UpdateType:    "Mutable",
				},
				"AggregateKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-forwardedipconfig",
					Type:          "ForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-action",
					Required:      true,
					Type:          "GrpcGatewayRouteAction",
					UpdateType:    "Mutable",
				},
				"Match": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroute.html#cfn-appmesh-gatewayroute-grpcgatewayroute-match",
					Required:      true,
					Type:          "GrpcGatewayRouteMatch",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-sourcebundle.html",
			Properties: map[string]*models.Property{
				"S3Bucket": &models.Property{
					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": &models.Property{
					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::MediaLive::Channel.RtmpOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpoutputsettings.html",
			Properties: map[string]*models.Property{
				"NumRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpoutputsettings.html#cfn-medialive-channel-rtmpoutputsettings-numretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CertificateMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpoutputsettings.html#cfn-medialive-channel-rtmpoutputsettings-certificatemode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectionRetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpoutputsettings.html#cfn-medialive-channel-rtmpoutputsettings-connectionretryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpoutputsettings.html#cfn-medialive-channel-rtmpoutputsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.HostVolumeProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes-host.html",
			Properties: map[string]*models.Property{
				"SourcePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes-host.html#cfn-ecs-taskdefinition-volumes-host-sourcepath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Trigger.Predicate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html",
			Properties: map[string]*models.Property{
				"Conditions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-conditions",
					ItemType:      "Condition",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Logical": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-logical",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration.html",
			Properties: map[string]*models.Property{
				"CodeContentType": &models.Property{
					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",
				},
				"CodeContent": &models.Property{
					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",
				},
			},
		},
		"AWS::Lambda::Function.TracingConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tracingconfig.html",
			Properties: map[string]*models.Property{
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tracingconfig.html#cfn-lambda-function-tracingconfig-mode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.MountPoints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html",
			Properties: map[string]*models.Property{
				"ContainerPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-containerpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReadOnly": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-readonly",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SourceVolume": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-sourcevolume",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.BuildStatusConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html",
			Properties: map[string]*models.Property{
				"Context": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html#cfn-codebuild-project-buildstatusconfig-context",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html#cfn-codebuild-project-buildstatusconfig-targeturl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.NetworkConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html",
			Properties: map[string]*models.Property{
				"AwsVpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html#cfn-events-rule-networkconfiguration-awsvpcconfiguration",
					Type:          "AwsVpcConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.InputAttachment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html",
			Properties: map[string]*models.Property{
				"AutomaticInputFailoverSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-automaticinputfailoversettings",
					Type:          "AutomaticInputFailoverSettings",
					UpdateType:    "Mutable",
				},
				"InputAttachmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-inputattachmentname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-inputid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-inputsettings",
					Type:          "InputSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.ElasticGpuSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticgpuspecification.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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::Kendra::Faq.TagList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-faq-taglist.html",
			Properties: map[string]*models.Property{
				"TagList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-faq-taglist.html#cfn-kendra-faq-taglist-taglist",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html",
			Properties: map[string]*models.Property{
				"ApplicationCodeConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationcodeconfiguration",
					Type:          "ApplicationCodeConfiguration",
					UpdateType:    "Mutable",
				},
				"ApplicationSnapshotConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsnapshotconfiguration",
					Type:          "ApplicationSnapshotConfiguration",
					UpdateType:    "Mutable",
				},
				"EnvironmentProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-environmentproperties",
					Type:          "EnvironmentProperties",
					UpdateType:    "Mutable",
				},
				"FlinkApplicationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-flinkapplicationconfiguration",
					Type:          "FlinkApplicationConfiguration",
					UpdateType:    "Mutable",
				},
				"SqlApplicationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-sqlapplicationconfiguration",
					Type:          "SqlApplicationConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html",
			Properties: map[string]*models.Property{
				"CertificateChain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextfiletrust-certificatechain",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html",
			Properties: map[string]*models.Property{
				"AppIdClientRegex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html#cfn-appsync-graphqlapi-cognitouserpoolconfig-appidclientregex",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AwsRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html#cfn-appsync-graphqlapi-cognitouserpoolconfig-awsregion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html#cfn-appsync-graphqlapi-cognitouserpoolconfig-userpoolid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::EventSourceMapping.DestinationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html",
			Properties: map[string]*models.Property{
				"OnFailure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html#cfn-lambda-eventsourcemapping-destinationconfig-onfailure",
					Type:          "OnFailure",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html",
			Properties: map[string]*models.Property{
				"FallbackBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html#cfn-wafv2-webacl-ipsetforwardedipconfiguration-fallbackbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HeaderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html#cfn-wafv2-webacl-ipsetforwardedipconfiguration-headername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Position": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html#cfn-wafv2-webacl-ipsetforwardedipconfiguration-position",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.ManagedRuleGroupStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html",
			Properties: map[string]*models.Property{
				"ExcludedRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-excludedrules",
					ItemType:      "ExcludedRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VendorName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-vendorname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.ProjectTriggers": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html",
			Properties: map[string]*models.Property{
				"BuildType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-buildtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FilterGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-filtergroups",
					ItemType:      "FilterGroup",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Webhook": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-webhook",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html",
			Properties: map[string]*models.Property{
				"CSVMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-mappingparameters-csvmappingparameters",
					Type:          "CSVMappingParameters",
					UpdateType:    "Mutable",
				},
				"JSONMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-mappingparameters-jsonmappingparameters",
					Type:          "JSONMappingParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption.html",
			Properties: map[string]*models.Property{
				"LogStreamARN": &models.Property{
					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::Elasticsearch::Domain.VPCOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html#cfn-elasticsearch-domain-vpcoptions-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html#cfn-elasticsearch-domain-vpcoptions-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Glue::Classifier.JsonClassifier": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html",
			Properties: map[string]*models.Property{
				"JsonPath": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration.html",
			Properties: map[string]*models.Property{
				"DocumentDataFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration-documentdatafieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcestandardknowledgearticletypeconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.Scram": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html#cfn-msk-cluster-scram-enabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::OpsWorks::Stack.ElasticIp": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-elasticip.html",
			Properties: map[string]*models.Property{
				"Ip": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-elasticip.html#cfn-opsworks-stack-elasticip-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EFS::FileSystem.ElasticFileSystemTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html#cfn-efs-filesystem-elasticfilesystemtag-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html#cfn-efs-filesystem-elasticfilesystemtag-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html",
			Properties: map[string]*models.Property{
				"ReferenceSchema": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-referencedatasource-s3referencedatasource",
					Type:          "S3ReferenceDataSource",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-referencedatasource-tablename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html",
			Properties: map[string]*models.Property{
				"BucketARN": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::S3::Bucket.ServerSideEncryptionByDefault": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html",
			Properties: map[string]*models.Property{
				"KMSMasterKeyID": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-kmsmasterkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SSEAlgorithm": &models.Property{
					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::WAFRegional::IPSet.IPSetDescriptor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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": &models.Property{
					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::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofilecredentials.html#cfn-appflow-connectorprofile-slackconnectorprofilecredentials-clientid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ClientSecret": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofilecredentials.html#cfn-appflow-connectorprofile-slackconnectorprofilecredentials-clientsecret",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ConnectorOAuthRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofilecredentials.html#cfn-appflow-connectorprofile-slackconnectorprofilecredentials-connectoroauthrequest",
					Type:          "ConnectorOAuthRequest",
					UpdateType:    "Mutable",
				},
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofilecredentials.html#cfn-appflow-connectorprofile-slackconnectorprofilecredentials-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.TcpRoute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-timeout",
					Type:          "TcpTimeout",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html",
			Properties: map[string]*models.Property{
				"RoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-securitygroupids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckcustomconfig.html",
			Properties: map[string]*models.Property{
				"FailureThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckcustomconfig.html#cfn-servicediscovery-service-healthcheckcustomconfig-failurethreshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.VersioningConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-versioningconfiguration.html",
			Properties: map[string]*models.Property{
				"MaxVersions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-versioningconfiguration.html#cfn-iotanalytics-dataset-versioningconfiguration-maxversions",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Unlimited": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-versioningconfiguration.html#cfn-iotanalytics-dataset-versioningconfiguration-unlimited",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::Index.TagList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-taglist.html",
			Properties: map[string]*models.Property{
				"TagList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-taglist.html#cfn-kendra-index-taglist-taglist",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftretryoptions.html",
			Properties: map[string]*models.Property{
				"DurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftretryoptions.html#cfn-kinesisfirehose-deliverystream-redshiftretryoptions-durationinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBInstance.ProcessorFeature": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html#cfn-rds-dbinstance-processorfeature-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html#cfn-rds-dbinstance-processorfeature-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Classifier.GrokClassifier": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html",
			Properties: map[string]*models.Property{
				"CustomPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-custompatterns",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GrokPattern": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Classification": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.CSVMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-csvmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordColumnDelimiter": &models.Property{
					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": &models.Property{
					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::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html",
			Properties: map[string]*models.Property{
				"ParallelismConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-parallelismconfiguration",
					Type:          "ParallelismConfiguration",
					UpdateType:    "Mutable",
				},
				"CheckpointConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-checkpointconfiguration",
					Type:          "CheckpointConfiguration",
					UpdateType:    "Mutable",
				},
				"MonitoringConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-monitoringconfiguration",
					Type:          "MonitoringConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DisableTemplateValidation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-disabletemplatevalidation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Info": &models.Property{
					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",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.MetricDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Batch::JobDefinition.Secret": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-secret.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-secret.html#cfn-batch-jobdefinition-secret-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ValueFrom": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-secret.html#cfn-batch-jobdefinition-secret-valuefrom",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.EC2TagSet": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html",
			Properties: map[string]*models.Property{
				"Ec2TagSetList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html#cfn-codedeploy-deploymentgroup-ec2tagset-ec2tagsetlist",
					ItemType:      "EC2TagSetListObject",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.EncryptionKey": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore-encryptionkey.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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::GameLift::GameServerGroup.VpcSubnets": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-vpcsubnets.html",
			Properties: map[string]*models.Property{
				"VpcSubnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-vpcsubnets.html#cfn-gamelift-gameservergroup-vpcsubnets-vpcsubnets",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::IoT::ProvisioningTemplate.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-tags.html#cfn-iot-provisioningtemplate-tags-tags",
					PrimitiveItemType: "Json",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.InputChannelLevel": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputchannellevel.html",
			Properties: map[string]*models.Property{
				"Gain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputchannellevel.html#cfn-medialive-channel-inputchannellevel-gain",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InputChannel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputchannellevel.html#cfn-medialive-channel-inputchannellevel-inputchannel",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.Backend": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html",
			Properties: map[string]*models.Property{
				"VirtualService": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html#cfn-appmesh-virtualnode-backend-virtualservice",
					Type:          "VirtualServiceBackend",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-jsonmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordRowPath": &models.Property{
					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::Serverless::HttpApi.HttpApiAuth": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapiauth.html",
			Properties: map[string]*models.Property{
				"Authorizers": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapiauth.html#sam-httpapi-httpapiauth-authorizers",
					Type:          "OAuth2Authorizer",
				},
				"DefaultAuthorizer": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapiauth.html#sam-httpapi-httpapiauth-defaultauthorizer",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringResources": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringresources.html",
			Properties: map[string]*models.Property{
				"ClusterConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringresources.html#cfn-sagemaker-monitoringschedule-monitoringresources-clusterconfig",
					Required:      true,
					Type:          "ClusterConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html",
			Properties: map[string]*models.Property{
				"RouteSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-routesettings",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"StageVariables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-stagevariables",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AccessLogSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-accesslogsettings",
					Type:          "AccessLogSettings",
					UpdateType:    "Mutable",
				},
				"AutoDeploy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-autodeploy",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DefaultRouteSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-defaultroutesettings",
					Type:          "RouteSettings",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-stageoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stageoverrides-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Budgets::Budget.TimePeriod": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html",
			Properties: map[string]*models.Property{
				"End": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html#cfn-budgets-budget-timeperiod-end",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Start": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html#cfn-budgets-budget-timeperiod-start",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.Parameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html",
			Properties: map[string]*models.Property{
				"ExcludeBootVolume": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludebootvolume",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.CreditSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html",
			Properties: map[string]*models.Property{
				"CPUCredits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html#cfn-ec2-instance-creditspecification-cpucredits",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.Volume": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html",
			Properties: map[string]*models.Property{
				"DockerVolumeConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volume-dockervolumeconfiguration",
					Type:          "DockerVolumeConfiguration",
					UpdateType:    "Immutable",
				},
				"EFSVolumeConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volume-efsvolumeconfiguration",
					Type:          "EFSVolumeConfiguration",
					UpdateType:    "Immutable",
				},
				"Host": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volumes-host",
					Type:          "HostVolumeProperties",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volumes-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::Group.GroupVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html",
			Properties: map[string]*models.Property{
				"LoggerDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-loggerdefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-resourcedefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubscriptionDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-subscriptiondefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ConnectorDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-connectordefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CoreDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-coredefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DeviceDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-devicedefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FunctionDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-functiondefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource.ServiceNowConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html",
			Properties: map[string]*models.Property{
				"HostUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html#cfn-kendra-datasource-servicenowconfiguration-hosturl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"KnowledgeArticleConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html#cfn-kendra-datasource-servicenowconfiguration-knowledgearticleconfiguration",
					Type:          "ServiceNowKnowledgeArticleConfiguration",
					UpdateType:    "Mutable",
				},
				"SecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html#cfn-kendra-datasource-servicenowconfiguration-secretarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ServiceCatalogConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html#cfn-kendra-datasource-servicenowconfiguration-servicecatalogconfiguration",
					Type:          "ServiceNowServiceCatalogConfiguration",
					UpdateType:    "Mutable",
				},
				"ServiceNowBuildVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html#cfn-kendra-datasource-servicenowconfiguration-servicenowbuildversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::DomainName.MutualTlsAuthentication": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html",
			Properties: map[string]*models.Property{
				"TruststoreUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TruststoreVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.CustomComponent": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html",
			Properties: map[string]*models.Property{
				"ComponentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html#cfn-applicationinsights-application-customcomponent-componentname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ResourceList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html#cfn-applicationinsights-application-customcomponent-resourcelist",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html",
			Properties: map[string]*models.Property{
				"MaximumExecutionFrequency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-maximumexecutionfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceIdScope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-resourceidscope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceTypesScope": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-resourcetypesscope",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RuleIdentifier": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-tagkeyscope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagValueScope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-tagvaluescope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-inputparameters",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.HttpAuthorization": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html",
			Properties: map[string]*models.Property{
				"Sigv4": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html#cfn-iot-topicrule-httpauthorization-sigv4",
					Type:          "SigV4Authorization",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.TableWithColumnsResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html",
			Properties: map[string]*models.Property{
				"ColumnWildcard": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnwildcard",
					Type:          "ColumnWildcard",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-catalogid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ColumnNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.Alarm": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html",
			Properties: map[string]*models.Property{
				"AlarmName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html#cfn-applicationinsights-application-alarm-alarmname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Severity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html#cfn-applicationinsights-application-alarm-severity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::ProvisioningTemplate.ProvisioningHook": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html",
			Properties: map[string]*models.Property{
				"PayloadVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html#cfn-iot-provisioningtemplate-provisioninghook-payloadversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html#cfn-iot-provisioningtemplate-provisioninghook-targetarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html",
			Properties: map[string]*models.Property{
				"MonitoringAppSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringappspecification",
					Required:      true,
					Type:          "MonitoringAppSpecification",
					UpdateType:    "Mutable",
				},
				"MonitoringInputs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringinputs",
					Required:      true,
					Type:          "MonitoringInputs",
					UpdateType:    "Mutable",
				},
				"MonitoringResources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringresources",
					Required:      true,
					Type:          "MonitoringResources",
					UpdateType:    "Mutable",
				},
				"NetworkConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-networkconfig",
					Type:          "NetworkConfig",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StoppingCondition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-stoppingcondition",
					Type:          "StoppingCondition",
					UpdateType:    "Mutable",
				},
				"BaselineConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-baselineconfig",
					Type:          "BaselineConfig",
					UpdateType:    "Mutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-environment",
					Type:          "Environment",
					UpdateType:    "Mutable",
				},
				"MonitoringOutputConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringjobdefinition.html#cfn-sagemaker-monitoringschedule-monitoringjobdefinition-monitoringoutputconfig",
					Required:      true,
					Type:          "MonitoringOutputConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ClientPolicyTls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html",
			Properties: map[string]*models.Property{
				"Enforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-enforce",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Ports": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-ports",
					PrimitiveItemType: "Integer",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Validation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-validation",
					Required:      true,
					Type:          "TlsValidationContext",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.Deployment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html",
			Properties: map[string]*models.Property{
				"Revision": &models.Property{
					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",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html#cfn-properties-codedeploy-deploymentgroup-deployment-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IgnoreApplicationStopFailures": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html#cfn-properties-codedeploy-deploymentgroup-deployment-ignoreapplicationstopfailures",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Athena::WorkGroup.WorkGroupConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html",
			Properties: map[string]*models.Property{
				"BytesScannedCutoffPerQuery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-bytesscannedcutoffperquery",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EnforceWorkGroupConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PublishCloudWatchMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-publishcloudwatchmetricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RequesterPaysEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-requesterpaysenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ResultConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-resultconfiguration",
					Type:          "ResultConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html",
			Properties: map[string]*models.Property{
				"ConfigurationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html#cfn-kinesisanalyticsv2-application-monitoringconfiguration-loglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetricsLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html#cfn-kinesisanalyticsv2-application-monitoringconfiguration-metricslevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.NetworkInterface": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html",
			Properties: map[string]*models.Property{
				"PrivateIpAddresses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses",
					ItemType:      "PrivateIpAdd",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SecondaryPrivateIpAddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InterfaceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Ipv6AddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Ipv6Addresses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses",
					ItemType:      "Ipv6Add",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AssociatePublicIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeviceIndex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Groups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"NetworkInterfaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivateIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.Activity": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html",
			Properties: map[string]*models.Property{
				"Datastore": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-datastore",
					Type:          "Datastore",
					UpdateType:    "Mutable",
				},
				"Lambda": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-lambda",
					Type:          "Lambda",
					UpdateType:    "Mutable",
				},
				"RemoveAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-removeattributes",
					Type:          "RemoveAttributes",
					UpdateType:    "Mutable",
				},
				"SelectAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-selectattributes",
					Type:          "SelectAttributes",
					UpdateType:    "Mutable",
				},
				"AddAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-addattributes",
					Type:          "AddAttributes",
					UpdateType:    "Mutable",
				},
				"Channel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-channel",
					Type:          "Channel",
					UpdateType:    "Mutable",
				},
				"DeviceRegistryEnrich": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-deviceregistryenrich",
					Type:          "DeviceRegistryEnrich",
					UpdateType:    "Mutable",
				},
				"DeviceShadowEnrich": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-deviceshadowenrich",
					Type:          "DeviceShadowEnrich",
					UpdateType:    "Mutable",
				},
				"Filter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-filter",
					Type:          "Filter",
					UpdateType:    "Mutable",
				},
				"Math": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-math",
					Type:          "Math",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioSelectorSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html",
			Properties: map[string]*models.Property{
				"AudioLanguageSelection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html#cfn-medialive-channel-audioselectorsettings-audiolanguageselection",
					Type:          "AudioLanguageSelection",
					UpdateType:    "Mutable",
				},
				"AudioPidSelection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html#cfn-medialive-channel-audioselectorsettings-audiopidselection",
					Type:          "AudioPidSelection",
					UpdateType:    "Mutable",
				},
				"AudioTrackSelection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html#cfn-medialive-channel-audioselectorsettings-audiotrackselection",
					Type:          "AudioTrackSelection",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html",
			Properties: map[string]*models.Property{
				"DisableScaleIn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-disablescalein",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EstimatedInstanceWarmup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-estimatedinstancewarmup",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PredefinedScalingMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-predefinedscalingmetricspecification",
					Type:          "PredefinedScalingMetricSpecification",
					UpdateType:    "Mutable",
				},
				"ScaleInCooldown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-scaleincooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ScaleOutCooldown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-scaleoutcooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TargetValue": &models.Property{
					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",
				},
				"CustomizedScalingMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-customizedscalingmetricspecification",
					Type:          "CustomizedScalingMetricSpecification",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-hostheaderconfig.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-hostheaderconfig.html#cfn-elasticloadbalancingv2-listenerrule-hostheaderconfig-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.Channel": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html",
			Properties: map[string]*models.Property{
				"ChannelName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html#cfn-iotanalytics-pipeline-channel-channelname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html#cfn-iotanalytics-pipeline-channel-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html#cfn-iotanalytics-pipeline-channel-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.FrameCaptureOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecaptureoutputsettings.html",
			Properties: map[string]*models.Property{
				"NameModifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecaptureoutputsettings.html#cfn-medialive-channel-framecaptureoutputsettings-namemodifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html",
			Properties: map[string]*models.Property{
				"ConnectionIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-connectionidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-resourceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AssociatedAccountId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-associatedaccountid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AssociationStatus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-connectionalias-connectionaliasassociation.html#cfn-workspaces-connectionalias-connectionaliasassociation-associationstatus",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::HttpApi.HttpApiDomainConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidomainconfiguration.html",
			Properties: map[string]*models.Property{
				"Route53": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidomainconfiguration.html#sam-httpapi-httpapidomainconfiguration-route53",
					Type:          "Route53Configuration",
				},
				"BasePath": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidomainconfiguration.html#sam-httpapi-httpapidomainconfiguration-basepath",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CertificateArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidomainconfiguration.html#sam-httpapi-httpapidomainconfiguration-certificatearn",
					PrimitiveType: "String",
					Required:      true,
				},
				"DomainName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidomainconfiguration.html#sam-httpapi-httpapidomainconfiguration-domainname",
					PrimitiveType: "String",
					Required:      true,
				},
				"EndpointConfiguration": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidomainconfiguration.html#sam-httpapi-httpapidomainconfiguration-endpointconfiguration",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofileproperties.html#cfn-appflow-connectorprofile-veevaconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.Ulimit": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html",
			Properties: map[string]*models.Property{
				"HardLimit": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::IAM::User.Policy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
			Properties: map[string]*models.Property{
				"PolicyDocument": &models.Property{
					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": &models.Property{
					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::WAFv2::RuleGroup.XssMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.UserPoolAddOns": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html",
			Properties: map[string]*models.Property{
				"AdvancedSecurityMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html",
			Properties: map[string]*models.Property{
				"CatalogEncryptionMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SseAwsKmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html#cfn-glue-datacatalogencryptionsettings-encryptionatrest-sseawskmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::SubscriptionDefinition.Subscription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html",
			Properties: map[string]*models.Property{
				"Subject": &models.Property{
					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": &models.Property{
					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",
				},
				"Id": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::AppFlow::Flow.ServiceNowSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-servicenowsourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-servicenowsourceproperties.html#cfn-appflow-flow-servicenowsourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.TagFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html#cfn-autoscalingplans-scalingplan-tagfilter-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html",
			Properties: map[string]*models.Property{
				"Rules": &models.Property{
					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::Glue::MLTransform.GlueTables": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-catalogid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-connectionname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					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": &models.Property{
					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::Kendra::DataSource.DataSourceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html",
			Properties: map[string]*models.Property{
				"DatabaseConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-databaseconfiguration",
					Type:          "DatabaseConfiguration",
					UpdateType:    "Mutable",
				},
				"OneDriveConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-onedriveconfiguration",
					Type:          "OneDriveConfiguration",
					UpdateType:    "Mutable",
				},
				"S3Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-s3configuration",
					Type:          "S3DataSourceConfiguration",
					UpdateType:    "Mutable",
				},
				"SalesforceConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-salesforceconfiguration",
					Type:          "SalesforceConfiguration",
					UpdateType:    "Mutable",
				},
				"ServiceNowConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-servicenowconfiguration",
					Type:          "ServiceNowConfiguration",
					UpdateType:    "Mutable",
				},
				"SharePointConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-sharepointconfiguration",
					Type:          "SharePointConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.BaselineConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-baselineconfig.html",
			Properties: map[string]*models.Property{
				"ConstraintsResource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-baselineconfig.html#cfn-sagemaker-monitoringschedule-baselineconfig-constraintsresource",
					Type:          "ConstraintsResource",
					UpdateType:    "Mutable",
				},
				"StatisticsResource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-baselineconfig.html#cfn-sagemaker-monitoringschedule-baselineconfig-statisticsresource",
					Type:          "StatisticsResource",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.KernelCapabilities": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html",
			Properties: map[string]*models.Property{
				"Add": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html#cfn-ecs-taskdefinition-kernelcapabilities-add",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Drop": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html#cfn-ecs-taskdefinition-kernelcapabilities-drop",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::WAFRegional::ByteMatchSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html#cfn-wafregional-bytematchset-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::WAFv2::WebACL.XssMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html#cfn-wafv2-webacl-xssmatchstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html#cfn-wafv2-webacl-xssmatchstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Deployment.StageDescription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html",
			Properties: map[string]*models.Property{
				"AccessLogSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-accesslogsetting",
					Type:          "AccessLogSetting",
					UpdateType:    "Mutable",
				},
				"CacheClusterEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CacheTtlInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachettlinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Variables": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-variables",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"CacheClusterSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclustersize",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CachingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CanarySetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-canarysetting",
					Type:          "CanarySetting",
					UpdateType:    "Mutable",
				},
				"MethodSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-methodsettings",
					ItemType:      "MethodSetting",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ThrottlingBurstLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingburstlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DataTraceEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-datatraceenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocumentationVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-documentationversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TracingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tracingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CacheDataEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachedataencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ClientCertificateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-clientcertificateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LoggingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-logginglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThrottlingRateLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingratelimit",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofileproperties.html#cfn-appflow-connectorprofile-salesforceconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"isSandboxEnvironment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofileproperties.html#cfn-appflow-connectorprofile-salesforceconnectorprofileproperties-issandboxenvironment",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofilecredentials.html#cfn-appflow-connectorprofile-servicenowconnectorprofilecredentials-password",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofilecredentials.html#cfn-appflow-connectorprofile-servicenowconnectorprofilecredentials-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.PropertyGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html",
			Properties: map[string]*models.Property{
				"PropertyGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html#cfn-kinesisanalyticsv2-application-propertygroup-propertygroupid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PropertyMap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html#cfn-kinesisanalyticsv2-application-propertygroup-propertymap",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Stage.MethodSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html",
			Properties: map[string]*models.Property{
				"CacheTtlInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachettlinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ThrottlingBurstLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingburstlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ThrottlingRateLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingratelimit",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CacheDataEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachedataencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CachingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DataTraceEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-datatraceenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"HttpMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-httpmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LoggingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-logginglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-metricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ResourcePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-resourcepath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-advancedbackupsettingresourcetype.html",
			Properties: map[string]*models.Property{
				"BackupOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-advancedbackupsettingresourcetype.html#cfn-backup-backupplan-advancedbackupsettingresourcetype-backupoptions",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-advancedbackupsettingresourcetype.html#cfn-backup-backupplan-advancedbackupsettingresourcetype-resourcetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::Resolver.SyncConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html",
			Properties: map[string]*models.Property{
				"ConflictDetection": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-conflicthandler",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LambdaConflictHandlerConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-lambdaconflicthandlerconfig",
					Type:          "LambdaConflictHandlerConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html",
			Properties: map[string]*models.Property{
				"SubComponentConfigurationDetails": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html#cfn-applicationinsights-application-subcomponenttypeconfiguration-subcomponentconfigurationdetails",
					Required:      true,
					Type:          "SubComponentConfigurationDetails",
					UpdateType:    "Mutable",
				},
				"SubComponentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html#cfn-applicationinsights-application-subcomponenttypeconfiguration-subcomponenttype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.IamInstanceProfile": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile-arn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioNormalizationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audionormalizationsettings.html",
			Properties: map[string]*models.Property{
				"Algorithm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audionormalizationsettings.html#cfn-medialive-channel-audionormalizationsettings-algorithm",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AlgorithmControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audionormalizationsettings.html#cfn-medialive-channel-audionormalizationsettings-algorithmcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetLkfs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audionormalizationsettings.html#cfn-medialive-channel-audionormalizationsettings-targetlkfs",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ResourceGroups::Group.Query": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html",
			Properties: map[string]*models.Property{
				"ResourceTypeFilters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-resourcetypefilters",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"StackIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-stackidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-tagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::Stack.StorageConnector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html",
			Properties: map[string]*models.Property{
				"ConnectorType": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-domains",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ResourceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-resourceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html",
			Properties: map[string]*models.Property{
				"EnableAcceptEncodingGzip": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-enableacceptencodinggzip",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HeadersConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-headersconfig",
					Required:      true,
					Type:          "HeadersConfig",
					UpdateType:    "Mutable",
				},
				"QueryStringsConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-querystringsconfig",
					Required:      true,
					Type:          "QueryStringsConfig",
					UpdateType:    "Mutable",
				},
				"CookiesConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-cookiesconfig",
					Required:      true,
					Type:          "CookiesConfig",
					UpdateType:    "Mutable",
				},
				"EnableAcceptEncodingBrotli": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-enableacceptencodingbrotli",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html",
			Properties: map[string]*models.Property{
				"OnPremisesTagGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html#cfn-codedeploy-deploymentgroup-onpremisestagsetlistobject-onpremisestaggroup",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioSelector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html#cfn-medialive-channel-audioselector-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SelectorSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html#cfn-medialive-channel-audioselector-selectorsettings",
					Type:          "AudioSelectorSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings-destinationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Format": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-accesslogsettings-format",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::RemediationConfiguration.StaticValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-staticvalue.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-staticvalue.html#cfn-config-remediationconfiguration-staticvalue-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.SourceSelectionCriteria": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html",
			Properties: map[string]*models.Property{
				"SseKmsEncryptedObjects": &models.Property{
					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::ApiGateway::Deployment.AccessLogSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-destinationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Format": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-format",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.SourceConnectorProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html",
			Properties: map[string]*models.Property{
				"Amplitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-amplitude",
					Type:          "AmplitudeSourceProperties",
					UpdateType:    "Mutable",
				},
				"Salesforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-salesforce",
					Type:          "SalesforceSourceProperties",
					UpdateType:    "Mutable",
				},
				"Zendesk": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-zendesk",
					Type:          "ZendeskSourceProperties",
					UpdateType:    "Mutable",
				},
				"ServiceNow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-servicenow",
					Type:          "ServiceNowSourceProperties",
					UpdateType:    "Mutable",
				},
				"Singular": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-singular",
					Type:          "SingularSourceProperties",
					UpdateType:    "Mutable",
				},
				"Trendmicro": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-trendmicro",
					Type:          "TrendmicroSourceProperties",
					UpdateType:    "Mutable",
				},
				"GoogleAnalytics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-googleanalytics",
					Type:          "GoogleAnalyticsSourceProperties",
					UpdateType:    "Mutable",
				},
				"InforNexus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-infornexus",
					Type:          "InforNexusSourceProperties",
					UpdateType:    "Mutable",
				},
				"Marketo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-marketo",
					Type:          "MarketoSourceProperties",
					UpdateType:    "Mutable",
				},
				"Slack": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-slack",
					Type:          "SlackSourceProperties",
					UpdateType:    "Mutable",
				},
				"Veeva": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-veeva",
					Type:          "VeevaSourceProperties",
					UpdateType:    "Mutable",
				},
				"Datadog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-datadog",
					Type:          "DatadogSourceProperties",
					UpdateType:    "Mutable",
				},
				"Dynatrace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-dynatrace",
					Type:          "DynatraceSourceProperties",
					UpdateType:    "Mutable",
				},
				"S3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html#cfn-appflow-flow-sourceconnectorproperties-s3",
					Type:          "S3SourceProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.HibernationOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-hibernationoptions.html",
			Properties: map[string]*models.Property{
				"Configured": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-hibernationoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-hibernationoptions-configured",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.ScalingTrigger": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingtrigger.html",
			Properties: map[string]*models.Property{
				"CloudWatchAlarmDefinition": &models.Property{
					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::Glue::Partition.Order": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html",
			Properties: map[string]*models.Property{
				"SortOrder": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html#cfn-glue-partition-order-sortorder",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Column": &models.Property{
					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",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html",
			Properties: map[string]*models.Property{
				"ServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-servicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgroupstickinessconfig.html",
			Properties: map[string]*models.Property{
				"DurationSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgroupstickinessconfig.html#cfn-elasticloadbalancingv2-listener-targetgroupstickinessconfig-durationseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgroupstickinessconfig.html#cfn-elasticloadbalancingv2-listener-targetgroupstickinessconfig-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Scte35TimeSignalApos": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35timesignalapos.html",
			Properties: map[string]*models.Property{
				"AdAvailOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35timesignalapos.html#cfn-medialive-channel-scte35timesignalapos-adavailoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"NoRegionalBlackoutFlag": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35timesignalapos.html#cfn-medialive-channel-scte35timesignalapos-noregionalblackoutflag",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WebDeliveryAllowedFlag": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35timesignalapos.html#cfn-medialive-channel-scte35timesignalapos-webdeliveryallowedflag",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSet.TrackingOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-trackingoptions.html",
			Properties: map[string]*models.Property{
				"CustomRedirectDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-trackingoptions.html#cfn-pinpointemail-configurationset-trackingoptions-customredirectdomain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.CognitoAuthorizationIdentity": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizationidentity.html",
			Properties: map[string]*models.Property{
				"Header": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizationidentity.html#sam-api-cognitoauthorizationidentity-header",
					PrimitiveType: "String",
				},
				"ReauthorizeEvery": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizationidentity.html#sam-api-cognitoauthorizationidentity-reauthorizeevery",
					PrimitiveType: "Integer",
				},
				"ValidationExpression": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizationidentity.html#sam-api-cognitoauthorizationidentity-validationexpression",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Serverless::Function.SNS": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sns.html",
			Properties: map[string]*models.Property{
				"SqsSubscription": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sns.html#sam-function-sns-sqssubscription",
					Type:          "SqsSubscriptionObject",
				},
				"Topic": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sns.html#sam-function-sns-topic",
					PrimitiveType: "String",
					Required:      true,
				},
				"FilterPolicy": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sns.html#sam-function-sns-filterpolicy",
					Type:          "SnsFilterPolicy",
				},
				"Region": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sns.html#sam-function-sns-region",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Events": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration-events",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EKS::Cluster.ResourcesVpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html",
			Properties: map[string]*models.Property{
				"SubnetIds": &models.Property{
					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",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLApi.UserPoolConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html",
			Properties: map[string]*models.Property{
				"AppIdClientRegex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-appidclientregex",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AwsRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-awsregion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-defaultaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-userpoolid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.OnInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html",
			Properties: map[string]*models.Property{
				"Events": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html#cfn-iotevents-detectormodel-oninput-events",
					ItemType:      "Event",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TransitionEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html#cfn-iotevents-detectormodel-oninput-transitionevents",
					ItemType:      "TransitionEvent",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::StepFunctions::StateMachine.LogDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html",
			Properties: map[string]*models.Property{
				"CloudWatchLogsLogGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup",
					Type:          "CloudWatchLogsLogGroup",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppConfig::ConfigurationProfile.Validators": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-validators.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-validators.html#cfn-appconfig-configurationprofile-validators-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Content": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-validators.html#cfn-appconfig-configurationprofile-validators-content",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler.Targets": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html",
			Properties: map[string]*models.Property{
				"DynamoDBTargets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets",
					ItemType:      "DynamoDBTarget",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"JdbcTargets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets",
					ItemType:      "JdbcTarget",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"S3Targets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-s3targets",
					ItemType:      "S3Target",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CatalogTargets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets",
					ItemType:      "CatalogTarget",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.FastRestoreRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html",
			Properties: map[string]*models.Property{
				"IntervalUnit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-intervalunit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-availabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Interval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-interval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ConfigurationSetEventDestination.EventDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CloudWatchDestination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-cloudwatchdestination",
					Type:          "CloudWatchDestination",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"KinesisFirehoseDestination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-kinesisfirehosedestination",
					Type:          "KinesisFirehoseDestination",
					UpdateType:    "Mutable",
				},
				"MatchingEventTypes": &models.Property{
					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",
				},
			},
		},
		"AWS::CloudTrail::Trail.EventSelector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html",
			Properties: map[string]*models.Property{
				"DataResources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-dataresources",
					ItemType:      "DataResource",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"IncludeManagementEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-includemanagementevents",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ReadWriteType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-readwritetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceFleetConfig.EbsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html",
			Properties: map[string]*models.Property{
				"EbsBlockDeviceConfigs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html#cfn-elasticmapreduce-instancefleetconfig-ebsconfiguration-ebsblockdeviceconfigs",
					ItemType:      "EbsBlockDeviceConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html#cfn-elasticmapreduce-instancefleetconfig-ebsconfiguration-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofilecredentials.html#cfn-appflow-connectorprofile-zendeskconnectorprofilecredentials-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofilecredentials.html#cfn-appflow-connectorprofile-zendeskconnectorprofilecredentials-clientid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ClientSecret": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofilecredentials.html#cfn-appflow-connectorprofile-zendeskconnectorprofilecredentials-clientsecret",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ConnectorOAuthRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofilecredentials.html#cfn-appflow-connectorprofile-zendeskconnectorprofilecredentials-connectoroauthrequest",
					Type:          "ConnectorOAuthRequest",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::RemediationConfiguration.ExecutionControls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-executioncontrols.html",
			Properties: map[string]*models.Property{
				"SsmControls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-executioncontrols.html#cfn-config-remediationconfiguration-executioncontrols-ssmcontrols",
					Type:          "SsmControls",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html#cfn-wafv2-webacl-regexpatternsetreferencestatement-arn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html#cfn-wafv2-webacl-regexpatternsetreferencestatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html#cfn-wafv2-webacl-regexpatternsetreferencestatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-notifyconfiguration",
					Type:          "NotifyConfigurationType",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::GameServerGroup.InstanceDefinitions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinitions.html",
			Properties: map[string]*models.Property{
				"InstanceDefinitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinitions.html#cfn-gamelift-gameservergroup-instancedefinitions-instancedefinitions",
					ItemType:      "InstanceDefinition",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsWebdavSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlswebdavsettings.html",
			Properties: map[string]*models.Property{
				"RestartDelay": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlswebdavsettings.html#cfn-medialive-channel-hlswebdavsettings-restartdelay",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ConnectionRetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlswebdavsettings.html#cfn-medialive-channel-hlswebdavsettings-connectionretryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FilecacheDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlswebdavsettings.html#cfn-medialive-channel-hlswebdavsettings-filecacheduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HttpTransferMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlswebdavsettings.html#cfn-medialive-channel-hlswebdavsettings-httptransfermode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlswebdavsettings.html#cfn-medialive-channel-hlswebdavsettings-numretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Synthetics::Canary.Code": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html",
			Properties: map[string]*models.Property{
				"Handler": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-handler",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3ObjectVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Script": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-script",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html",
			Properties: map[string]*models.Property{
				"ScalableTargetAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scalabletargetaction",
					Type:          "ScalableTargetAction",
					UpdateType:    "Mutable",
				},
				"Schedule": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-starttime",
					PrimitiveType: "Timestamp",
					UpdateType:    "Mutable",
				},
				"EndTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-endtime",
					PrimitiveType: "Timestamp",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Budgets::Budget.Subscriber": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html",
			Properties: map[string]*models.Property{
				"Address": &models.Property{
					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": &models.Property{
					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::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html",
			Properties: map[string]*models.Property{
				"MaxAgeRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html#cfn-elasticbeanstalk-application-applicationversionlifecycleconfig-maxagerule",
					Type:          "MaxAgeRule",
					UpdateType:    "Mutable",
				},
				"MaxCountRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html#cfn-elasticbeanstalk-application-applicationversionlifecycleconfig-maxcountrule",
					Type:          "MaxCountRule",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsCdnSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlscdnsettings.html",
			Properties: map[string]*models.Property{
				"HlsAkamaiSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlscdnsettings.html#cfn-medialive-channel-hlscdnsettings-hlsakamaisettings",
					Type:          "HlsAkamaiSettings",
					UpdateType:    "Mutable",
				},
				"HlsBasicPutSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlscdnsettings.html#cfn-medialive-channel-hlscdnsettings-hlsbasicputsettings",
					Type:          "HlsBasicPutSettings",
					UpdateType:    "Mutable",
				},
				"HlsMediaStoreSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlscdnsettings.html#cfn-medialive-channel-hlscdnsettings-hlsmediastoresettings",
					Type:          "HlsMediaStoreSettings",
					UpdateType:    "Mutable",
				},
				"HlsWebdavSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlscdnsettings.html#cfn-medialive-channel-hlscdnsettings-hlswebdavsettings",
					Type:          "HlsWebdavSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html",
			Properties: map[string]*models.Property{
				"OrganizationalUnitDistinguishedName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-organizationalunitdistinguishedname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-password",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DnsIps": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-dnsips",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DomainName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-domainname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FileSystemAdministratorsGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-filesystemadministratorsgroup",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MSK::Cluster.BrokerNodeGroupInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html",
			Properties: map[string]*models.Property{
				"StorageInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-storageinfo",
					Type:          "StorageInfo",
					UpdateType:    "Immutable",
				},
				"BrokerAZDistribution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-brokerazdistribution",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClientSubnets": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::CodeBuild::Project.RegistryCredential": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-registrycredential.html",
			Properties: map[string]*models.Property{
				"Credential": &models.Property{
					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": &models.Property{
					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::CodePipeline::Pipeline.ActionTypeId": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html",
			Properties: map[string]*models.Property{
				"Provider": &models.Property{
					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": &models.Property{
					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",
				},
				"Category": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::GameLift::Fleet.ResourceCreationLimitPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html",
			Properties: map[string]*models.Property{
				"NewGameSessionsPerCreator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html#cfn-gamelift-fleet-resourcecreationlimitpolicy-newgamesessionspercreator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PolicyPeriodInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html#cfn-gamelift-fleet-resourcecreationlimitpolicy-policyperiodinminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::LaunchConfiguration.BlockDevice": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html",
			Properties: map[string]*models.Property{
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-deleteonterm",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SnapshotId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-snapshotid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.S3Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html",
			Properties: map[string]*models.Property{
				"BucketFolder": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketfolder",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CompressionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-compressiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CsvDelimiter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvdelimiter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CsvRowDelimiter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvrowdelimiter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExternalTableDefinition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-externaltabledefinition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServiceAccessRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-serviceaccessrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.ColorSpacePassthroughSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-colorspacepassthroughsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::MediaLive::Channel.MsSmoothGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html",
			Properties: map[string]*models.Property{
				"TimestampOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-timestampoffset",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimestampOffsetMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-timestampoffsetmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioOnlyTimecodeControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-audioonlytimecodecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-eventid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventStopBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-eventstopbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentationMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-segmentationmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SendDelayMs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-senddelayms",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
				"FilecacheDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-filecacheduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FragmentLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-fragmentlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AcquisitionPointId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-acquisitionpointid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectionRetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-connectionretryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EventIdMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-eventidmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputLossAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-inputlossaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SparseTrackType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-sparsetracktype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CertificateMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-certificatemode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-numretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RestartDelay": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-restartdelay",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StreamManifestBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mssmoothgroupsettings.html#cfn-medialive-channel-mssmoothgroupsettings-streammanifestbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectoroauthrequest.html",
			Properties: map[string]*models.Property{
				"RedirectUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectoroauthrequest.html#cfn-appflow-connectorprofile-connectoroauthrequest-redirecturi",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectoroauthrequest.html#cfn-appflow-connectorprofile-connectoroauthrequest-authcode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html",
			Properties: map[string]*models.Property{
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-dimensions",
					ItemType:      "MetricDimension",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DataPipeline::Pipeline.ParameterObject": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects.html",
			Properties: map[string]*models.Property{
				"Attributes": &models.Property{
					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": &models.Property{
					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::Greengrass::FunctionDefinition.ResourceAccessPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html",
			Properties: map[string]*models.Property{
				"Permission": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-permission",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceId": &models.Property{
					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::WAFv2::WebACL.IPSetReferenceStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html",
			Properties: map[string]*models.Property{
				"IPSetForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html#cfn-wafv2-webacl-ipsetreferencestatement-ipsetforwardedipconfig",
					Type:          "IPSetForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html#cfn-wafv2-webacl-ipsetreferencestatement-arn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileconfig.html",
			Properties: map[string]*models.Property{
				"ConnectorProfileCredentials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileconfig.html#cfn-appflow-connectorprofile-connectorprofileconfig-connectorprofilecredentials",
					Required:      true,
					Type:          "ConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"ConnectorProfileProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileconfig.html#cfn-appflow-connectorprofile-connectorprofileconfig-connectorprofileproperties",
					Type:          "ConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.StreamSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-streamspecification.html",
			Properties: map[string]*models.Property{
				"StreamViewType": &models.Property{
					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::ImageBuilder::ImagePipeline.Schedule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html",
			Properties: map[string]*models.Property{
				"ScheduleExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-scheduleexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PipelineExecutionStartCondition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-pipelineexecutionstartcondition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.S3DataSourceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-bucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentsMetadataConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-documentsmetadataconfiguration",
					Type:          "DocumentsMetadataConfiguration",
					UpdateType:    "Mutable",
				},
				"ExclusionPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-exclusionpatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"InclusionPrefixes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-inclusionprefixes",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"AccessControlListConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-s3datasourceconfiguration.html#cfn-kendra-datasource-s3datasourceconfiguration-accesscontrollistconfiguration",
					Type:          "AccessControlListConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html#cfn-cloudfront-realtimelogconfig-kinesisstreamconfig-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StreamArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html#cfn-cloudfront-realtimelogconfig-kinesisstreamconfig-streamarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DataPipeline::Pipeline.ParameterAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects-attributes.html",
			Properties: map[string]*models.Property{
				"StringValue": &models.Property{
					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",
				},
				"Key": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackageoutputdestinationsettings.html",
			Properties: map[string]*models.Property{
				"ChannelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackageoutputdestinationsettings.html#cfn-medialive-channel-mediapackageoutputdestinationsettings-channelid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.SourceSegments": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups-sourcesegments.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.Projection": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html",
			Properties: map[string]*models.Property{
				"ProjectionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html#cfn-dynamodb-projectionobj-projtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NonKeyAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html#cfn-dynamodb-projectionobj-nonkeyatt",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::CoreDefinition.Core": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-syncshadow",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ThingArn": &models.Property{
					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::OpsWorks::Stack.ChefConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html",
			Properties: map[string]*models.Property{
				"BerkshelfVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html#cfn-opsworks-chefconfiguration-berkshelfversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ManageBerkshelf": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html#cfn-opsworks-chefconfiguration-berkshelfversion",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html",
			Properties: map[string]*models.Property{
				"Qualifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-qualifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClientContext": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-clientcontext",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-payload",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.Restrictions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html",
			Properties: map[string]*models.Property{
				"GeoRestriction": &models.Property{
					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::Greengrass::ConnectorDefinition.Connector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html",
			Properties: map[string]*models.Property{
				"ConnectorArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Logs::MetricFilter.MetricTransformation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html",
			Properties: map[string]*models.Property{
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"DefaultValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-defaultvalue",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-dimensionconfiguration.html",
			Properties: map[string]*models.Property{
				"DefaultDimensionValue": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::WAFRegional::WebACL.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-action.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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::AmazonMQ::Broker.User": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html",
			Properties: map[string]*models.Property{
				"ConsoleAccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-consoleaccess",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Groups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-groups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Password": &models.Property{
					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": &models.Property{
					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::ApiGateway::Method.Integration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html",
			Properties: map[string]*models.Property{
				"ConnectionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationResponses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-integrationresponses",
					ItemType:      "IntegrationResponse",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"PassthroughBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-passthroughbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requestparameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"TimeoutInMillis": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-timeoutinmillis",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CacheKeyParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-cachekeyparameters",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ConnectionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationHttpMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-integrationhttpmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheNamespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-cachenamespace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestTemplates": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requesttemplates",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-uri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ContentHandling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-contenthandling",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Credentials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-credentials",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.TagFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.ContainerAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html",
			Properties: map[string]*models.Property{
				"ExecutionRoleArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-variables",
					ItemType:      "Variable",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.KeyProviderSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-keyprovidersettings.html",
			Properties: map[string]*models.Property{
				"StaticKeySettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-keyprovidersettings.html#cfn-medialive-channel-keyprovidersettings-statickeysettings",
					Type:          "StaticKeySettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.TagsEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					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",
				},
				"Key": &models.Property{
					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",
				},
			},
		},
		"AWS::CloudFront::Distribution.DefaultCacheBehavior": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html",
			Properties: map[string]*models.Property{
				"CachedMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ViewerProtocolPolicy": &models.Property{
					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",
				},
				"FieldLevelEncryptionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LambdaFunctionAssociations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations",
					ItemType:      "LambdaFunctionAssociation",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MinTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"AllowedMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Compress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DefaultTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"OriginRequestPolicyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-originrequestpolicyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SmoothStreaming": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TrustedSigners": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RealtimeLogConfigArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-realtimelogconfigarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetOriginId": &models.Property{
					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",
				},
				"CachePolicyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachepolicyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ForwardedValues": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-forwardedvalues",
					Type:          "ForwardedValues",
					UpdateType:    "Mutable",
				},
				"MaxTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolClient.AnalyticsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html",
			Properties: map[string]*models.Property{
				"UserDataShared": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-userdatashared",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExternalId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-externalid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AacSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html",
			Properties: map[string]*models.Property{
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-bitrate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CodingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-codingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-inputtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SampleRate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-samplerate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Spec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-spec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VbrQuality": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-vbrquality",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Profile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-profile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RateControlMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-ratecontrolmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RawFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aacsettings.html#cfn-medialive-channel-aacsettings-rawformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.VpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-subnets",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EKS::Cluster.EncryptionConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html",
			Properties: map[string]*models.Property{
				"Provider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html#cfn-eks-cluster-encryptionconfig-provider",
					Type:          "Provider",
					UpdateType:    "Mutable",
				},
				"Resources": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html#cfn-eks-cluster-encryptionconfig-resources",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.OpenMonitoring": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html",
			Properties: map[string]*models.Property{
				"Prometheus": &models.Property{
					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::Cognito::UserPoolDomain.CustomDomainConfigType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html#cfn-cognito-userpooldomain-customdomainconfigtype-certificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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::ApiGatewayV2::Api.Cors": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html",
			Properties: map[string]*models.Property{
				"AllowCredentials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowcredentials",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AllowHeaders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowheaders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowmethods",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowOrigins": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-alloworigins",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ExposeHeaders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-exposeheaders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaxAge": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-maxage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.ProjectBuildBatchConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html",
			Properties: map[string]*models.Property{
				"ServiceRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-servicerole",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeoutInMins": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-timeoutinmins",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CombineArtifacts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-combineartifacts",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Restrictions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html#cfn-codebuild-project-projectbuildbatchconfig-restrictions",
					Type:          "BatchRestrictions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.CpuOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html",
			Properties: map[string]*models.Property{
				"CoreCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-corecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ThreadsPerCore": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-threadspercore",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.KinesisFirehoseInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisfirehoseinput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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": &models.Property{
					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::CodeDeploy::DeploymentGroup.Alarm": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html#cfn-codedeploy-deploymentgroup-alarm-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-nodetonodeencryptionoptions.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-nodetonodeencryptionoptions.html#cfn-elasticsearch-domain-nodetonodeencryptionoptions-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAFRegional::WebACL.Rule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::WAFv2::RuleGroup.NotStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementone.html",
			Properties: map[string]*models.Property{
				"Statement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementone.html#cfn-wafv2-rulegroup-notstatementone-statement",
					Required:      true,
					Type:          "StatementTwo",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.VerificationMessageTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html",
			Properties: map[string]*models.Property{
				"EmailSubject": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubject",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmailSubjectByLink": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubjectbylink",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SmsMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-smsmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultEmailOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-defaultemailoption",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmailMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmailMessageByLink": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessagebylink",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.RecordFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html",
			Properties: map[string]*models.Property{
				"MappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html#cfn-kinesisanalytics-application-recordformat-mappingparameters",
					Type:          "MappingParameters",
					UpdateType:    "Mutable",
				},
				"RecordFormatType": &models.Property{
					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::MediaLive::Channel.ArchiveContainerSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivecontainersettings.html",
			Properties: map[string]*models.Property{
				"M2tsSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivecontainersettings.html#cfn-medialive-channel-archivecontainersettings-m2tssettings",
					Type:          "M2tsSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaStore::Container.MetricPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html",
			Properties: map[string]*models.Property{
				"MetricPolicyRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-metricpolicyrules",
					ItemType:      "MetricPolicyRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ContainerLevelMetrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-containerlevelmetrics",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBSecurityGroup.Ingress": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html",
			Properties: map[string]*models.Property{
				"EC2SecurityGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-ec2securitygroupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EC2SecurityGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-ec2securitygroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EC2SecurityGroupOwnerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-ec2securitygroupownerid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CIDRIP": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::RecordSet.GeoLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html",
			Properties: map[string]*models.Property{
				"ContinentCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-continentcode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CountryCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-countrycode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubdivisionCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-subdivisioncode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html",
			Properties: map[string]*models.Property{
				"DestinationPath": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-groupownersetting",
					Type:          "GroupOwnerSetting",
					UpdateType:    "Immutable",
				},
				"SourcePath": &models.Property{
					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::Kendra::DataSource.TagList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-taglist.html",
			Properties: map[string]*models.Property{
				"TagList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-taglist.html#cfn-kendra-datasource-taglist-taglist",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupPlan.BackupPlanResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupplanresourcetype.html",
			Properties: map[string]*models.Property{
				"AdvancedBackupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupplanresourcetype.html#cfn-backup-backupplan-backupplanresourcetype-advancedbackupsettings",
					ItemType:      "AdvancedBackupSettingResourceType",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BackupPlanName": &models.Property{
					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": &models.Property{
					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::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html",
			Properties: map[string]*models.Property{
				"CSVMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-csvmappingparameters",
					Type:          "CSVMappingParameters",
					UpdateType:    "Mutable",
				},
				"JSONMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-jsonmappingparameters",
					Type:          "JSONMappingParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html",
			Properties: map[string]*models.Property{
				"DeliveryFrequency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties-deliveryfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.CognitoAuthorizer": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizer.html",
			Properties: map[string]*models.Property{
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizer.html#sam-api-cognitoauthorizer-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Identity": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizer.html#sam-api-cognitoauthorizer-identity",
					Type:          "CognitoAuthorizationIdentity",
				},
				"UserPoolArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-cognitoauthorizer.html#sam-api-cognitoauthorizer-userpoolarn",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::AppFlow::Flow.SnowflakeDestinationProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-snowflakedestinationproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-snowflakedestinationproperties.html#cfn-appflow-flow-snowflakedestinationproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-snowflakedestinationproperties.html#cfn-appflow-flow-snowflakedestinationproperties-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ErrorHandlingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-snowflakedestinationproperties.html#cfn-appflow-flow-snowflakedestinationproperties-errorhandlingconfig",
					Type:          "ErrorHandlingConfig",
					UpdateType:    "Mutable",
				},
				"IntermediateBucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-snowflakedestinationproperties.html#cfn-appflow-flow-snowflakedestinationproperties-intermediatebucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.Ipv6Add": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html",
			Properties: map[string]*models.Property{
				"Ipv6Address": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html#cfn-ec2-launchtemplate-ipv6add-ipv6address",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Database.DatabaseInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LocationUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-locationuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.CampaignHook": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html",
			Properties: map[string]*models.Property{
				"LambdaFunctionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html#cfn-pinpoint-campaign-campaignhook-lambdafunctionname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html#cfn-pinpoint-campaign-campaignhook-mode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WebUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html#cfn-pinpoint-campaign-campaignhook-weburl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html",
			Properties: map[string]*models.Property{
				"Alarms": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-alarms",
					ItemType:      "Alarm",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IgnorePollAlarmFailure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-ignorepollalarmfailure",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlssettings.html",
			Properties: map[string]*models.Property{
				"AudioOnlyHlsSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlssettings.html#cfn-medialive-channel-hlssettings-audioonlyhlssettings",
					Type:          "AudioOnlyHlsSettings",
					UpdateType:    "Mutable",
				},
				"Fmp4HlsSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlssettings.html#cfn-medialive-channel-hlssettings-fmp4hlssettings",
					Type:          "Fmp4HlsSettings",
					UpdateType:    "Mutable",
				},
				"StandardHlsSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlssettings.html#cfn-medialive-channel-hlssettings-standardhlssettings",
					Type:          "StandardHlsSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.PublicAccessBlockConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html",
			Properties: map[string]*models.Property{
				"BlockPublicAcls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicacls",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"BlockPublicPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicpolicy",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IgnorePublicAcls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-ignorepublicacls",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RestrictPublicBuckets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-restrictpublicbuckets",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ACMPCA::Certificate.Validity": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html#cfn-acmpca-certificate-validity-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html#cfn-acmpca-certificate-validity-value",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Partition.PartitionInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					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",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"StorageDescriptor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-storagedescriptor",
					Type:          "StorageDescriptor",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.AssetPropertyTimestamp": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html",
			Properties: map[string]*models.Property{
				"OffsetInNanos": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html#cfn-iot-topicrule-assetpropertytimestamp-offsetinnanos",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html#cfn-iot-topicrule-assetpropertytimestamp-timeinseconds",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.TransitionEvent": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-actions",
					ItemType:      "Action",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Condition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-condition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-eventname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NextState": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-nextstate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema.html",
			Properties: map[string]*models.Property{
				"RecordFormatType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema.html#cfn-kinesisanalyticsv2-applicationoutput-destinationschema-recordformattype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.HttpRetryPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html",
			Properties: map[string]*models.Property{
				"PerRetryTimeout": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-tcpretryevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"HttpRetryEvents": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-httpretryevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaxRetries": &models.Property{
					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",
				},
			},
		},
		"AWS::AppStream::ImageBuilder.DomainJoinInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html",
			Properties: map[string]*models.Property{
				"DirectoryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-directoryname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OrganizationalUnitDistinguishedName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-organizationalunitdistinguishedname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Stack.Source": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-password",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Revision": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-revision",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SshKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-sshkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.RuleAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html",
			Properties: map[string]*models.Property{
				"Allow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-allow",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Block": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-block",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-count",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.EmbeddedSourceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html",
			Properties: map[string]*models.Property{
				"Convert608To708": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-convert608to708",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Scte20Detection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-scte20detection",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Source608ChannelNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-source608channelnumber",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Source608TrackNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-source608tracknumber",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SNS::Topic.Subscription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html",
			Properties: map[string]*models.Property{
				"Endpoint": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualNode.HealthCheck": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html",
			Properties: map[string]*models.Property{
				"IntervalMillis": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"HealthyThreshold": &models.Property{
					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",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.QueryAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-queryaction.html",
			Properties: map[string]*models.Property{
				"Filters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-queryaction.html#cfn-iotanalytics-dataset-queryaction-filters",
					ItemType:      "Filter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SqlQuery": &models.Property{
					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.S3DestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html#cfn-iotanalytics-dataset-s3destinationconfiguration-glueconfiguration",
					Type:          "GlueConfiguration",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					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": &models.Property{
					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::WAFv2::WebACL.SqliMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html#cfn-wafv2-webacl-sqlimatchstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html#cfn-wafv2-webacl-sqlimatchstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html",
			Properties: map[string]*models.Property{
				"Interval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-interval",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"IntervalUnit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-intervalunit",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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::MediaLive::Channel.H264Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html",
			Properties: map[string]*models.Property{
				"SubgopLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-subgoplength",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EntropyEncoding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-entropyencoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GopNumBFrames": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-gopnumbframes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LookAheadRateControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-lookaheadratecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GopSizeUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-gopsizeunits",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SceneChangeDetect": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-scenechangedetect",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BufFillPct": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-buffillpct",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FlickerAq": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-flickeraq",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GopSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-gopsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ParNumerator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-parnumerator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FilterSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-filtersettings",
					Type:          "H264FilterSettings",
					UpdateType:    "Mutable",
				},
				"GopBReference": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-gopbreference",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Level": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-level",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Profile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-profile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Softness": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-softness",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TimecodeInsertion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-timecodeinsertion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AfdSignaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-afdsignaling",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BufSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-bufsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FramerateControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-frameratecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FramerateDenominator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-frameratedenominator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FramerateNumerator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-frameratenumerator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ParControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-parcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Slices": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-slices",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Syntax": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-syntax",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-bitrate",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ColorMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-colormetadata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FixedAfd": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-fixedafd",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScanType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-scantype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxBitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-maxbitrate",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"NumRefFrames": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-numrefframes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"QualityLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-qualitylevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"QvbrQualityLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-qvbrqualitylevel",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RateControlMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-ratecontrolmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SpatialAq": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-spatialaq",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ColorSpaceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-colorspacesettings",
					Type:          "H264ColorSpaceSettings",
					UpdateType:    "Mutable",
				},
				"MinIInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-miniinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ParDenominator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-pardenominator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TemporalAq": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-temporalaq",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AdaptiveQuantization": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-adaptivequantization",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ForceFieldPictures": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-forcefieldpictures",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GopClosedCadence": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h264settings.html#cfn-medialive-channel-h264settings-gopclosedcadence",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AvailBlanking": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availblanking.html",
			Properties: map[string]*models.Property{
				"AvailBlankingImage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availblanking.html#cfn-medialive-channel-availblanking-availblankingimage",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availblanking.html#cfn-medialive-channel-availblanking-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::App.DataSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html",
			Properties: map[string]*models.Property{
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html#cfn-opsworks-app-datasource-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html#cfn-opsworks-app-datasource-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html#cfn-opsworks-app-datasource-arn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::QLDB::Stream.KinesisConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qldb-stream-kinesisconfiguration.html",
			Properties: map[string]*models.Property{
				"StreamArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qldb-stream-kinesisconfiguration.html#cfn-qldb-stream-kinesisconfiguration-streamarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AggregationEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qldb-stream-kinesisconfiguration.html#cfn-qldb-stream-kinesisconfiguration-aggregationenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html",
			Properties: map[string]*models.Property{
				"CertificateChain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextfiletrust-certificatechain",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualRouter.VirtualRouterListener": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterlistener.html",
			Properties: map[string]*models.Property{
				"PortMapping": &models.Property{
					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::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					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::AppMesh::VirtualNode.AccessLog": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html",
			Properties: map[string]*models.Property{
				"File": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html#cfn-appmesh-virtualnode-accesslog-file",
					Type:          "FileAccessLog",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.TriggerConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html",
			Properties: map[string]*models.Property{
				"TriggerEvents": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html#cfn-codedeploy-deploymentgroup-triggerconfig-triggerevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TriggerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html#cfn-codedeploy-deploymentgroup-triggerconfig-triggername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TriggerTargetArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html#cfn-codedeploy-deploymentgroup-triggerconfig-triggertargetarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::PrefixList.Entry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html#cfn-ec2-prefixlist-entry-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Cidr": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html#cfn-ec2-prefixlist-entry-cidr",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Table.StorageDescriptor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html",
			Properties: map[string]*models.Property{
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumberOfBuckets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-numberofbuckets",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OutputFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-outputformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SerdeInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-serdeinfo",
					Type:          "SerdeInfo",
					UpdateType:    "Mutable",
				},
				"SkewedInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-skewedinfo",
					Type:          "SkewedInfo",
					UpdateType:    "Mutable",
				},
				"Columns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-columns",
					ItemType:      "Column",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Compressed": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-compressed",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"InputFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-inputformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SortColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-sortcolumns",
					ItemType:      "Order",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"StoredAsSubDirectories": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-storedassubdirectories",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"BucketColumns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-bucketcolumns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.TableResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-catalogid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TableWildcard": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-tablewildcard",
					Type:          "TableWildcard",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.DomainConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-domainconfiguration.html",
			Properties: map[string]*models.Property{
				"BasePath": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-domainconfiguration.html#sam-api-domainconfiguration-basepath",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CertificateArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-domainconfiguration.html#sam-api-domainconfiguration-certificatearn",
					PrimitiveType: "String",
					Required:      true,
				},
				"DomainName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-domainconfiguration.html#sam-api-domainconfiguration-domainname",
					PrimitiveType: "String",
					Required:      true,
				},
				"EndpointConfiguration": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-domainconfiguration.html#sam-api-domainconfiguration-endpointconfiguration",
					PrimitiveType: "String",
					Required:      true,
				},
				"Route53": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-domainconfiguration.html#sam-api-domainconfiguration-route53",
					Type:          "Route53Configuration",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ListenerTlsCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html",
			Properties: map[string]*models.Property{
				"File": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-file",
					Type:          "ListenerTlsFileCertificate",
					UpdateType:    "Mutable",
				},
				"ACM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-acm",
					Type:          "ListenerTlsAcmCertificate",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBProxy.TagFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html#cfn-rds-dbproxy-tagformat-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html#cfn-rds-dbproxy-tagformat-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html",
			Properties: map[string]*models.Property{
				"AdditionalStagingLabelsToDownload": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-additionalstaginglabelstodownload",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"ARN": &models.Property{
					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",
				},
			},
		},
		"Alexa::ASK::Skill.AuthenticationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html",
			Properties: map[string]*models.Property{
				"ClientId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::Amplify::App.AutoBranchCreationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html",
			Properties: map[string]*models.Property{
				"Stage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-stage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BasicAuthConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-basicauthconfig",
					Type:          "BasicAuthConfig",
					UpdateType:    "Mutable",
				},
				"PullRequestEnvironmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-pullrequestenvironmentname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableAutoBranchCreation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobranchcreation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnableAutoBuild": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobuild",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnablePerformanceMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableperformancemode",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnablePullRequestPreview": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enablepullrequestpreview",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnvironmentVariables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-environmentvariables",
					ItemType:      "EnvironmentVariable",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AutoBranchCreationPatterns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-autobranchcreationpatterns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"BuildSpec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-buildspec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Connection.PhysicalConnectionRequirements": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html",
			Properties: map[string]*models.Property{
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIdList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaStore::Container.CorsRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html",
			Properties: map[string]*models.Property{
				"AllowedHeaders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-allowedheaders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowedMethods": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-allowedmethods",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"AllowedOrigins": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-allowedorigins",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ExposeHeaders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-exposeheaders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaxAgeSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-maxageseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.NotStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementtwo.html",
			Properties: map[string]*models.Property{
				"Statement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementtwo.html#cfn-wafv2-rulegroup-notstatementtwo-statement",
					Required:      true,
					Type:          "StatementThree",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.ComponentMonitoringSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html",
			Properties: map[string]*models.Property{
				"CustomComponentConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-customcomponentconfiguration",
					Type:          "ComponentConfiguration",
					UpdateType:    "Mutable",
				},
				"DefaultOverwriteComponentConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-defaultoverwritecomponentconfiguration",
					Type:          "ComponentConfiguration",
					UpdateType:    "Mutable",
				},
				"Tier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-tier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComponentARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComponentConfigurationMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentconfigurationmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComponentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html#cfn-applicationinsights-application-componentmonitoringsetting-componentname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DataPipeline::Pipeline.PipelineObject": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html",
			Properties: map[string]*models.Property{
				"Fields": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::ECS::TaskSet.ServiceRegistry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html",
			Properties: map[string]*models.Property{
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-port",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"RegistryArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-registryarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-containername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-containerport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.LaunchTemplateData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html",
			Properties: map[string]*models.Property{
				"KeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-keyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LicenseSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-licensespecifications",
					ItemType:      "LicenseSpecification",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"NetworkInterfaces": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-networkinterfaces",
					ItemType:      "NetworkInterface",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BlockDeviceMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-blockdevicemappings",
					ItemType:      "BlockDeviceMapping",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CapacityReservationSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification",
					Type:          "CapacityReservationSpecification",
					UpdateType:    "Mutable",
				},
				"ElasticGpuSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticgpuspecifications",
					ItemType:      "ElasticGpuSpecification",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"HibernationOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-hibernationoptions",
					Type:          "HibernationOptions",
					UpdateType:    "Mutable",
				},
				"ImageId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-imageid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RamDiskId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ramdiskid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DisableApiTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-disableapitermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ElasticInferenceAccelerators": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticinferenceaccelerators",
					ItemType:      "LaunchTemplateElasticInferenceAccelerator",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetadataOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions",
					Type:          "MetadataOptions",
					UpdateType:    "Mutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TagSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications",
					ItemType:      "TagSpecification",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"UserData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-userdata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CpuOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions",
					Type:          "CpuOptions",
					UpdateType:    "Mutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IamInstanceProfile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile",
					Type:          "IamInstanceProfile",
					UpdateType:    "Mutable",
				},
				"InstanceInitiatedShutdownBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instanceinitiatedshutdownbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KernelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-kernelid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CreditSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification",
					Type:          "CreditSpecification",
					UpdateType:    "Mutable",
				},
				"InstanceMarketOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions",
					Type:          "InstanceMarketOptions",
					UpdateType:    "Mutable",
				},
				"Monitoring": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring",
					Type:          "Monitoring",
					UpdateType:    "Mutable",
				},
				"Placement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-placement",
					Type:          "Placement",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Lambda::EventSourceMapping.OnFailure": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html#cfn-lambda-eventsourcemapping-onfailure-destination",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.BurnInDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html",
			Properties: map[string]*models.Property{
				"BackgroundColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-backgroundcolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FontColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-fontcolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Alignment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-alignment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FontOpacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-fontopacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OutlineSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-outlinesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TeletextGridControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-teletextgridcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FontResolution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-fontresolution",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OutlineColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-outlinecolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ShadowColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-shadowcolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ShadowOpacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-shadowopacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ShadowXOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-shadowxoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"YPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-yposition",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BackgroundOpacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-backgroundopacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Font": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-font",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"FontSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-fontsize",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ShadowYOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-shadowyoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"XPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-burnindestinationsettings.html#cfn-medialive-channel-burnindestinationsettings-xposition",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::StreamingDistribution.Logging": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Glue::SecurityConfiguration.JobBookmarksEncryption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html",
			Properties: map[string]*models.Property{
				"JobBookmarksEncryptionMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html#cfn-glue-securityconfiguration-jobbookmarksencryption-jobbookmarksencryptionmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html#cfn-glue-securityconfiguration-jobbookmarksencryption-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.DvbSubDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html",
			Properties: map[string]*models.Property{
				"ShadowColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-shadowcolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ShadowXOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-shadowxoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TeletextGridControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-teletextgridcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FontColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-fontcolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BackgroundOpacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-backgroundopacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BackgroundColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-backgroundcolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ShadowOpacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-shadowopacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ShadowYOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-shadowyoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"XPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-xposition",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"YPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-yposition",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OutlineSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-outlinesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Font": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-font",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"FontOpacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-fontopacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FontResolution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-fontresolution",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FontSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-fontsize",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutlineColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-outlinecolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Alignment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubdestinationsettings.html#cfn-medialive-channel-dvbsubdestinationsettings-alignment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.ApiFunctionAuth": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-apifunctionauth.html",
			Properties: map[string]*models.Property{
				"ApiKeyRequired": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-apifunctionauth.html#sam-function-apifunctionauth-apikeyrequired",
					PrimitiveType: "Boolean",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-apifunctionauth.html#sam-function-apifunctionauth-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Authorizer": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-apifunctionauth.html#sam-function-apifunctionauth-authorizer",
					PrimitiveType: "String",
				},
				"InvokeRole": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-apifunctionauth.html#sam-function-apifunctionauth-invokerole",
					PrimitiveType: "String",
				},
				"ResourcePolicy": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-apifunctionauth.html#sam-function-apifunctionauth-resourcepolicy",
					Type:          "ResourcePolicyStatement",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-salesforceconnectorprofilecredentials-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectorOAuthRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-salesforceconnectorprofilecredentials-connectoroauthrequest",
					Type:          "ConnectorOAuthRequest",
					UpdateType:    "Mutable",
				},
				"RefreshToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-salesforceconnectorprofilecredentials-refreshtoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.TaskPropertiesObject": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-taskpropertiesobject.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-taskpropertiesobject.html#cfn-appflow-flow-taskpropertiesobject-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-taskpropertiesobject.html#cfn-appflow-flow-taskpropertiesobject-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.PasswordPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html",
			Properties: map[string]*models.Property{
				"RequireLowercase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirelowercase",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RequireNumbers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirenumbers",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RequireSymbols": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requiresymbols",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RequireUppercase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requireuppercase",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TemporaryPasswordValidityDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-temporarypasswordvaliditydays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MinimumLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-minimumlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html",
			Properties: map[string]*models.Property{
				"SpotSpecification": &models.Property{
					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::Greengrass::FunctionDefinition.RunAs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html",
			Properties: map[string]*models.Property{
				"Gid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-gid",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Uid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-uid",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.DynamoDBv2": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html",
			Properties: map[string]*models.Property{
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-tablename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html",
			Properties: map[string]*models.Property{
				"ChatterFeedConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-chatterfeedconfiguration",
					Type:          "SalesforceChatterFeedConfiguration",
					UpdateType:    "Mutable",
				},
				"IncludeAttachmentFilePatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-includeattachmentfilepatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"KnowledgeArticleConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-knowledgearticleconfiguration",
					Type:          "SalesforceKnowledgeArticleConfiguration",
					UpdateType:    "Mutable",
				},
				"ServerUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-serverurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StandardObjectConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-standardobjectconfigurations",
					Type:          "SalesforceStandardObjectConfigurationList",
					UpdateType:    "Mutable",
				},
				"CrawlAttachments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-crawlattachments",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExcludeAttachmentFilePatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-excludeattachmentfilepatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"SecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-secretarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StandardObjectAttachmentConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html#cfn-kendra-datasource-salesforceconfiguration-standardobjectattachmentconfiguration",
					Type:          "SalesforceStandardObjectAttachmentConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html",
			Properties: map[string]*models.Property{
				"SAMLProviderArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-samlproviderarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.GroupIdentifier": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-securitygroups.html",
			Properties: map[string]*models.Property{
				"GroupId": &models.Property{
					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::ImageBuilder::InfrastructureConfiguration.S3Logs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html",
			Properties: map[string]*models.Property{
				"S3BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3KeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Stage.AccessLogSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-destinationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Format": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-format",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html",
			Properties: map[string]*models.Property{
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-privatekey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"CertificateChain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-certificatechain",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.Cookies": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html",
			Properties: map[string]*models.Property{
				"Forward": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html#cfn-cloudfront-distribution-cookies-whitelistednames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.RevisionLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html",
			Properties: map[string]*models.Property{
				"GitHubLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-githublocation",
					Type:          "GitHubLocation",
					UpdateType:    "Mutable",
				},
				"RevisionType": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"S3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location",
					Type:          "S3Location",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::RemediationConfiguration.SsmControls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html",
			Properties: map[string]*models.Property{
				"ConcurrentExecutionRatePercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html#cfn-config-remediationconfiguration-ssmcontrols-concurrentexecutionratepercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ErrorPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html#cfn-config-remediationconfiguration-ssmcontrols-errorpercentage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig.html",
			Properties: map[string]*models.Property{
				"VolumeSpecification": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig.html#cfn-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig-volumesperinstance",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioTrack": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiotrack.html",
			Properties: map[string]*models.Property{
				"Track": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiotrack.html#cfn-medialive-channel-audiotrack-track",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Mesh.EgressFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-egressfilter.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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::CloudWatch::AnomalyDetector.Range": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html",
			Properties: map[string]*models.Property{
				"StartTime": &models.Property{
					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",
				},
				"EndTime": &models.Property{
					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",
				},
			},
		},
		"AWS::EMR::Cluster.Configuration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html",
			Properties: map[string]*models.Property{
				"Classification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html#cfn-elasticmapreduce-cluster-configuration-classification",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConfigurationProperties": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html#cfn-elasticmapreduce-cluster-configuration-configurationproperties",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html#cfn-elasticmapreduce-cluster-configuration-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html",
			Properties: map[string]*models.Property{
				"DocumentVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowautomationparameters-documentversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowautomationparameters-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"Dynatrace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-dynatrace",
					Type:          "DynatraceConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"InforNexus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-infornexus",
					Type:          "InforNexusConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Salesforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-salesforce",
					Type:          "SalesforceConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"ServiceNow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-servicenow",
					Type:          "ServiceNowConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Veeva": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-veeva",
					Type:          "VeevaConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Zendesk": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-zendesk",
					Type:          "ZendeskConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Datadog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-datadog",
					Type:          "DatadogConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Marketo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-marketo",
					Type:          "MarketoConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Redshift": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-redshift",
					Type:          "RedshiftConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Slack": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-slack",
					Type:          "SlackConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
				"Snowflake": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html#cfn-appflow-connectorprofile-connectorprofileproperties-snowflake",
					Type:          "SnowflakeConnectorProfileProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::DataSource.LambdaConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html",
			Properties: map[string]*models.Property{
				"LambdaFunctionArn": &models.Property{
					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::Glue::Partition.SkewedInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html",
			Properties: map[string]*models.Property{
				"SkewedColumnNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SkewedColumnValueLocationMaps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnvaluelocationmaps",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SkewedColumnValues": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnvalues",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.HttpActionHeader": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html#cfn-iot-topicrule-httpactionheader-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html#cfn-iot-topicrule-httpactionheader-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsInputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html",
			Properties: map[string]*models.Property{
				"Retries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-retries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-retryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Bandwidth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-bandwidth",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BufferSegments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-buffersegments",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DirectoryService::SimpleAD.VpcSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html",
			Properties: map[string]*models.Property{
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html#cfn-directoryservice-simplead-vpcsettings-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					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::ECS::Service.NetworkConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html",
			Properties: map[string]*models.Property{
				"AwsvpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html#cfn-ecs-service-networkconfiguration-awsvpcconfiguration",
					Type:          "AwsVpcConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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": &models.Property{
					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::Cognito::IdentityPoolRoleAttachment.MappingRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html",
			Properties: map[string]*models.Property{
				"Claim": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualGateway.VirtualGatewayListenerTls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html",
			Properties: map[string]*models.Property{
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-certificate",
					Required:      true,
					Type:          "VirtualGatewayListenerTlsCertificate",
					UpdateType:    "Mutable",
				},
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertls.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertls-mode",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudWatch::Alarm.Dimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					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",
				},
				"Name": &models.Property{
					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",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html",
			Properties: map[string]*models.Property{
				"QueryStringConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-querystringconfig",
					Type:          "QueryStringConfig",
					UpdateType:    "Mutable",
				},
				"SourceIpConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-sourceipconfig",
					Type:          "SourceIpConfig",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-conditions-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Field": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-conditions-field",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostHeaderConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-hostheaderconfig",
					Type:          "HostHeaderConfig",
					UpdateType:    "Mutable",
				},
				"HttpHeaderConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httpheaderconfig",
					Type:          "HttpHeaderConfig",
					UpdateType:    "Mutable",
				},
				"HttpRequestMethodConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httprequestmethodconfig",
					Type:          "HttpRequestMethodConfig",
					UpdateType:    "Mutable",
				},
				"PathPatternConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-pathpatternconfig",
					Type:          "PathPatternConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.StopAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html",
			Properties: map[string]*models.Property{
				"Scope": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html#cfn-ses-receiptrule-stopaction-topicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html",
			Properties: map[string]*models.Property{
				"MaintenanceWindowRunCommandParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowruncommandparameters",
					Type:          "MaintenanceWindowRunCommandParameters",
					UpdateType:    "Mutable",
				},
				"MaintenanceWindowStepFunctionsParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowstepfunctionsparameters",
					Type:          "MaintenanceWindowStepFunctionsParameters",
					UpdateType:    "Mutable",
				},
				"MaintenanceWindowAutomationParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowautomationparameters",
					Type:          "MaintenanceWindowAutomationParameters",
					UpdateType:    "Mutable",
				},
				"MaintenanceWindowLambdaParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowlambdaparameters",
					Type:          "MaintenanceWindowLambdaParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::RateBasedRule.Predicate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html",
			Properties: map[string]*models.Property{
				"DataId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::CodeBuild::Project.Source": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html",
			Properties: map[string]*models.Property{
				"BuildStatusConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildstatusconfig",
					Type:          "BuildStatusConfig",
					UpdateType:    "Mutable",
				},
				"InsecureSsl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-insecuressl",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ReportBuildStatus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-reportbuildstatus",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SourceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-sourceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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",
				},
				"Auth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-auth",
					Type:          "SourceAuth",
					UpdateType:    "Mutable",
				},
				"BuildSpec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildspec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GitCloneDepth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitclonedepth",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"GitSubmodulesConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitsubmodulesconfig",
					Type:          "GitSubmodulesConfig",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html",
			Properties: map[string]*models.Property{
				"IdentityProvider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-identityprovider",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RulesConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-rulesconfiguration",
					Type:          "RulesConfigurationType",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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",
				},
				"AmbiguousRoleResolution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html#cfn-elasticloadbalancingv2-listener-certificates-certificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AribSourceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aribsourcesettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::EMR::Cluster.InstanceFleetConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html",
			Properties: map[string]*models.Property{
				"InstanceTypeConfigs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-instancetypeconfigs",
					ItemType:      "InstanceTypeConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"LaunchSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-launchspecifications",
					Type:          "InstanceFleetProvisioningSpecifications",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TargetOnDemandCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-targetondemandcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TargetSpotCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-targetspotcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::GameServerGroup.AutoScalingPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html",
			Properties: map[string]*models.Property{
				"EstimatedInstanceWarmup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html#cfn-gamelift-gameservergroup-autoscalingpolicy-estimatedinstancewarmup",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"TargetTrackingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html#cfn-gamelift-gameservergroup-autoscalingpolicy-targettrackingconfiguration",
					Required:      true,
					Type:          "TargetTrackingConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Job.ConnectionsList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html",
			Properties: map[string]*models.Property{
				"Connections": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html#cfn-glue-job-connectionslist-connections",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html",
			Properties: map[string]*models.Property{
				"GroupOwnerSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-groupownersetting",
					Type:          "GroupOwnerSetting",
					UpdateType:    "Immutable",
				},
				"SourcePath": &models.Property{
					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::MediaLive::Channel.VideoDescription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html",
			Properties: map[string]*models.Property{
				"Sharpness": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-sharpness",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Width": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-width",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CodecSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-codecsettings",
					Type:          "VideoCodecSettings",
					UpdateType:    "Mutable",
				},
				"Height": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-height",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RespondToAfd": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-respondtoafd",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScalingBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videodescription.html#cfn-medialive-channel-videodescription-scalingbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.CampaignEventFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaigneventfilter.html",
			Properties: map[string]*models.Property{
				"FilterType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaigneventfilter.html#cfn-pinpoint-campaign-campaigneventfilter-filtertype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaigneventfilter.html#cfn-pinpoint-campaign-campaigneventfilter-dimensions",
					Type:          "EventDimensions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolUser.AttributeType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html",
			Properties: map[string]*models.Property{
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReturnConnectionPasswordEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-returnconnectionpasswordencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.SegmentGroups": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html",
			Properties: map[string]*models.Property{
				"Groups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html#cfn-pinpoint-segment-segmentgroups-groups",
					ItemType:      "Groups",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Include": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html#cfn-pinpoint-segment-segmentgroups-include",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.StatementThree": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html",
			Properties: map[string]*models.Property{
				"ByteMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-bytematchstatement",
					Type:          "ByteMatchStatement",
					UpdateType:    "Mutable",
				},
				"ManagedRuleGroupStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-managedrulegroupstatement",
					Type:          "ManagedRuleGroupStatement",
					UpdateType:    "Mutable",
				},
				"RuleGroupReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-rulegroupreferencestatement",
					Type:          "RuleGroupReferenceStatement",
					UpdateType:    "Mutable",
				},
				"SqliMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-sqlimatchstatement",
					Type:          "SqliMatchStatement",
					UpdateType:    "Mutable",
				},
				"GeoMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-geomatchstatement",
					Type:          "GeoMatchStatement",
					UpdateType:    "Mutable",
				},
				"IPSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-ipsetreferencestatement",
					Type:          "IPSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"RegexPatternSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-regexpatternsetreferencestatement",
					Type:          "RegexPatternSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"SizeConstraintStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-sizeconstraintstatement",
					Type:          "SizeConstraintStatement",
					UpdateType:    "Mutable",
				},
				"XssMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-xssmatchstatement",
					Type:          "XssMatchStatement",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::ApiKey.StageKey": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html",
			Properties: map[string]*models.Property{
				"RestApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-restapiid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-stagename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.OnExit": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html",
			Properties: map[string]*models.Property{
				"Events": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html#cfn-iotevents-detectormodel-onexit-events",
					ItemType:      "Event",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::DedicatedIpPool.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-dedicatedippool-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-dedicatedippool-tags.html#cfn-pinpointemail-dedicatedippool-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-dedicatedippool-tags.html#cfn-pinpointemail-dedicatedippool-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.SlackSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-slacksourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-slacksourceproperties.html#cfn-appflow-flow-slacksourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::DataSource.DeltaSyncConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html",
			Properties: map[string]*models.Property{
				"DeltaSyncTableTTL": &models.Property{
					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",
				},
				"BaseTableTTL": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.AvailSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availsettings.html",
			Properties: map[string]*models.Property{
				"Scte35SpliceInsert": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availsettings.html#cfn-medialive-channel-availsettings-scte35spliceinsert",
					Type:          "Scte35SpliceInsert",
					UpdateType:    "Mutable",
				},
				"Scte35TimeSignalApos": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availsettings.html#cfn-medialive-channel-availsettings-scte35timesignalapos",
					Type:          "Scte35TimeSignalApos",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.OutputFileUriValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-outputfileurivalue.html",
			Properties: map[string]*models.Property{
				"FileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-outputfileurivalue.html#cfn-iotanalytics-dataset-variable-outputfileurivalue-filename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.DvbSubSourceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubsourcesettings.html",
			Properties: map[string]*models.Property{
				"Pid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubsourcesettings.html#cfn-medialive-channel-dvbsubsourcesettings-pid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.NetworkConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html",
			Properties: map[string]*models.Property{
				"EnableNetworkIsolation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html#cfn-sagemaker-monitoringschedule-networkconfig-enablenetworkisolation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"VpcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html#cfn-sagemaker-monitoringschedule-networkconfig-vpcconfig",
					Type:          "VpcConfig",
					UpdateType:    "Mutable",
				},
				"EnableInterContainerTrafficEncryption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-networkconfig.html#cfn-sagemaker-monitoringschedule-networkconfig-enableintercontainertrafficencryption",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Amplify::Branch.BasicAuthConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html",
			Properties: map[string]*models.Property{
				"EnableBasicAuth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-enablebasicauth",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Password": &models.Property{
					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": &models.Property{
					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::Glue::Partition.Column": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.ColumnWildcard": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html",
			Properties: map[string]*models.Property{
				"ExcludedColumnNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html#cfn-lakeformation-permissions-columnwildcard-excludedcolumnnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html",
			Properties: map[string]*models.Property{
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-action",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-body",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Sound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-sound",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Title": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-title",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.OrStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementtwo.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementtwo.html#cfn-wafv2-webacl-orstatementtwo-statements",
					ItemType:      "StatementThree",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.InviteMessageTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html",
			Properties: map[string]*models.Property{
				"EmailSubject": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailsubject",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SMSMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-smsmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmailMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.PutAssetPropertyValueEntry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html",
			Properties: map[string]*models.Property{
				"PropertyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PropertyValues": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyvalues",
					ItemType:      "AssetPropertyValue",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AssetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-assetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EntryId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-entryid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PropertyAlias": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyalias",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Layer.VolumeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html",
			Properties: map[string]*models.Property{
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MountPoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-mountpoint",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumberOfDisks": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-numberofdisks",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RaidLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-raidlevel",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-size",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volumeconfiguration-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.AccessControlTranslation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html",
			Properties: map[string]*models.Property{
				"Owner": &models.Property{
					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::Events::EventBusPolicy.Condition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.AnalyticsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html",
			Properties: map[string]*models.Property{
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StorageClassAnalysis": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-tagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					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",
				},
			},
		},
		"AWS::CodeBuild::Project.BatchRestrictions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html",
			Properties: map[string]*models.Property{
				"ComputeTypesAllowed": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html#cfn-codebuild-project-batchrestrictions-computetypesallowed",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaximumBuildsAllowed": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html#cfn-codebuild-project-batchrestrictions-maximumbuildsallowed",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.StageDeclaration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html#cfn-codepipeline-pipeline-stages-actions",
					ItemType:      "ActionDeclaration",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Blockers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html#cfn-codepipeline-pipeline-stages-blockers",
					ItemType:      "BlockerDeclaration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::IoTEvents::DetectorModel.Event": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-actions",
					ItemType:      "Action",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Condition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-condition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-eventname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.NotStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementone.html",
			Properties: map[string]*models.Property{
				"Statement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementone.html#cfn-wafv2-webacl-notstatementone-statement",
					Required:      true,
					Type:          "StatementTwo",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.DeadLetterQueue": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deadletterqueue.html",
			Properties: map[string]*models.Property{
				"TargetArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deadletterqueue.html#sam-function-deadletterqueue-targetarn",
					PrimitiveType: "String",
					Required:      true,
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deadletterqueue.html#sam-function-deadletterqueue-type",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::EMR::Cluster.VolumeSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html",
			Properties: map[string]*models.Property{
				"SizeInGB": &models.Property{
					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": &models.Property{
					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",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html#cfn-elasticmapreduce-cluster-volumespecification-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::FSx::FileSystem.LustreConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html",
			Properties: map[string]*models.Property{
				"CopyTagsToBackups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-copytagstobackups",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"DeploymentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-deploymenttype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ImportPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-importpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PerUnitStorageThroughput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-perunitstoragethroughput",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"ImportedFileChunkSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-importedfilechunksize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"WeeklyMaintenanceStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-weeklymaintenancestarttime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoImportPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-autoimportpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutomaticBackupRetentionDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-automaticbackupretentiondays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DailyAutomaticBackupStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-dailyautomaticbackupstarttime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DriveCacheType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-drivecachetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ExportPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-exportpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html",
			Properties: map[string]*models.Property{
				"Devices": &models.Property{
					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::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html",
			Properties: map[string]*models.Property{
				"VolumeSpecification": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumesperinstance",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Instance.BlockDeviceMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html",
			Properties: map[string]*models.Property{
				"DeviceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-devicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Ebs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-ebs",
					Type:          "EbsBlockDevice",
					UpdateType:    "Mutable",
				},
				"NoDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-nodevice",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VirtualName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-virtualname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.OnFailure": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-onfailure.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-onfailure.html#sam-function-onfailure-destination",
					PrimitiveType: "String",
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-onfailure.html#sam-function-onfailure-type",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Serverless::Api.LambdaTokenAuthorizer": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizer.html",
			Properties: map[string]*models.Property{
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizer.html#sam-api-lambdatokenauthorizer-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"FunctionArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizer.html#sam-api-lambdatokenauthorizer-functionarn",
					PrimitiveType: "String",
					Required:      true,
				},
				"FunctionInvokeRole": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizer.html#sam-api-lambdatokenauthorizer-functioninvokerole",
					PrimitiveType: "String",
				},
				"FunctionPayloadType": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizer.html#sam-api-lambdatokenauthorizer-functionpayloadtype",
					PrimitiveType: "String",
				},
				"Identity": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizer.html#sam-api-lambdatokenauthorizer-identity",
					Type:          "LambdaTokenAuthorizationIdentity",
				},
			},
		},
		"AWS::ApiGatewayV2::Route.ParameterConstraints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-route-parameterconstraints.html",
			Properties: map[string]*models.Property{
				"Required": &models.Property{
					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::MediaLive::Channel.UdpGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpgroupsettings.html",
			Properties: map[string]*models.Property{
				"TimedMetadataId3Frame": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpgroupsettings.html#cfn-medialive-channel-udpgroupsettings-timedmetadataid3frame",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataId3Period": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpgroupsettings.html#cfn-medialive-channel-udpgroupsettings-timedmetadataid3period",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InputLossAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpgroupsettings.html#cfn-medialive-channel-udpgroupsettings-inputlossaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.Demographic": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html",
			Properties: map[string]*models.Property{
				"AppVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-appversion",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"Channel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-channel",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"DeviceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-devicetype",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"Make": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-make",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"Model": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-model",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"Platform": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-platform",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.EventSource": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventsource.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventsource.html#sam-function-eventsource-type",
					PrimitiveType: "String",
					Required:      true,
				},
				"Properties": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventsource.html#sam-function-eventsource-properties",
					Required:      true,
					Type:          "MSK",
				},
			},
		},
		"AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html",
			Properties: map[string]*models.Property{
				"DefaultTargetCapacityType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-defaulttargetcapacitytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OnDemandTargetCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-ondemandtargetcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SpotTargetCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-spottargetcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TotalTargetCapacity": &models.Property{
					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::Kendra::DataSource.ConnectionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html",
			Properties: map[string]*models.Property{
				"DatabasePort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-databaseport",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-secretarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-tablename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DatabaseHost": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-databasehost",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-databasename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource.html",
			Properties: map[string]*models.Property{
				"BucketARN": &models.Property{
					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": &models.Property{
					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::Route53Resolver::ResolverEndpoint.IpAddressRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
			Properties: map[string]*models.Property{
				"Ip": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					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::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html",
			Properties: map[string]*models.Property{
				"DurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html#cfn-kinesisfirehose-deliverystream-elasticsearchretryoptions-durationinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.Volume": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html",
			Properties: map[string]*models.Property{
				"Device": &models.Property{
					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": &models.Property{
					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::WAFv2::WebACL.NotStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementtwo.html",
			Properties: map[string]*models.Property{
				"Statement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementtwo.html#cfn-wafv2-webacl-notstatementtwo-statement",
					Required:      true,
					Type:          "StatementThree",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.SalesforceSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcesourceproperties.html",
			Properties: map[string]*models.Property{
				"EnableDynamicFieldUpdate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcesourceproperties.html#cfn-appflow-flow-salesforcesourceproperties-enabledynamicfieldupdate",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeDeletedRecords": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcesourceproperties.html#cfn-appflow-flow-salesforcesourceproperties-includedeletedrecords",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcesourceproperties.html#cfn-appflow-flow-salesforcesourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.GlobalSecondaryIndex": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html",
			Properties: map[string]*models.Property{
				"Projection": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-provisionedthroughput",
					Type:          "ProvisionedThroughput",
					UpdateType:    "Mutable",
				},
				"IndexName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-keyschema",
					ItemType:      "KeySchema",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::HostedZone.HostedZoneConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html#cfn-route53-hostedzone-hostedzoneconfig-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Synthetics::Canary.Schedule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html",
			Properties: map[string]*models.Property{
				"Expression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-expression",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-durationinseconds",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::Rule.Predicate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html",
			Properties: map[string]*models.Property{
				"DataId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualNode.VirtualNodeSpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html",
			Properties: map[string]*models.Property{
				"Logging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-logging",
					Type:          "Logging",
					UpdateType:    "Mutable",
				},
				"ServiceDiscovery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-servicediscovery",
					Type:          "ServiceDiscovery",
					UpdateType:    "Mutable",
				},
				"BackendDefaults": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backenddefaults",
					Type:          "BackendDefaults",
					UpdateType:    "Mutable",
				},
				"Backends": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends",
					ItemType:      "Backend",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Listeners": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners",
					ItemType:      "Listener",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-targetgroupinfo.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-targetgroupinfo.html#cfn-codedeploy-deploymentgroup-targetgroupinfo-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EFS::AccessPoint.CreationInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html",
			Properties: map[string]*models.Property{
				"OwnerGid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-ownergid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"OwnerUid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-owneruid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Permissions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-permissions",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::Index.ServerSideEncryptionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-serversideencryptionconfiguration.html",
			Properties: map[string]*models.Property{
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-serversideencryptionconfiguration.html#cfn-kendra-index-serversideencryptionconfiguration-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::NetworkManager::Site.Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html",
			Properties: map[string]*models.Property{
				"Address": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-address",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Latitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-latitude",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Longitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-longitude",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::Association.Target": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html#cfn-ssm-association-target-values",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WorkSpaces::Workspace.WorkspaceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html",
			Properties: map[string]*models.Property{
				"UserVolumeSizeGib": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-uservolumesizegib",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ComputeTypeName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-computetypename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RootVolumeSizeGib": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-rootvolumesizegib",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RunningMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RunningModeAutoStopTimeoutInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmodeautostoptimeoutinminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::ConfigRule.Source": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html",
			Properties: map[string]*models.Property{
				"Owner": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html#cfn-config-configrule-source-sourcedetails",
					ItemType:      "SourceDetail",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SourceIdentifier": &models.Property{
					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::Greengrass::SubscriptionDefinitionVersion.Subscription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Kendra::DataSource.DocumentsMetadataConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentsmetadataconfiguration.html",
			Properties: map[string]*models.Property{
				"S3Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentsmetadataconfiguration.html#cfn-kendra-datasource-documentsmetadataconfiguration-s3prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html",
			Properties: map[string]*models.Property{
				"Version": &models.Property{
					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",
				},
				"LaunchTemplateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.MountPoint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html",
			Properties: map[string]*models.Property{
				"ContainerPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints-containerpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ReadOnly": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints-readonly",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"SourceVolume": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints-sourcevolume",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-environmentproperties.html",
			Properties: map[string]*models.Property{
				"PropertyGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-environmentproperties.html#cfn-kinesisanalyticsv2-application-environmentproperties-propertygroups",
					ItemType:      "PropertyGroup",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::StateMachine.Schedule": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.html#sam-statemachine-schedule-description",
					PrimitiveType: "String",
				},
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.html#sam-statemachine-schedule-enabled",
					PrimitiveType: "Boolean",
				},
				"Input": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.html#sam-statemachine-schedule-input",
					PrimitiveType: "String",
				},
				"Name": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.html#sam-statemachine-schedule-name",
					PrimitiveType: "String",
				},
				"Schedule": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.html#sam-statemachine-schedule-schedule",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html",
			Properties: map[string]*models.Property{
				"IdleTimeout": &models.Property{
					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::GameLift::Fleet.RuntimeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html",
			Properties: map[string]*models.Property{
				"GameSessionActivationTimeoutSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-gamesessionactivationtimeoutseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaxConcurrentGameSessionActivations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-maxconcurrentgamesessionactivations",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ServerProcesses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-serverprocesses",
					ItemType:      "ServerProcess",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html",
			Properties: map[string]*models.Property{
				"FromPort": &models.Property{
					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": &models.Property{
					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::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html",
			Properties: map[string]*models.Property{
				"DestinationPath": &models.Property{
					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",
				},
				"OwnerSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-ownersetting",
					Type:          "ResourceDownloadOwnerSetting",
					UpdateType:    "Immutable",
				},
				"S3Uri": &models.Property{
					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::MediaLive::Channel.H265FilterSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265filtersettings.html",
			Properties: map[string]*models.Property{
				"TemporalFilterSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265filtersettings.html#cfn-medialive-channel-h265filtersettings-temporalfiltersettings",
					Type:          "TemporalFilterSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.SqsSubscriptionObject": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqssubscriptionobject.html",
			Properties: map[string]*models.Property{
				"BatchSize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqssubscriptionobject.html#sam-function-sqssubscriptionobject-batchsize",
					PrimitiveType: "String",
				},
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqssubscriptionobject.html#sam-function-sqssubscriptionobject-enabled",
					PrimitiveType: "Boolean",
				},
				"QueueArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqssubscriptionobject.html#sam-function-sqssubscriptionobject-queuearn",
					PrimitiveType: "String",
					Required:      true,
				},
				"QueuePolicyLogicalId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqssubscriptionobject.html#sam-function-sqssubscriptionobject-queuepolicylogicalid",
					PrimitiveType: "String",
				},
				"QueueUrl": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqssubscriptionobject.html#sam-function-sqssubscriptionobject-queueurl",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::Amplify::App.EnvironmentVariable": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofileproperties.html#cfn-appflow-connectorprofile-redshiftconnectorprofileproperties-bucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofileproperties.html#cfn-appflow-connectorprofile-redshiftconnectorprofileproperties-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DatabaseUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofileproperties.html#cfn-appflow-connectorprofile-redshiftconnectorprofileproperties-databaseurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofileproperties.html#cfn-appflow-connectorprofile-redshiftconnectorprofileproperties-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.SingularSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-singularsourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-singularsourceproperties.html#cfn-appflow-flow-singularsourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.AccessControlListConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-accesscontrollistconfiguration.html",
			Properties: map[string]*models.Property{
				"KeyPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-accesscontrollistconfiguration.html#cfn-kendra-datasource-accesscontrollistconfiguration-keypath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.LogList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html",
			Properties: map[string]*models.Property{
				"Audit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html#cfn-amazonmq-broker-loglist-audit",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"General": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html#cfn-amazonmq-broker-loglist-general",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::Detector.CFNDataSourceConfigurations": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html",
			Properties: map[string]*models.Property{
				"S3Logs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html#cfn-guardduty-detector-cfndatasourceconfigurations-s3logs",
					Type:          "CFNS3LogsConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.Datastore": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html",
			Properties: map[string]*models.Property{
				"DatastoreName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html#cfn-iotanalytics-pipeline-datastore-datastorename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html#cfn-iotanalytics-pipeline-datastore-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-lambdaoutput.html",
			Properties: map[string]*models.Property{
				"RoleARN": &models.Property{
					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",
				},
				"ResourceARN": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordRowPath": &models.Property{
					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::Batch::JobDefinition.Volumes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html",
			Properties: map[string]*models.Property{
				"Host": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-host",
					Type:          "VolumesHost",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.OriginCustomHeader": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html",
			Properties: map[string]*models.Property{
				"HeaderValue": &models.Property{
					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",
				},
				"HeaderName": &models.Property{
					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",
				},
			},
		},
		"AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconformancepack-conformancepackinputparameter.html",
			Properties: map[string]*models.Property{
				"ParameterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconformancepack-conformancepackinputparameter.html#cfn-config-organizationconformancepack-conformancepackinputparameter-parametername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ParameterValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconformancepack-conformancepackinputparameter.html#cfn-config-organizationconformancepack-conformancepackinputparameter-parametervalue",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.TimeToLiveSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-timetolivespecification.html",
			Properties: map[string]*models.Property{
				"AttributeName": &models.Property{
					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": &models.Property{
					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::EMR::Cluster.CloudWatchAlarmDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html",
			Properties: map[string]*models.Property{
				"EvaluationPeriods": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-evaluationperiods",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Namespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-namespace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Period": &models.Property{
					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",
				},
				"Threshold": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComparisonOperator": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-dimensions",
					ItemType:      "MetricDimension",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					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",
				},
				"Statistic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-statistic",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-targetgrouptuple.html",
			Properties: map[string]*models.Property{
				"TargetGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-targetgrouptuple.html#cfn-elasticloadbalancingv2-listenerrule-targetgrouptuple-targetgrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-targetgrouptuple.html#cfn-elasticloadbalancingv2-listenerrule-targetgrouptuple-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ReplicationRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html",
			Properties: map[string]*models.Property{
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-priority",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SourceSelectionCriteria": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-sourceselectioncriteria",
					Type:          "SourceSelectionCriteria",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					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",
				},
				"DeleteMarkerReplication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-deletemarkerreplication",
					Type:          "DeleteMarkerReplication",
					UpdateType:    "Mutable",
				},
				"Destination": &models.Property{
					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",
				},
				"Filter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-filter",
					Type:          "ReplicationRuleFilter",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.EBSStorageInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html",
			Properties: map[string]*models.Property{
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.Limits": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html",
			Properties: map[string]*models.Property{
				"Daily": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-daily",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaximumDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-maximumduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MessagesPerSecond": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-messagespersecond",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Total": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-total",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html#cfn-appmesh-virtualnode-listenertlsacmcertificate-certificatearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html",
			Properties: map[string]*models.Property{
				"NoDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-nodevice",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"VirtualName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-virtualname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeviceName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-ebs",
					Type:          "BlockDevice",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DirectoryService::MicrosoftAD.VpcSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html",
			Properties: map[string]*models.Property{
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html#cfn-directoryservice-microsoftad-vpcsettings-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					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::EC2::Instance.AssociationParameter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectattachmentconfiguration.html",
			Properties: map[string]*models.Property{
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectattachmentconfiguration.html#cfn-kendra-datasource-salesforcestandardobjectattachmentconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectattachmentconfiguration.html#cfn-kendra-datasource-salesforcestandardobjectattachmentconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"Veeva": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-veeva",
					Type:          "VeevaConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Datadog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-datadog",
					Type:          "DatadogConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Snowflake": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-snowflake",
					Type:          "SnowflakeConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Redshift": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-redshift",
					Type:          "RedshiftConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"ServiceNow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-servicenow",
					Type:          "ServiceNowConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Trendmicro": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-trendmicro",
					Type:          "TrendmicroConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Amplitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-amplitude",
					Type:          "AmplitudeConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Dynatrace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-dynatrace",
					Type:          "DynatraceConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Singular": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-singular",
					Type:          "SingularConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Slack": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-slack",
					Type:          "SlackConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Marketo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-marketo",
					Type:          "MarketoConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Salesforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-salesforce",
					Type:          "SalesforceConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"Zendesk": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-zendesk",
					Type:          "ZendeskConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"GoogleAnalytics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-googleanalytics",
					Type:          "GoogleAnalyticsConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
				"InforNexus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html#cfn-appflow-connectorprofile-connectorprofilecredentials-infornexus",
					Type:          "InforNexusConnectorProfileCredentials",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudWatch::Alarm.MetricDataQuery": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html",
			Properties: map[string]*models.Property{
				"MetricStat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-metricstat",
					Type:          "MetricStat",
					UpdateType:    "Mutable",
				},
				"Period": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-period",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ReturnData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-returndata",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Expression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-expression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-label",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html",
			Properties: map[string]*models.Property{
				"PreSharedKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-presharedkey",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TunnelInsideCidr": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-tunnelinsidecidr",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CodeBuild::Project.FilterGroup": &models.PropertyType{
			Property: models.Property{
				ItemType:   "WebhookFilter",
				Type:       "List",
				UpdateType: "Mutable",
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-filtergroup.html",
		},
		"AWS::EKS::Cluster.KubernetesNetworkConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-kubernetesnetworkconfig.html",
			Properties: map[string]*models.Property{
				"ServiceIpv4Cidr": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-kubernetesnetworkconfig.html#cfn-eks-cluster-kubernetesnetworkconfig-serviceipv4cidr",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html",
			Properties: map[string]*models.Property{
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-scope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SessionTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessiontimeout",
					PrimitiveType: "Long",
					UpdateType:    "Mutable",
				},
				"TokenEndpoint": &models.Property{
					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",
				},
				"Issuer": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-onunauthenticatedrequest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClientId": &models.Property{
					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": &models.Property{
					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",
				},
				"SessionCookieName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessioncookiename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserInfoEndpoint": &models.Property{
					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",
				},
				"AuthenticationRequestExtraParams": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-authenticationrequestextraparams",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"AuthorizationEndpoint": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html",
			Properties: map[string]*models.Property{
				"CommonAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-commonattributes",
					ItemType:      "HttpEndpointCommonAttribute",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ContentEncoding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-contentencoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.CampaignEmailMessage": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html",
			Properties: map[string]*models.Property{
				"HtmlBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-htmlbody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Title": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-title",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-body",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FromAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-fromaddress",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.Route53Configuration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-route53configuration.html",
			Properties: map[string]*models.Property{
				"DistributionDomainName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-route53configuration.html#sam-api-route53configuration-distributiondomainname",
					PrimitiveType: "String",
				},
				"EvaluateTargetHealth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-route53configuration.html#sam-api-route53configuration-evaluatetargethealth",
					PrimitiveType: "Boolean",
				},
				"HostedZoneId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-route53configuration.html#sam-api-route53configuration-hostedzoneid",
					PrimitiveType: "String",
				},
				"HostedZoneName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-route53configuration.html#sam-api-route53configuration-hostedzonename",
					PrimitiveType: "String",
				},
				"IpV6": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-route53configuration.html#sam-api-route53configuration-ipv6",
					PrimitiveType: "Boolean",
				},
			},
		},
		"AWS::AppSync::GraphQLApi.OpenIDConnectConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html",
			Properties: map[string]*models.Property{
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-clientid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IatTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-iatttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Issuer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-issuer",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-authttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::OriginRequestPolicy.CookiesConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html",
			Properties: map[string]*models.Property{
				"CookieBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html#cfn-cloudfront-originrequestpolicy-cookiesconfig-cookiebehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Cookies": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html#cfn-cloudfront-originrequestpolicy-cookiesconfig-cookies",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinitionVersion.Environment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html",
			Properties: map[string]*models.Property{
				"AccessSysfs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-accesssysfs",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Execution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-execution",
					Type:          "Execution",
					UpdateType:    "Immutable",
				},
				"ResourceAccessPolicies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-resourceaccesspolicies",
					ItemType:      "ResourceAccessPolicy",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Variables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-variables",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html",
			Properties: map[string]*models.Property{
				"DestinationPath": &models.Property{
					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",
				},
				"OwnerSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-ownersetting",
					Type:          "ResourceDownloadOwnerSetting",
					UpdateType:    "Immutable",
				},
				"S3Uri": &models.Property{
					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::MediaLive::Input.InputDeviceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdevicesettings.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdevicesettings.html#cfn-medialive-input-inputdevicesettings-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::ByteMatchSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html#cfn-waf-bytematchset-bytematchtuples-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::AppStream::Fleet.ComputeCapacity": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html",
			Properties: map[string]*models.Property{
				"DesiredInstances": &models.Property{
					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::IoTEvents::Input.Attribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html",
			Properties: map[string]*models.Property{
				"JsonPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html#cfn-iotevents-input-attribute-jsonpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.BrokerLogs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html",
			Properties: map[string]*models.Property{
				"CloudWatchLogs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-cloudwatchlogs",
					Type:          "CloudWatchLogs",
					UpdateType:    "Mutable",
				},
				"Firehose": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-firehose",
					Type:          "Firehose",
					UpdateType:    "Mutable",
				},
				"S3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3",
					Type:          "S3",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.SizeConstraintStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html",
			Properties: map[string]*models.Property{
				"ComparisonOperator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-comparisonoperator",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-size",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlsacmcertificate-certificatearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Partition.StorageDescriptor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html",
			Properties: map[string]*models.Property{
				"Columns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-columns",
					ItemType:      "Column",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"InputFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-inputformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumberOfBuckets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-numberofbuckets",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SortColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-sortcolumns",
					ItemType:      "Order",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SkewedInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-skewedinfo",
					Type:          "SkewedInfo",
					UpdateType:    "Mutable",
				},
				"StoredAsSubDirectories": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-storedassubdirectories",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"BucketColumns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-bucketcolumns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Compressed": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-compressed",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-outputformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SerdeInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-serdeinfo",
					Type:          "SerdeInfo",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.SelectAttributes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html",
			Properties: map[string]*models.Property{
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html#cfn-iotanalytics-pipeline-selectattributes-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html#cfn-iotanalytics-pipeline-selectattributes-attributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html#cfn-iotanalytics-pipeline-selectattributes-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::EventInvokeConfig.OnFailure": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onfailure.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					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::MediaLive::Channel.OutputGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroup.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroup.html#cfn-medialive-channel-outputgroup-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputGroupSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroup.html#cfn-medialive-channel-outputgroup-outputgroupsettings",
					Type:          "OutputGroupSettings",
					UpdateType:    "Mutable",
				},
				"Outputs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputgroup.html#cfn-medialive-channel-outputgroup-outputs",
					ItemType:      "Output",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorksCM::Server.EngineAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html#cfn-opsworkscm-server-engineattribute-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html#cfn-opsworkscm-server-engineattribute-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFormation::StackSet.AutoDeployment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-autodeployment.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-autodeployment.html#cfn-cloudformation-stackset-autodeployment-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RetainStacksOnAccountRemoval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-autodeployment.html#cfn-cloudformation-stackset-autodeployment-retainstacksonaccountremoval",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html",
			Properties: map[string]*models.Property{
				"Timeout": &models.Property{
					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": &models.Property{
					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",
				},
				"HealthyThreshold": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::Events::Rule.SqsParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html",
			Properties: map[string]*models.Property{
				"MessageGroupId": &models.Property{
					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::Greengrass::ResourceDefinitionVersion.ResourceInstance": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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",
				},
				"Id": &models.Property{
					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",
				},
			},
		},
		"AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html",
			Properties: map[string]*models.Property{
				"Subscriptions": &models.Property{
					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::SecretsManager::RotationSchedule.RotationRules": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html",
			Properties: map[string]*models.Property{
				"AutomaticallyAfterDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html#cfn-secretsmanager-rotationschedule-rotationrules-automaticallyafterdays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-body",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Method": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-method",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"QueryString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-querystring",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SingleHeader": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-singleheader",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SingleQueryArgument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-singlequeryargument",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"UriPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-uripath",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AllQueryArguments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-allqueryarguments",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.ServerMetadata": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html",
			Properties: map[string]*models.Property{
				"RoleSearchSubtree": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolesearchsubtree",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ServiceAccountPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-serviceaccountpassword",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ServiceAccountUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-serviceaccountusername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserBase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-userbase",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserRoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-userrolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserSearchMatching": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-usersearchmatching",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserSearchSubtree": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-usersearchsubtree",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RoleSearchMatching": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolesearchmatching",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RoleBase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolebase",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-rolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Hosts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-servermetadata.html#cfn-amazonmq-broker-servermetadata-hosts",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.InferenceAccelerator": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html",
			Properties: map[string]*models.Property{
				"DeviceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DeviceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Elasticsearch::Domain.CognitoOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IdentityPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-identitypoolid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-userpoolid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AvailConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availconfiguration.html",
			Properties: map[string]*models.Property{
				"AvailSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-availconfiguration.html#cfn-medialive-channel-availconfiguration-availsettings",
					Type:          "AvailSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Scte35SpliceInsert": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35spliceinsert.html",
			Properties: map[string]*models.Property{
				"NoRegionalBlackoutFlag": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35spliceinsert.html#cfn-medialive-channel-scte35spliceinsert-noregionalblackoutflag",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WebDeliveryAllowedFlag": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35spliceinsert.html#cfn-medialive-channel-scte35spliceinsert-webdeliveryallowedflag",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AdAvailOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte35spliceinsert.html#cfn-medialive-channel-scte35spliceinsert-adavailoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.LdapServerMetadata": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html",
			Properties: map[string]*models.Property{
				"RoleSearchMatching": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolesearchmatching",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ServiceAccountUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-serviceaccountusername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserSearchMatching": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-usersearchmatching",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleBase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolebase",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RoleSearchSubtree": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolesearchsubtree",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ServiceAccountPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-serviceaccountpassword",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserBase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-userbase",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UserRoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-userrolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserSearchSubtree": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-usersearchsubtree",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Hosts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-hosts",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLApi.LogConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html",
			Properties: map[string]*models.Property{
				"CloudWatchLogsRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-cloudwatchlogsrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExcludeVerboseContent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-excludeverbosecontent",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"FieldLogLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-fieldloglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.MappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html",
			Properties: map[string]*models.Property{
				"CSVMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html#cfn-kinesisanalyticsv2-application-mappingparameters-csvmappingparameters",
					Type:          "CSVMappingParameters",
					UpdateType:    "Mutable",
				},
				"JSONMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html#cfn-kinesisanalyticsv2-application-mappingparameters-jsonmappingparameters",
					Type:          "JSONMappingParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.Kinesis": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html",
			Properties: map[string]*models.Property{
				"DestinationConfig": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-destinationconfig",
					Type:          "DestinationConfig",
				},
				"MaximumBatchingWindowInSeconds": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-maximumbatchingwindowinseconds",
					PrimitiveType: "Integer",
				},
				"MaximumRecordAgeInSeconds": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-maximumrecordageinseconds",
					PrimitiveType: "Integer",
				},
				"MaximumRetryAttempts": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-maximumretryattempts",
					PrimitiveType: "Integer",
				},
				"ParallelizationFactor": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-parallelizationfactor",
					PrimitiveType: "Integer",
				},
				"StartingPosition": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-startingposition",
					PrimitiveType: "String",
					Required:      true,
				},
				"BatchSize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-batchsize",
					PrimitiveType: "Integer",
				},
				"BisectBatchOnFunctionError": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-bisectbatchonfunctionerror",
					PrimitiveType: "Boolean",
				},
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-enabled",
					PrimitiveType: "Boolean",
				},
				"Stream": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-kinesis.html#sam-function-kinesis-stream",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::EFS::FileSystem.BackupPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html#cfn-efs-filesystem-backuppolicy-status",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.TriggerConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-triggerconfig.html",
			Properties: map[string]*models.Property{
				"TriggerProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-triggerconfig.html#cfn-appflow-flow-triggerconfig-triggerproperties",
					Type:          "ScheduledTriggerProperties",
					UpdateType:    "Mutable",
				},
				"TriggerType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-triggerconfig.html#cfn-appflow-flow-triggerconfig-triggertype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html",
			Properties: map[string]*models.Property{
				"UserPoolConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-userpoolconfig",
					Type:          "CognitoUserPoolConfig",
					UpdateType:    "Mutable",
				},
				"AuthenticationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-openidconnectconfig",
					Type:          "OpenIDConnectConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.Origin": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders",
					ItemType:      "OriginCustomHeader",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OriginPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3OriginConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-s3originconfig",
					Type:          "S3OriginConfig",
					UpdateType:    "Mutable",
				},
				"ConnectionAttempts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ConnectionTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CustomOriginConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-customoriginconfig",
					Type:          "CustomOriginConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.RetainRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html",
			Properties: map[string]*models.Property{
				"Interval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-interval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"IntervalUnit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-intervalunit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Function.Environment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html",
			Properties: map[string]*models.Property{
				"Variables": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html#cfn-lambda-function-environment-variables",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Serverless::HttpApi.Route53Configuration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-route53configuration.html",
			Properties: map[string]*models.Property{
				"IpV6": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-route53configuration.html#sam-httpapi-route53configuration-ipv6",
					PrimitiveType: "Boolean",
				},
				"DistributionDomainName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-route53configuration.html#sam-httpapi-route53configuration-distributiondomainname",
					PrimitiveType: "String",
				},
				"EvaluateTargetHealth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-route53configuration.html#sam-httpapi-route53configuration-evaluatetargethealth",
					PrimitiveType: "Boolean",
				},
				"HostedZoneId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-route53configuration.html#sam-httpapi-route53configuration-hostedzoneid",
					PrimitiveType: "String",
				},
				"HostedZoneName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-route53configuration.html#sam-httpapi-route53configuration-hostedzonename",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::MediaLive::Channel.UdpContainerSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpcontainersettings.html",
			Properties: map[string]*models.Property{
				"M2tsSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpcontainersettings.html#cfn-medialive-channel-udpcontainersettings-m2tssettings",
					Type:          "M2tsSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html",
			Properties: map[string]*models.Property{
				"OnDemandBaseCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandbasecapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OnDemandPercentageAboveBaseCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandpercentageabovebasecapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SpotAllocationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotallocationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SpotInstancePools": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotinstancepools",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SpotMaxPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotmaxprice",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OnDemandAllocationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandallocationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::ConfigRule.SourceDetail": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html",
			Properties: map[string]*models.Property{
				"EventSource": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-sourcedetail-maximumexecutionfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MessageType": &models.Property{
					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::EC2::Instance.SsmAssociation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html",
			Properties: map[string]*models.Property{
				"DocumentName": &models.Property{
					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",
				},
				"AssociationParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-associationparameters",
					DuplicatesAllowed: true,
					ItemType:          "AssociationParameter",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.LicenseSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html",
			Properties: map[string]*models.Property{
				"LicenseConfigurationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html#cfn-ec2-launchtemplate-licensespecification-licenseconfigurationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Connection.ConnectionInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html",
			Properties: map[string]*models.Property{
				"PhysicalConnectionRequirements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-physicalconnectionrequirements",
					Type:          "PhysicalConnectionRequirements",
					UpdateType:    "Mutable",
				},
				"ConnectionProperties": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MatchCriteria": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-matchcriteria",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Channel.CaptionSelectorSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html",
			Properties: map[string]*models.Property{
				"AribSourceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-aribsourcesettings",
					Type:          "AribSourceSettings",
					UpdateType:    "Mutable",
				},
				"DvbSubSourceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-dvbsubsourcesettings",
					Type:          "DvbSubSourceSettings",
					UpdateType:    "Mutable",
				},
				"EmbeddedSourceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-embeddedsourcesettings",
					Type:          "EmbeddedSourceSettings",
					UpdateType:    "Mutable",
				},
				"Scte20SourceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-scte20sourcesettings",
					Type:          "Scte20SourceSettings",
					UpdateType:    "Mutable",
				},
				"Scte27SourceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-scte27sourcesettings",
					Type:          "Scte27SourceSettings",
					UpdateType:    "Mutable",
				},
				"TeletextSourceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-teletextsourcesettings",
					Type:          "TeletextSourceSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.Behavior": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior.html",
			Properties: map[string]*models.Property{
				"Recency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior.html#cfn-pinpoint-segment-segmentdimensions-behavior-recency",
					Type:          "Recency",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html",
			Properties: map[string]*models.Property{
				"ProcessingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-processingconfiguration",
					Type:          "ProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"S3BackupMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-s3backupmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HECAcknowledgmentTimeoutInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecacknowledgmenttimeoutinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HECEndpoint": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"CloudWatchLoggingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-cloudwatchloggingoptions",
					Type:          "CloudWatchLoggingOptions",
					UpdateType:    "Mutable",
				},
				"RetryOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-retryoptions",
					Type:          "SplunkRetryOptions",
					UpdateType:    "Mutable",
				},
				"S3Configuration": &models.Property{
					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::CodeDeploy::DeploymentGroup.LoadBalancerInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html",
			Properties: map[string]*models.Property{
				"TargetGroupInfoList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo-targetgroupinfolist",
					ItemType:      "TargetGroupInfo",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ElbInfoList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo-elbinfolist",
					ItemType:      "ELBInfo",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.SmsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html",
			Properties: map[string]*models.Property{
				"ExternalId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-externalid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnsCallerArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snscallerarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html",
			Properties: map[string]*models.Property{
				"Permission": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-permission",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceId": &models.Property{
					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::KinesisFirehose::DeliveryStream.ProcessingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html#cfn-kinesisfirehose-deliverystream-processingconfiguration-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Processors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html#cfn-kinesisfirehose-deliverystream-processingconfiguration-processors",
					ItemType:      "Processor",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBInstance.DBInstanceRole": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					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",
				},
				"FeatureName": &models.Property{
					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",
				},
			},
		},
		"AWS::RDS::DBProxy.AuthFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html",
			Properties: map[string]*models.Property{
				"SecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-secretarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthScheme": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-authscheme",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IAMAuth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-iamauth",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html",
			Properties: map[string]*models.Property{
				"DefaultResult": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-defaultresult",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HeartbeatTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-heartbeattimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LifecycleHookName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-notificationmetadata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NotificationTargetARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-notificationtargetarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.InputLossBehavior": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossbehavior.html",
			Properties: map[string]*models.Property{
				"BlackFrameMsec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossbehavior.html#cfn-medialive-channel-inputlossbehavior-blackframemsec",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InputLossImageColor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossbehavior.html#cfn-medialive-channel-inputlossbehavior-inputlossimagecolor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputLossImageSlate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossbehavior.html#cfn-medialive-channel-inputlossbehavior-inputlossimageslate",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"InputLossImageType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossbehavior.html#cfn-medialive-channel-inputlossbehavior-inputlossimagetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RepeatFrameMsec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlossbehavior.html#cfn-medialive-channel-inputlossbehavior-repeatframemsec",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html",
			Properties: map[string]*models.Property{
				"EventAction": &models.Property{
					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::EKS::Cluster.Provider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-provider.html",
			Properties: map[string]*models.Property{
				"KeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-provider.html#cfn-eks-cluster-provider-keyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinitionVersion.RunAs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html",
			Properties: map[string]*models.Property{
				"Gid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-gid",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Uid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-uid",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Input.InputSourceRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html",
			Properties: map[string]*models.Property{
				"PasswordParam": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html#cfn-medialive-input-inputsourcerequest-passwordparam",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html#cfn-medialive-input-inputsourcerequest-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html#cfn-medialive-input-inputsourcerequest-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html",
			Properties: map[string]*models.Property{
				"Enforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-enforce",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Ports": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-ports",
					PrimitiveItemType: "Integer",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Validation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicytls.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicytls-validation",
					Required:      true,
					Type:          "VirtualGatewayTlsValidationContext",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
			Properties: map[string]*models.Property{
				"Primary": &models.Property{
					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": &models.Property{
					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::Kendra::DataSource.OneDriveUserList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveuserlist.html",
			Properties: map[string]*models.Property{
				"OneDriveUserList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveuserlist.html#cfn-kendra-datasource-onedriveuserlist-onedriveuserlist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.Resource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html",
			Properties: map[string]*models.Property{
				"DataLocationResource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-datalocationresource",
					Type:          "DataLocationResource",
					UpdateType:    "Mutable",
				},
				"DatabaseResource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-databaseresource",
					Type:          "DatabaseResource",
					UpdateType:    "Mutable",
				},
				"TableResource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tableresource",
					Type:          "TableResource",
					UpdateType:    "Mutable",
				},
				"TableWithColumnsResource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tablewithcolumnsresource",
					Type:          "TableWithColumnsResource",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::StateMachine.ApiStateMachineAuth": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-apistatemachineauth.html",
			Properties: map[string]*models.Property{
				"ApiKeyRequired": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-apistatemachineauth.html#sam-statemachine-apistatemachineauth-apikeyrequired",
					PrimitiveType: "Boolean",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-apistatemachineauth.html#sam-statemachine-apistatemachineauth-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Authorizer": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-apistatemachineauth.html#sam-statemachine-apistatemachineauth-authorizer",
					PrimitiveType: "String",
				},
				"ResourcePolicy": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-apistatemachineauth.html#sam-statemachine-apistatemachineauth-resourcepolicy",
					Type:          "ResourcePolicyStatement",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration.html",
			Properties: map[string]*models.Property{
				"DocumentDataFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration-documentdatafieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration.html#cfn-kendra-datasource-salesforcecustomknowledgearticletypeconfiguration-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::DataSource.ElasticsearchConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html",
			Properties: map[string]*models.Property{
				"AwsRegion": &models.Property{
					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": &models.Property{
					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::ElasticLoadBalancingV2::Listener.RedirectConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html",
			Properties: map[string]*models.Property{
				"Host": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-host",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-port",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-protocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Query": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-query",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StatusCode": &models.Property{
					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::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html",
			Properties: map[string]*models.Property{
				"CrawlAttachments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html#cfn-kendra-datasource-servicenowservicecatalogconfiguration-crawlattachments",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DocumentDataFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html#cfn-kendra-datasource-servicenowservicecatalogconfiguration-documentdatafieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html#cfn-kendra-datasource-servicenowservicecatalogconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExcludeAttachmentFilePatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html#cfn-kendra-datasource-servicenowservicecatalogconfiguration-excludeattachmentfilepatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html#cfn-kendra-datasource-servicenowservicecatalogconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"IncludeAttachmentFilePatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowservicecatalogconfiguration.html#cfn-kendra-datasource-servicenowservicecatalogconfiguration-includeattachmentfilepatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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::Pinpoint::Campaign.WriteTreatmentResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html",
			Properties: map[string]*models.Property{
				"MessageConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-messageconfiguration",
					Type:          "MessageConfiguration",
					UpdateType:    "Mutable",
				},
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-schedule",
					Type:          "Schedule",
					UpdateType:    "Mutable",
				},
				"SizePercent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-sizepercent",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TreatmentDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-treatmentdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TreatmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-treatmentname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::OptionGroup.OptionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html",
			Properties: map[string]*models.Property{
				"OptionName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionsettings",
					ItemType:      "OptionSetting",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OptionVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfiguration-optionversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VpcSecurityGroupMemberships": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-vpcsecuritygroupmemberships",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DBSecurityGroupMemberships": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-dbsecuritygroupmemberships",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.MetricsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-tagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule.StatisticsResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-statisticsresource.html",
			Properties: map[string]*models.Property{
				"S3Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-statisticsresource.html#cfn-sagemaker-monitoringschedule-statisticsresource-s3uri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::DomainName.EndpointConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html",
			Properties: map[string]*models.Property{
				"Types": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-types",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.ScheduledTriggerProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html",
			Properties: map[string]*models.Property{
				"ScheduleEndTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-scheduleendtime",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ScheduleExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-scheduleexpression",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ScheduleStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-schedulestarttime",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"TimeZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-timezone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DataPullMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html#cfn-appflow-flow-scheduledtriggerproperties-datapullmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::GameServerGroup.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-tags.html#cfn-gamelift-gameservergroup-tags-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html",
			Properties: map[string]*models.Property{
				"DataTraceEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-datatraceenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DetailedMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-detailedmetricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LoggingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-logginglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ThrottlingBurstLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-throttlingburstlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ThrottlingRateLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routesettings.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routesettings-throttlingratelimit",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.MarketoSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-marketosourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-marketosourceproperties.html#cfn-appflow-flow-marketosourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::Stack.UserSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					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::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html",
			Properties: map[string]*models.Property{
				"MetricIntervalLowerBound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervallowerbound",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MetricIntervalUpperBound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervalupperbound",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ScalingAdjustment": &models.Property{
					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::EC2::LaunchTemplate.MetadataOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html",
			Properties: map[string]*models.Property{
				"HttpEndpoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpendpoint",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HttpPutResponseHopLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpputresponsehoplimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HttpTokens": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httptokens",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html",
			Properties: map[string]*models.Property{
				"Constraints": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html#cfn-elasticmapreduce-instancegroupconfig-autoscalingpolicy-rules",
					ItemType:      "ScalingRule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.WindowsEvent": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html",
			Properties: map[string]*models.Property{
				"EventLevels": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-eventlevels",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"EventName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-eventname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LogGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-loggroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PatternSet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-patternset",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.DataSourceToIndexFieldMappingList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmappinglist.html",
			Properties: map[string]*models.Property{
				"DataSourceToIndexFieldMappingList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmappinglist.html#cfn-kendra-datasource-datasourcetoindexfieldmappinglist-datasourcetoindexfieldmappinglist",
					ItemType:      "DataSourceToIndexFieldMapping",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.TeletextSourceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-teletextsourcesettings.html",
			Properties: map[string]*models.Property{
				"PageNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-teletextsourcesettings.html#cfn-medialive-channel-teletextsourcesettings-pagenumber",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.AndStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementone.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementone.html#cfn-wafv2-webacl-andstatementone-statements",
					ItemType:      "StatementTwo",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.Variable": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html",
			Properties: map[string]*models.Property{
				"DatasetContentVersionValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-datasetcontentversionvalue",
					Type:          "DatasetContentVersionValue",
					UpdateType:    "Mutable",
				},
				"DoubleValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-doublevalue",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"OutputFileUriValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-outputfileurivalue",
					Type:          "OutputFileUriValue",
					UpdateType:    "Mutable",
				},
				"StringValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-stringvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VariableName": &models.Property{
					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::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordColumnDelimiter": &models.Property{
					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": &models.Property{
					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::MediaLive::Channel.BlackoutSlate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-blackoutslate.html",
			Properties: map[string]*models.Property{
				"BlackoutSlateImage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-blackoutslate.html#cfn-medialive-channel-blackoutslate-blackoutslateimage",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"NetworkEndBlackout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-blackoutslate.html#cfn-medialive-channel-blackoutslate-networkendblackout",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkEndBlackoutImage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-blackoutslate.html#cfn-medialive-channel-blackoutslate-networkendblackoutimage",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"NetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-blackoutslate.html#cfn-medialive-channel-blackoutslate-networkid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-blackoutslate.html#cfn-medialive-channel-blackoutslate-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.GrpcTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html",
			Properties: map[string]*models.Property{
				"Idle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-idle",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
				"PerRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-perrequest",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::Resolver.PipelineConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html",
			Properties: map[string]*models.Property{
				"Functions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html#cfn-appsync-resolver-pipelineconfig-functions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html",
			Properties: map[string]*models.Property{
				"DataLakePrincipalIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html#cfn-lakeformation-datalakesettings-datalakeprincipal-datalakeprincipalidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.BackendDefaults": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html",
			Properties: map[string]*models.Property{
				"ClientPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html#cfn-appmesh-virtualnode-backenddefaults-clientpolicy",
					Type:          "ClientPolicy",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateSpecification": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html#cfn-as-mixedinstancespolicy-overrides",
					ItemType:      "LaunchTemplateOverrides",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.S3OriginConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html",
			Properties: map[string]*models.Property{
				"OriginAccessIdentity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html#cfn-cloudfront-distribution-s3originconfig-originaccessidentity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.DockerVolumeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html",
			Properties: map[string]*models.Property{
				"Driver": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driver",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DriverOpts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driveropts",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"Labels": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-labels",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-scope",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Autoprovision": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-autoprovision",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html",
			Properties: map[string]*models.Property{
				"MatchingEventTypes": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-pinpointdestination",
					Type:          "PinpointDestination",
					UpdateType:    "Mutable",
				},
				"SnsDestination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-snsdestination",
					Type:          "SnsDestination",
					UpdateType:    "Mutable",
				},
				"CloudWatchDestination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-cloudwatchdestination",
					Type:          "CloudWatchDestination",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"KinesisFirehoseDestination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-kinesisfirehosedestination",
					Type:          "KinesisFirehoseDestination",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.FilterRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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.ServerSideEncryptionRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html",
			Properties: map[string]*models.Property{
				"ServerSideEncryptionByDefault": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-serversideencryptionbydefault",
					Type:          "ServerSideEncryptionByDefault",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					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::EC2::EC2Fleet.TagSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html",
			Properties: map[string]*models.Property{
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-resourcetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Route53::RecordSet.AliasTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html",
			Properties: map[string]*models.Property{
				"EvaluateTargetHealth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"HostedZoneId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DNSName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-dnshostname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.SpotProvisioningSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html",
			Properties: map[string]*models.Property{
				"TimeoutAction": &models.Property{
					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": &models.Property{
					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",
				},
				"BlockDurationMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-blockdurationminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.KinesisParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html",
			Properties: map[string]*models.Property{
				"PartitionKeyPath": &models.Property{
					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::KinesisAnalytics::Application.InputParallelism": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputparallelism.html",
			Properties: map[string]*models.Property{
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputparallelism.html#cfn-kinesisanalytics-application-inputparallelism-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.html",
			Properties: map[string]*models.Property{
				"MappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-mappingparameters",
					Type:          "MappingParameters",
					UpdateType:    "Mutable",
				},
				"RecordFormatType": &models.Property{
					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::MediaLive::Channel.HlsMediaStoreSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsmediastoresettings.html",
			Properties: map[string]*models.Property{
				"ConnectionRetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsmediastoresettings.html#cfn-medialive-channel-hlsmediastoresettings-connectionretryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FilecacheDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsmediastoresettings.html#cfn-medialive-channel-hlsmediastoresettings-filecacheduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MediaStoreStorageClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsmediastoresettings.html#cfn-medialive-channel-hlsmediastoresettings-mediastorestorageclass",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsmediastoresettings.html#cfn-medialive-channel-hlsmediastoresettings-numretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RestartDelay": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsmediastoresettings.html#cfn-medialive-channel-hlsmediastoresettings-restartdelay",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.PortMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html",
			Properties: map[string]*models.Property{
				"ContainerPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html#cfn-ecs-taskdefinition-containerdefinition-portmappings-containerport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"HostPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html#cfn-ecs-taskdefinition-containerdefinition-portmappings-readonly",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html#cfn-ecs-taskdefinition-containerdefinition-portmappings-sourcevolume",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::TopicRule.KinesisAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html",
			Properties: map[string]*models.Property{
				"PartitionKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html#cfn-iot-topicrule-kinesisaction-partitionkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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": &models.Property{
					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::MediaLive::Input.InputDeviceRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdevicerequest.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdevicerequest.html#cfn-medialive-input-inputdevicerequest-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-cloudwatchdestination.html",
			Properties: map[string]*models.Property{
				"DimensionConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-cloudwatchdestination.html#cfn-pinpointemail-configurationseteventdestination-cloudwatchdestination-dimensionconfigurations",
					ItemType:      "DimensionConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html",
			Properties: map[string]*models.Property{
				"Position": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-position",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"FallbackBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-fallbackbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HeaderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-headername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ManagedBlockchain::Member.VotingPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html",
			Properties: map[string]*models.Property{
				"ApprovalThresholdPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html#cfn-managedblockchain-member-votingpolicy-approvalthresholdpolicy",
					Type:          "ApprovalThresholdPolicy",
					UpdateType:    "Mutable",
				},
			},
		},
		"Tag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.CloudWatchEvent": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchevent.html",
			Properties: map[string]*models.Property{
				"InputPath": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchevent.html#sam-function-cloudwatchevent-inputpath",
					PrimitiveType: "String",
				},
				"Pattern": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchevent.html#sam-function-cloudwatchevent-pattern",
					Required:      true,
					Type:          "EventPattern",
				},
				"EventBusName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchevent.html#sam-function-cloudwatchevent-eventbusname",
					PrimitiveType: "String",
				},
				"Input": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchevent.html#sam-function-cloudwatchevent-input",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html",
			Properties: map[string]*models.Property{
				"Trust": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontext-trust",
					Required:      true,
					Type:          "VirtualGatewayTlsValidationContextTrust",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.SpotFleetRequestConfigData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html",
			Properties: map[string]*models.Property{
				"InstanceInterruptionBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instanceinterruptionbehavior",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LaunchSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications",
					ItemType:      "SpotFleetLaunchSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ValidUntil": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-validuntil",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AllocationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-allocationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ExcessCapacityTerminationPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-excesscapacityterminationpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplaceUnhealthyInstances": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-replaceunhealthyinstances",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"SpotPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ValidFrom": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-validfrom",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LaunchTemplateConfigs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchtemplateconfigs",
					ItemType:      "LaunchTemplateConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"LoadBalancersConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-loadbalancersconfig",
					Type:          "LoadBalancersConfig",
					UpdateType:    "Immutable",
				},
				"TerminateInstancesWithExpiration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-terminateinstanceswithexpiration",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"IamFleetRole": &models.Property{
					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",
				},
				"TargetCapacity": &models.Property{
					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",
				},
			},
		},
		"AWS::Events::Rule.BatchParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html",
			Properties: map[string]*models.Property{
				"ArrayProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-arrayproperties",
					Type:          "BatchArrayProperties",
					UpdateType:    "Mutable",
				},
				"JobDefinition": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-retrystrategy",
					Type:          "BatchRetryStrategy",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset.TriggeringDataset": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-triggeringdataset.html",
			Properties: map[string]*models.Property{
				"DatasetName": &models.Property{
					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::StepFunctions::StateMachine.LoggingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html",
			Properties: map[string]*models.Property{
				"Destinations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-destinations",
					ItemType:      "LogDestination",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"IncludeExecutionData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-includeexecutiondata",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Level": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-level",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html",
			Properties: map[string]*models.Property{
				"FallbackBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html#cfn-wafv2-rulegroup-forwardedipconfiguration-fallbackbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HeaderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html#cfn-wafv2-rulegroup-forwardedipconfiguration-headername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.SQS": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqs.html",
			Properties: map[string]*models.Property{
				"BatchSize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqs.html#sam-function-sqs-batchsize",
					PrimitiveType: "Integer",
				},
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqs.html#sam-function-sqs-enabled",
					PrimitiveType: "Boolean",
				},
				"Queue": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqs.html#sam-function-sqs-queue",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::Macie::FindingsFilter.FindingCriteria": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingcriteria.html",
			Properties: map[string]*models.Property{
				"Criterion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-macie-findingsfilter-findingcriteria.html#cfn-macie-findingsfilter-findingcriteria-criterion",
					Type:          "Criterion",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.Policies": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html",
			Properties: map[string]*models.Property{
				"PasswordPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-passwordpolicy",
					Type:          "PasswordPolicy",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.FirelensConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Options": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-options",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::Elasticsearch::Domain.MasterUserOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html",
			Properties: map[string]*models.Property{
				"MasterUserARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html#cfn-elasticsearch-domain-masteruseroptions-masteruserarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MasterUserName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html#cfn-elasticsearch-domain-masteruseroptions-masterusername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MasterUserPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-masteruseroptions.html#cfn-elasticsearch-domain-masteruseroptions-masteruserpassword",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.VideoSelectorProgramId": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorprogramid.html",
			Properties: map[string]*models.Property{
				"ProgramId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorprogramid.html#cfn-medialive-channel-videoselectorprogramid-programid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.Rule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html",
			Properties: map[string]*models.Property{
				"ExpirationDate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationdate",
					PrimitiveType: "Timestamp",
					UpdateType:    "Mutable",
				},
				"ExpirationInDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationindays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-id",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NoncurrentVersionExpirationInDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpirationindays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-tagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Transition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transition",
					Type:          "Transition",
					UpdateType:    "Mutable",
				},
				"AbortIncompleteMultipartUpload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-abortincompletemultipartupload",
					Type:          "AbortIncompleteMultipartUpload",
					UpdateType:    "Mutable",
				},
				"Transitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transitions",
					ItemType:      "Transition",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"NoncurrentVersionTransitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransitions",
					ItemType:      "NoncurrentVersionTransition",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NoncurrentVersionTransition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition",
					Type:          "NoncurrentVersionTransition",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.IoTRule": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-iotrule.html",
			Properties: map[string]*models.Property{
				"AwsIotSqlVersion": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-iotrule.html#sam-function-iotrule-awsiotsqlversion",
					PrimitiveType: "String",
				},
				"Sql": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-iotrule.html#sam-function-iotrule-sql",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html",
			Properties: map[string]*models.Property{
				"CertificateAuthorityArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust.html#cfn-appmesh-virtualgateway-virtualgatewaytlsvalidationcontextacmtrust-certificateauthorityarns",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html",
			Properties: map[string]*models.Property{
				"HttpCode": &models.Property{
					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::Elasticsearch::Domain.ElasticsearchClusterConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html",
			Properties: map[string]*models.Property{
				"DedicatedMasterCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmastercount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DedicatedMasterEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmasterenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DedicatedMasterType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmastertype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instancecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instnacetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ZoneAwarenessConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-zoneawarenessconfig",
					Type:          "ZoneAwarenessConfig",
					UpdateType:    "Mutable",
				},
				"ZoneAwarenessEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-zoneawarenessenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Scte20SourceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20sourcesettings.html",
			Properties: map[string]*models.Property{
				"Convert608To708": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20sourcesettings.html#cfn-medialive-channel-scte20sourcesettings-convert608to708",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Source608ChannelNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20sourcesettings.html#cfn-medialive-channel-scte20sourcesettings-source608channelnumber",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.DatabaseConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html",
			Properties: map[string]*models.Property{
				"DatabaseEngineType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html#cfn-kendra-datasource-databaseconfiguration-databaseenginetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SqlConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html#cfn-kendra-datasource-databaseconfiguration-sqlconfiguration",
					Type:          "SqlConfiguration",
					UpdateType:    "Mutable",
				},
				"VpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html#cfn-kendra-datasource-databaseconfiguration-vpcconfiguration",
					Type:          "DataSourceVpcConfiguration",
					UpdateType:    "Mutable",
				},
				"AclConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html#cfn-kendra-datasource-databaseconfiguration-aclconfiguration",
					Type:          "AclConfiguration",
					UpdateType:    "Mutable",
				},
				"ColumnConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html#cfn-kendra-datasource-databaseconfiguration-columnconfiguration",
					Required:      true,
					Type:          "ColumnConfiguration",
					UpdateType:    "Mutable",
				},
				"ConnectionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-databaseconfiguration.html#cfn-kendra-datasource-databaseconfiguration-connectionconfiguration",
					Required:      true,
					Type:          "ConnectionConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.InputParallelism": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputparallelism.html",
			Properties: map[string]*models.Property{
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputparallelism.html#cfn-kinesisanalyticsv2-application-inputparallelism-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration.html",
			Properties: map[string]*models.Property{
				"Inputs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-sqlapplicationconfiguration-inputs",
					ItemType:      "Input",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html",
			Properties: map[string]*models.Property{
				"Country": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html#cfn-pinpoint-segment-segmentdimensions-location-country",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"GPSPoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html#cfn-pinpoint-segment-segmentdimensions-location-gpspoint",
					Type:          "GPSPoint",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-singularconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ApiKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-singularconnectorprofilecredentials.html#cfn-appflow-connectorprofile-singularconnectorprofilecredentials-apikey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html",
			Properties: map[string]*models.Property{
				"Idle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html#cfn-appmesh-route-grpctimeout-idle",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
				"PerRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html#cfn-appmesh-route-grpctimeout-perrequest",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.DefaultRetention": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html",
			Properties: map[string]*models.Property{
				"Days": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-days",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-mode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Years": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-years",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.OrStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementone.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementone.html#cfn-wafv2-rulegroup-orstatementone-statements",
					ItemType:      "StatementTwo",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.DatadogSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-datadogsourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-datadogsourceproperties.html#cfn-appflow-flow-datadogsourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECR::Repository.LifecyclePolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html",
			Properties: map[string]*models.Property{
				"LifecyclePolicyText": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-lifecyclepolicytext",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RegistryId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-registryid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.AssetPropertyValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html",
			Properties: map[string]*models.Property{
				"Timestamp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-timestamp",
					Type:          "AssetPropertyTimestamp",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-value",
					Type:          "AssetPropertyVariant",
					UpdateType:    "Mutable",
				},
				"Quality": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-quality",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.Input": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html",
			Properties: map[string]*models.Property{
				"KinesisStreamsInput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-kinesisstreamsinput",
					Type:          "KinesisStreamsInput",
					UpdateType:    "Mutable",
				},
				"NamePrefix": &models.Property{
					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",
				},
				"InputParallelism": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-inputparallelism",
					Type:          "InputParallelism",
					UpdateType:    "Mutable",
				},
				"InputProcessingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-inputprocessingconfiguration",
					Type:          "InputProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"InputSchema": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-kinesisfirehoseinput",
					Type:          "KinesisFirehoseInput",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.EncryptionInTransit": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html",
			Properties: map[string]*models.Property{
				"ClientBroker": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-clientbroker",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InCluster": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-incluster",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAF::SizeConstraintSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint-fieldtomatch.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::AppConfig::ConfigurationProfile.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-tags.html#cfn-appconfig-configurationprofile-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-tags.html#cfn-appconfig-configurationprofile-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.StaticKeySettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-statickeysettings.html",
			Properties: map[string]*models.Property{
				"KeyProviderServer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-statickeysettings.html#cfn-medialive-channel-statickeysettings-keyproviderserver",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"StaticKeyValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-statickeysettings.html#cfn-medialive-channel-statickeysettings-statickeyvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.MetricsCollection": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html",
			Properties: map[string]*models.Property{
				"Granularity": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html#cfn-as-metricscollection-metrics",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::GameLift::Build.S3Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-object-verison",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RoleArn": &models.Property{
					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::DataPipeline::Pipeline.PipelineTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelinetags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.AssetPropertyVariant": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html",
			Properties: map[string]*models.Property{
				"BooleanValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-booleanvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DoubleValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-doublevalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegerValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-integervalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StringValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-stringvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.Firehose": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html",
			Properties: map[string]*models.Property{
				"DeliveryStream": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-deliverystream",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-enabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.SmpteTtDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-smptettdestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-pathpatternconfig.html",
			Properties: map[string]*models.Property{
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-pathpatternconfig.html#cfn-elasticloadbalancingv2-listenerrule-pathpatternconfig-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::SSM::PatchBaseline.PatchFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html#cfn-ssm-patchbaseline-patchfilter-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html#cfn-ssm-patchbaseline-patchfilter-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.S3SourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3sourceproperties.html",
			Properties: map[string]*models.Property{
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3sourceproperties.html#cfn-appflow-flow-s3sourceproperties-bucketprefix",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3sourceproperties.html#cfn-appflow-flow-s3sourceproperties-bucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html",
			Properties: map[string]*models.Property{
				"File": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayaccesslog-file",
					Type:          "VirtualGatewayFileAccessLog",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::StreamingDistribution.TrustedSigners": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					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",
				},
				"AwsAccountNumbers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-awsaccountnumbers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::LocalGatewayRouteTableVPCAssociation.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-localgatewayroutetablevpcassociation-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-localgatewayroutetablevpcassociation-tags.html#cfn-ec2-localgatewayroutetablevpcassociation-tags-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.EventDimensions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html",
			Properties: map[string]*models.Property{
				"EventType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-eventtype",
					Type:          "SetDimension",
					UpdateType:    "Mutable",
				},
				"Metrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-metrics",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Attributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-attributes",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.Destination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html",
			Properties: map[string]*models.Property{
				"BucketAccountId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketaccountid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.VisibilityConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html",
			Properties: map[string]*models.Property{
				"CloudWatchMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-cloudwatchmetricsenabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-metricname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SampledRequestsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-sampledrequestsenabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofileproperties.html#cfn-appflow-connectorprofile-slackconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.EventBridgeDestinationProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-eventbridgedestinationproperties.html",
			Properties: map[string]*models.Property{
				"ErrorHandlingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-eventbridgedestinationproperties.html#cfn-appflow-flow-eventbridgedestinationproperties-errorhandlingconfig",
					Type:          "ErrorHandlingConfig",
					UpdateType:    "Mutable",
				},
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-eventbridgedestinationproperties.html#cfn-appflow-flow-eventbridgedestinationproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DAX::Cluster.SSESpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dax-cluster-ssespecification.html",
			Properties: map[string]*models.Property{
				"SSEEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dax-cluster-ssespecification.html#cfn-dax-cluster-ssespecification-sseenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html",
			Properties: map[string]*models.Property{
				"WeightedCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-weightedcapacity",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-instancetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MaxPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-maxprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Placement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-placement",
					Type:          "Placement",
					UpdateType:    "Immutable",
				},
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-priority",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Elasticsearch::Domain.DomainEndpointOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html",
			Properties: map[string]*models.Property{
				"EnforceHTTPS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-enforcehttps",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TLSSecurityPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-domainendpointoptions.html#cfn-elasticsearch-domain-domainendpointoptions-tlssecuritypolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.Target": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-batchparameters",
					Type:          "BatchParameters",
					UpdateType:    "Mutable",
				},
				"InputPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputTransformer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer",
					Type:          "InputTransformer",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SqsParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters",
					Type:          "SqsParameters",
					UpdateType:    "Mutable",
				},
				"EcsParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters",
					Type:          "EcsParameters",
					UpdateType:    "Mutable",
				},
				"HttpParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-httpparameters",
					Type:          "HttpParameters",
					UpdateType:    "Mutable",
				},
				"Id": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KinesisParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-kinesisparameters",
					Type:          "KinesisParameters",
					UpdateType:    "Mutable",
				},
				"RunCommandParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-runcommandparameters",
					Type:          "RunCommandParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::FMS::Policy.IEMap": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-iemap.html",
			Properties: map[string]*models.Property{
				"ACCOUNT": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-iemap.html#cfn-fms-policy-iemap-account",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ORGUNIT": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-iemap.html#cfn-fms-policy-iemap-orgunit",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.ByteMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html",
			Properties: map[string]*models.Property{
				"SearchString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SearchStringBase64": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstringbase64",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TextTransformations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-texttransformations",
					ItemType:      "TextTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FieldToMatch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-fieldtomatch",
					Required:      true,
					Type:          "FieldToMatch",
					UpdateType:    "Mutable",
				},
				"PositionalConstraint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-positionalconstraint",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.HttpTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html",
			Properties: map[string]*models.Property{
				"Idle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-idle",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
				"PerRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-perrequest",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.OutputDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html",
			Properties: map[string]*models.Property{
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PasswordParam": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-passwordparam",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-streamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.AddHeaderAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html",
			Properties: map[string]*models.Property{
				"HeaderName": &models.Property{
					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": &models.Property{
					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::SSM::MaintenanceWindowTask.LoggingInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html",
			Properties: map[string]*models.Property{
				"Region": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-s3prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.CaptionDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html",
			Properties: map[string]*models.Property{
				"Scte27DestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-scte27destinationsettings",
					Type:          "Scte27DestinationSettings",
					UpdateType:    "Mutable",
				},
				"SmpteTtDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-smptettdestinationsettings",
					Type:          "SmpteTtDestinationSettings",
					UpdateType:    "Mutable",
				},
				"TtmlDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-ttmldestinationsettings",
					Type:          "TtmlDestinationSettings",
					UpdateType:    "Mutable",
				},
				"DvbSubDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-dvbsubdestinationsettings",
					Type:          "DvbSubDestinationSettings",
					UpdateType:    "Mutable",
				},
				"EmbeddedDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-embeddeddestinationsettings",
					Type:          "EmbeddedDestinationSettings",
					UpdateType:    "Mutable",
				},
				"EmbeddedPlusScte20DestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-embeddedplusscte20destinationsettings",
					Type:          "EmbeddedPlusScte20DestinationSettings",
					UpdateType:    "Mutable",
				},
				"Scte20PlusEmbeddedDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-scte20plusembeddeddestinationsettings",
					Type:          "Scte20PlusEmbeddedDestinationSettings",
					UpdateType:    "Mutable",
				},
				"TeletextDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-teletextdestinationsettings",
					Type:          "TeletextDestinationSettings",
					UpdateType:    "Mutable",
				},
				"WebvttDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-webvttdestinationsettings",
					Type:          "WebvttDestinationSettings",
					UpdateType:    "Mutable",
				},
				"AribDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-aribdestinationsettings",
					Type:          "AribDestinationSettings",
					UpdateType:    "Mutable",
				},
				"BurnInDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-burnindestinationsettings",
					Type:          "BurnInDestinationSettings",
					UpdateType:    "Mutable",
				},
				"EbuTtDDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-ebuttddestinationsettings",
					Type:          "EbuTtDDestinationSettings",
					UpdateType:    "Mutable",
				},
				"RtmpCaptionInfoDestinationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captiondestinationsettings.html#cfn-medialive-channel-captiondestinationsettings-rtmpcaptioninfodestinationsettings",
					Type:          "RtmpCaptionInfoDestinationSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.EncoderSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html",
			Properties: map[string]*models.Property{
				"AvailBlanking": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-availblanking",
					Type:          "AvailBlanking",
					UpdateType:    "Mutable",
				},
				"AvailConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-availconfiguration",
					Type:          "AvailConfiguration",
					UpdateType:    "Mutable",
				},
				"CaptionDescriptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-captiondescriptions",
					ItemType:      "CaptionDescription",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FeatureActivations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-featureactivations",
					Type:          "FeatureActivations",
					UpdateType:    "Mutable",
				},
				"GlobalConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-globalconfiguration",
					Type:          "GlobalConfiguration",
					UpdateType:    "Mutable",
				},
				"NielsenConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-nielsenconfiguration",
					Type:          "NielsenConfiguration",
					UpdateType:    "Mutable",
				},
				"TimecodeConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-timecodeconfig",
					Type:          "TimecodeConfig",
					UpdateType:    "Mutable",
				},
				"AudioDescriptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-audiodescriptions",
					ItemType:      "AudioDescription",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BlackoutSlate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-blackoutslate",
					Type:          "BlackoutSlate",
					UpdateType:    "Mutable",
				},
				"OutputGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-outputgroups",
					ItemType:      "OutputGroup",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VideoDescriptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-videodescriptions",
					ItemType:      "VideoDescription",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.AssetPropertyVariant": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html",
			Properties: map[string]*models.Property{
				"StringValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-stringvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BooleanValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-booleanvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DoubleValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-doublevalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegerValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-integervalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.FrameCaptureSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecapturesettings.html",
			Properties: map[string]*models.Property{
				"CaptureInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecapturesettings.html#cfn-medialive-channel-framecapturesettings-captureinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CaptureIntervalUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-framecapturesettings.html#cfn-medialive-channel-framecapturesettings-captureintervalunits",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ReplicationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html",
			Properties: map[string]*models.Property{
				"Role": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-rules",
					ItemType:      "ReplicationRule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.ProxyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html",
			Properties: map[string]*models.Property{
				"ContainerName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html#cfn-ecs-taskdefinition-proxyconfiguration-proxyconfigurationproperties",
					ItemType:      "KeyValuePair",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html#cfn-ecs-taskdefinition-proxyconfiguration-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppSync::DataSource.HttpConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html",
			Properties: map[string]*models.Property{
				"AuthorizationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-authorizationconfig",
					Type:          "AuthorizationConfig",
					UpdateType:    "Mutable",
				},
				"Endpoint": &models.Property{
					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::OpsWorks::Instance.EbsBlockDevice": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html",
			Properties: map[string]*models.Property{
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-deleteontermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SnapshotId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-snapshotid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.Groups": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html",
			Properties: map[string]*models.Property{
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-dimensions",
					ItemType:      "SegmentDimensions",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SourceSegments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-sourcesegments",
					ItemType:      "SourceSegments",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-sourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CertificateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndpointType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-endpointtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::CustomActionType.ArtifactDetails": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-artifactdetails.html",
			Properties: map[string]*models.Property{
				"MaximumCount": &models.Property{
					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": &models.Property{
					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::EMR::InstanceGroupConfig.EbsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html",
			Properties: map[string]*models.Property{
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html#cfn-emr-ebsconfiguration-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EbsBlockDeviceConfigs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfigs",
					ItemType:      "EbsBlockDeviceConfig",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.NoncurrentVersionTransition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html",
			Properties: map[string]*models.Property{
				"StorageClass": &models.Property{
					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": &models.Property{
					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::ApiGateway::DocumentationPart.Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Method": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-method",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-path",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StatusCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-statuscode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppMesh::Route.MatchRange": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html",
			Properties: map[string]*models.Property{
				"End": &models.Property{
					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": &models.Property{
					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::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-launchtemplatespecification",
					Type:          "FleetLaunchTemplateSpecificationRequest",
					UpdateType:    "Immutable",
				},
				"Overrides": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-overrides",
					ItemType:      "FleetLaunchTemplateOverridesRequest",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.SetTimer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html",
			Properties: map[string]*models.Property{
				"Seconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-seconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TimerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-timername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DurationExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-durationexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.WebvttDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-webvttdestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::S3::AccessPoint.VpcConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html",
			Properties: map[string]*models.Property{
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html#cfn-s3-accesspoint-vpcconfiguration-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.StatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html",
			Properties: map[string]*models.Property{
				"SqliMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-sqlimatchstatement",
					Type:          "SqliMatchStatement",
					UpdateType:    "Mutable",
				},
				"XssMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-xssmatchstatement",
					Type:          "XssMatchStatement",
					UpdateType:    "Mutable",
				},
				"GeoMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-geomatchstatement",
					Type:          "GeoMatchStatement",
					UpdateType:    "Mutable",
				},
				"NotStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-notstatement",
					Type:          "NotStatementOne",
					UpdateType:    "Mutable",
				},
				"OrStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-orstatement",
					Type:          "OrStatementOne",
					UpdateType:    "Mutable",
				},
				"RateBasedStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-ratebasedstatement",
					Type:          "RateBasedStatementOne",
					UpdateType:    "Mutable",
				},
				"SizeConstraintStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-sizeconstraintstatement",
					Type:          "SizeConstraintStatement",
					UpdateType:    "Mutable",
				},
				"AndStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-andstatement",
					Type:          "AndStatementOne",
					UpdateType:    "Mutable",
				},
				"ByteMatchStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-bytematchstatement",
					Type:          "ByteMatchStatement",
					UpdateType:    "Mutable",
				},
				"IPSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-ipsetreferencestatement",
					Type:          "IPSetReferenceStatement",
					UpdateType:    "Mutable",
				},
				"RegexPatternSetReferenceStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-regexpatternsetreferencestatement",
					Type:          "RegexPatternSetReferenceStatement",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::StateMachine.EventSource": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineeventsource.html",
			Properties: map[string]*models.Property{
				"Properties": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineeventsource.html#sam-statemachine-statemachineeventsource-properties",
					Required:      true,
					Type:          "Api",
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachineeventsource.html#sam-statemachine-statemachineeventsource-type",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"AccountName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-accountname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-bucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivateLinkServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-privatelinkservicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Stage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-stage",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Warehouse": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html#cfn-appflow-connectorprofile-snowflakeconnectorprofileproperties-warehouse",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcRoute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-retrypolicy",
					Type:          "GrpcRetryPolicy",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-timeout",
					Type:          "GrpcTimeout",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Cluster.ClusterSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Step.KeyValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html#cfn-elasticmapreduce-step-keyvalue-key",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html#cfn-elasticmapreduce-step-keyvalue-value",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTAnalytics::Datastore.RetentionPeriod": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html",
			Properties: map[string]*models.Property{
				"NumberOfDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html#cfn-iotanalytics-datastore-retentionperiod-numberofdays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Unlimited": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html#cfn-iotanalytics-datastore-retentionperiod-unlimited",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.RtmpGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html",
			Properties: map[string]*models.Property{
				"CaptionData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-captiondata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputLossAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-inputlossaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RestartDelay": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-restartdelay",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AuthenticationScheme": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-authenticationscheme",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheFullBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-cachefullbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpgroupsettings.html#cfn-medialive-channel-rtmpgroupsettings-cachelength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::AccessPoint.PublicAccessBlockConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html",
			Properties: map[string]*models.Property{
				"BlockPublicAcls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicacls",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"BlockPublicPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicpolicy",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"IgnorePublicAcls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-ignorepublicacls",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"RestrictPublicBuckets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-restrictpublicbuckets",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.ResourceRequirement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html#cfn-batch-jobdefinition-resourcerequirement-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html#cfn-batch-jobdefinition-resourcerequirement-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.BatchRetryStrategy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html",
			Properties: map[string]*models.Property{
				"Attempts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html#cfn-events-rule-batchretrystrategy-attempts",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.OneDriveUsers": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveusers.html",
			Properties: map[string]*models.Property{
				"OneDriveUserList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveusers.html#cfn-kendra-datasource-onedriveusers-onedriveuserlist",
					Type:          "OneDriveUserList",
					UpdateType:    "Mutable",
				},
				"OneDriveUserS3Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-onedriveusers.html#cfn-kendra-datasource-onedriveusers-onedriveusers3path",
					Type:          "S3Path",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.Api": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html",
			Properties: map[string]*models.Property{
				"Method": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html#sam-function-api-method",
					PrimitiveType: "String",
					Required:      true,
				},
				"Path": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html#sam-function-api-path",
					PrimitiveType: "String",
					Required:      true,
				},
				"RequestModel": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html#sam-function-api-requestmodel",
					Type:          "RequestModel",
				},
				"RequestParameters": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html#sam-function-api-requestparameters",
					Type:          "RequestParameter",
				},
				"RestApiId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html#sam-function-api-restapiid",
					PrimitiveType: "String",
				},
				"Auth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html#sam-function-api-auth",
					Type:          "ApiFunctionAuth",
				},
			},
		},
		"AWS::Serverless::Application.ApplicationLocationObject": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-application-applicationlocationobject.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-application-applicationlocationobject.html#sam-application-applicationlocationobject-applicationid",
					PrimitiveType: "String",
					Required:      true,
				},
				"SemanticVersion": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-application-applicationlocationobject.html#sam-application-applicationlocationobject-semanticversion",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::Athena::WorkGroup.EncryptionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html",
			Properties: map[string]*models.Property{
				"EncryptionOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-encryptionoption",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"KmsKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-kmskey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.ResourcePolicyStatement": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html",
			Properties: map[string]*models.Property{
				"IpRangeBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-iprangeblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IpRangeWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-iprangewhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"SourceVpcBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-sourcevpcblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AwsAccountBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-awsaccountblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AwsAccountWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-awsaccountwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CustomStatements": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-customstatements",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpceBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-intrinsicvpceblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpceWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-intrinsicvpcewhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"SourceVpcWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-sourcevpcwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpcBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-intrinsicvpcblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpcWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-resourcepolicystatement.html#sam-function-resourcepolicystatement-intrinsicvpcwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcRetryPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html",
			Properties: map[string]*models.Property{
				"GrpcRetryEvents": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-grpcretryevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"HttpRetryEvents": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-httpretryevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaxRetries": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-tcpretryevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html",
			Properties: map[string]*models.Property{
				"Range": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-range",
					Type:          "MatchRange",
					UpdateType:    "Mutable",
				},
				"Regex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-regex",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Suffix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-suffix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Exact": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-exact",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.HttpRouteAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html",
			Properties: map[string]*models.Property{
				"WeightedTargets": &models.Property{
					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::IoT::Thing.AttributePayload": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html",
			Properties: map[string]*models.Property{
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisstreamsoutput.html",
			Properties: map[string]*models.Property{
				"RoleARN": &models.Property{
					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",
				},
				"ResourceARN": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration.html",
			Properties: map[string]*models.Property{
				"SnapshotsEnabled": &models.Property{
					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::MediaLive::Channel.M2tsSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html",
			Properties: map[string]*models.Property{
				"Ebif": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ebif",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EbpAudioInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ebpaudiointerval",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EbpLookaheadMs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ebplookaheadms",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PcrPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-pcrperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TransportStreamId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-transportstreamid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DvbSdtSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-dvbsdtsettings",
					Type:          "DvbSdtSettings",
					UpdateType:    "Mutable",
				},
				"DvbTdtSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-dvbtdtsettings",
					Type:          "DvbTdtSettings",
					UpdateType:    "Mutable",
				},
				"AudioBufferModel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-audiobuffermodel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-bitrate",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EbpPlacement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ebpplacement",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PmtInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-pmtinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RateMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ratemode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentationMarkers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-segmentationmarkers",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AbsentInputAudioBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-absentinputaudiobehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Arib": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-arib",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DvbSubPids": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-dvbsubpids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DvbTeletextPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-dvbteletextpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Klv": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-klv",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentationStyle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-segmentationstyle",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-timedmetadatabehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AribCaptionsPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-aribcaptionspid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioStreamType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-audiostreamtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Scte27Pids": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-scte27pids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FragmentTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-fragmenttime",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"PmtPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-pmtpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProgramNum": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-programnum",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Scte35Pid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-scte35pid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EtvSignalPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-etvsignalpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KlvDataPids": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-klvdatapids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DvbNitSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-dvbnitsettings",
					Type:          "DvbNitSettings",
					UpdateType:    "Mutable",
				},
				"EtvPlatformPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-etvplatformpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NielsenId3Behavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-nielsenid3behavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PcrControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-pcrcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentationTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-segmentationtime",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"VideoPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-videopid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AribCaptionsPidControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-aribcaptionspidcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CcDescriptor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ccdescriptor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EsRateInPes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-esrateinpes",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-timedmetadatapid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BufferModel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-buffermodel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EcmPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-ecmpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NullPacketBitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-nullpacketbitrate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"PatInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-patinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PcrPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-pcrpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Scte35Control": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-scte35control",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioFramesPerPes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-audioframesperpes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AudioPids": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m2tssettings.html#cfn-medialive-channel-m2tssettings-audiopids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SecurityGroup.Ingress": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html",
			Properties: map[string]*models.Property{
				"SourcePrefixListId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-securitygroup-ingress-sourceprefixlistid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceSecurityGroupOwnerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-sourcesecuritygroupownerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ToPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CidrIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IpProtocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-ipprotocol",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SourceSecurityGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-sourcesecuritygroupid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceSecurityGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-sourcesecuritygroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CidrIpv6": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FromPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.AutoScalingPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-autoscalingpolicy.html",
			Properties: map[string]*models.Property{
				"Rules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-autoscalingpolicy.html#cfn-elasticmapreduce-cluster-autoscalingpolicy-rules",
					ItemType:      "ScalingRule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Constraints": &models.Property{
					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",
				},
			},
		},
		"AWS::Glue::Table.SkewedInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html",
			Properties: map[string]*models.Property{
				"SkewedColumnValueLocationMaps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnvaluelocationmaps",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SkewedColumnValues": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnvalues",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SkewedColumnNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.DataSourceVpcConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcevpcconfiguration.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcevpcconfiguration.html#cfn-kendra-datasource-datasourcevpcconfiguration-securitygroupids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcevpcconfiguration.html#cfn-kendra-datasource-datasourcevpcconfiguration-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.VideoSelector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html",
			Properties: map[string]*models.Property{
				"SelectorSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-selectorsettings",
					Type:          "VideoSelectorSettings",
					UpdateType:    "Mutable",
				},
				"ColorSpace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ColorSpaceUsage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspaceusage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.Ulimit": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html",
			Properties: map[string]*models.Property{
				"HardLimit": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::EC2::LaunchTemplate.BlockDeviceMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html",
			Properties: map[string]*models.Property{
				"DeviceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-devicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Ebs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs",
					Type:          "Ebs",
					UpdateType:    "Mutable",
				},
				"NoDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-nodevice",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VirtualName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-virtualname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::CapacityProvider.ManagedScaling": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html",
			Properties: map[string]*models.Property{
				"MaximumScalingStepSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-maximumscalingstepsize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"MinimumScalingStepSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-minimumscalingstepsize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-status",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TargetCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-targetcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattribute-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattribute-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html",
			Properties: map[string]*models.Property{
				"ConnectionPasswordEncryption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-connectionpasswordencryption",
					Type:          "ConnectionPasswordEncryption",
					UpdateType:    "Mutable",
				},
				"EncryptionAtRest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-encryptionatrest",
					Type:          "EncryptionAtRest",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-integrationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PayloadFormatVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-payloadformatversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeoutInMillis": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integrationoverrides-timeoutinmillis",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EFS::AccessPoint.AccessPointTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html#cfn-efs-accesspoint-accesspointtag-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html#cfn-efs-accesspoint-accesspointtag-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html",
			Properties: map[string]*models.Property{
				"DeviceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-devicename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Ebs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-ebs",
					Type:          "EbsInstanceBlockDeviceSpecification",
					UpdateType:    "Immutable",
				},
				"NoDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-nodevice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VirtualName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-virtualname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfiguration.html",
			Properties: map[string]*models.Property{
				"DocumentDataFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfiguration.html#cfn-kendra-datasource-salesforcestandardobjectconfiguration-documentdatafieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfiguration.html#cfn-kendra-datasource-salesforcestandardobjectconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfiguration.html#cfn-kendra-datasource-salesforcestandardobjectconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcestandardobjectconfiguration.html#cfn-kendra-datasource-salesforcestandardobjectconfiguration-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.MediaPackageGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackagegroupsettings.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackagegroupsettings.html#cfn-medialive-channel-mediapackagegroupsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::SizeConstraintSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html#cfn-wafregional-sizeconstraintset-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::ECS::Service.DeploymentController": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html#cfn-ecs-service-deploymentcontroller-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedefinitionversion.html",
			Properties: map[string]*models.Property{
				"Resources": &models.Property{
					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::CloudFront::Distribution.LambdaFunctionAssociation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html",
			Properties: map[string]*models.Property{
				"IncludeBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-includebody",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LambdaFunctionARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-lambdafunctionarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-eventtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.SSESpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html",
			Properties: map[string]*models.Property{
				"KMSMasterKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-kmsmasterkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SSEEnabled": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-ssetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ConnectorDefinitionVersion.Connector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html",
			Properties: map[string]*models.Property{
				"ConnectorArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppConfig::DeploymentStrategy.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deploymentstrategy-tags.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deploymentstrategy-tags.html#cfn-appconfig-deploymentstrategy-tags-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deploymentstrategy-tags.html#cfn-appconfig-deploymentstrategy-tags-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.ContainerProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html",
			Properties: map[string]*models.Property{
				"LogConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-logconfiguration",
					Type:          "LogConfiguration",
					UpdateType:    "Mutable",
				},
				"Memory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-memory",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ReadonlyRootFilesystem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-readonlyrootfilesystem",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Ulimits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-ulimits",
					ItemType:      "Ulimit",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Volumes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-volumes",
					ItemType:      "Volumes",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Image": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-instancetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"JobRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-jobrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Command": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-command",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ExecutionRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-executionrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Privileged": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-privileged",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Vcpus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-vcpus",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-environment",
					ItemType:      "Environment",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Secrets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-secrets",
					ItemType:      "Secret",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"User": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-user",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LinuxParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-linuxparameters",
					Type:          "LinuxParameters",
					UpdateType:    "Mutable",
				},
				"MountPoints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-mountpoints",
					ItemType:      "MountPoints",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ResourceRequirements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-resourcerequirements",
					ItemType:      "ResourceRequirement",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.Ebs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html",
			Properties: map[string]*models.Property{
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-deleteontermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnapshotId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-snapshotid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Input.InputDestinationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdestinationrequest.html",
			Properties: map[string]*models.Property{
				"StreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdestinationrequest.html#cfn-medialive-input-inputdestinationrequest-streamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::SizeConstraintSet.SizeConstraint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html",
			Properties: map[string]*models.Property{
				"ComparisonOperator": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::ApiGateway::RestApi.S3Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ETag": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-etag",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html",
			Properties: map[string]*models.Property{
				"OutputFormatConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-outputformatconfiguration",
					Type:          "OutputFormatConfiguration",
					UpdateType:    "Mutable",
				},
				"SchemaConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-schemaconfiguration",
					Type:          "SchemaConfiguration",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"InputFormatConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-inputformatconfiguration",
					Type:          "InputFormatConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-deliveryoptions.html",
			Properties: map[string]*models.Property{
				"SendingPoolName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-deliveryoptions.html#cfn-pinpointemail-configurationset-deliveryoptions-sendingpoolname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html",
			Properties: map[string]*models.Property{
				"DeliveryStreamARN": &models.Property{
					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": &models.Property{
					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::AccessAnalyzer::Analyzer.ArchiveRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html",
			Properties: map[string]*models.Property{
				"Filter": &models.Property{
					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": &models.Property{
					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::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html",
			Properties: map[string]*models.Property{
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html#cfn-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html#cfn-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Layer.Recipes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html",
			Properties: map[string]*models.Property{
				"Deploy": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-deploy",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Setup": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-setup",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Shutdown": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-shutdown",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Undeploy": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-undeploy",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Configure": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-configure",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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::MediaLive::Channel.EbuTtDDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ebuttddestinationsettings.html",
			Properties: map[string]*models.Property{
				"FillLineGap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ebuttddestinationsettings.html#cfn-medialive-channel-ebuttddestinationsettings-filllinegap",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FontFamily": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ebuttddestinationsettings.html#cfn-medialive-channel-ebuttddestinationsettings-fontfamily",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StyleControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ebuttddestinationsettings.html#cfn-medialive-channel-ebuttddestinationsettings-stylecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.Hooks": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-hooks.html",
			Properties: map[string]*models.Property{
				"PostTraffic": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-hooks.html#sam-function-hooks-posttraffic",
					PrimitiveType: "String",
				},
				"PreTraffic": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-hooks.html#sam-function-hooks-pretraffic",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::CertificateManager::Certificate.DomainValidationOption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html",
			Properties: map[string]*models.Property{
				"ValidationDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-validationdomain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DomainName": &models.Property{
					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",
				},
				"HostedZoneId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-hostedzoneid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolClient.TokenValidityUnits": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html",
			Properties: map[string]*models.Property{
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IdToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-idtoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RefreshToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-refreshtoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::Index.ValueImportanceItem": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-valueimportanceitem.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-valueimportanceitem.html#cfn-kendra-index-valueimportanceitem-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-valueimportanceitem.html#cfn-kendra-index-valueimportanceitem-value",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.LoggingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html",
			Properties: map[string]*models.Property{
				"DestinationBucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-destinationbucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogFilePrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-logfileprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EKS::FargateProfile.Selector": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-selector.html",
			Properties: map[string]*models.Property{
				"Namespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-selector.html#cfn-eks-fargateprofile-selector-namespace",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Labels": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-fargateprofile-selector.html#cfn-eks-fargateprofile-selector-labels",
					ItemType:      "Label",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Serverless::Function.RequestParameter": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-requestparameter.html",
			Properties: map[string]*models.Property{
				"Required": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-requestparameter.html#sam-function-requestparameter-required",
					PrimitiveType: "Boolean",
				},
				"Caching": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-requestparameter.html#sam-function-requestparameter-caching",
					PrimitiveType: "Boolean",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.InputProcessingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputprocessingconfiguration.html",
			Properties: map[string]*models.Property{
				"InputLambdaProcessor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputprocessingconfiguration.html#cfn-kinesisanalytics-application-inputprocessingconfiguration-inputlambdaprocessor",
					Type:          "InputLambdaProcessor",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ManagedBlockchain::Member.MemberConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MemberFrameworkConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-memberframeworkconfiguration",
					Type:          "MemberFrameworkConfiguration",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::SageMaker::EndpointConfig.CaptureContentTypeHeader": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader.html",
			Properties: map[string]*models.Property{
				"JsonContentTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader.html#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader-jsoncontenttypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"CsvContentTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader.html#cfn-sagemaker-endpointconfig-datacaptureconfig-capturecontenttypeheader-csvcontenttypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html",
			Properties: map[string]*models.Property{
				"DisableScaleIn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-disablescalein",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PredefinedMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-predefinedmetricspecification",
					Type:          "PredefinedMetricSpecification",
					UpdateType:    "Mutable",
				},
				"TargetValue": &models.Property{
					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",
				},
				"CustomizedMetricSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-customizedmetricspecification",
					Type:          "CustomizedMetricSpecification",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::App.Source": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html",
			Properties: map[string]*models.Property{
				"SshKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-sshkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-pw",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Revision": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-revision",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.FileAccessLog": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					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::DLM::LifecyclePolicy.CrossRegionCopyRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html",
			Properties: map[string]*models.Property{
				"CmkArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-cmkarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CopyTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-copytags",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RetainRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-retainrule",
					Type:          "CrossRegionCopyRetainRule",
					UpdateType:    "Mutable",
				},
				"TargetRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-targetregion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.DeploymentPreference": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html",
			Properties: map[string]*models.Property{
				"Role": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html#sam-function-deploymentpreference-role",
					PrimitiveType: "String",
				},
				"TriggerConfigurations": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html#sam-function-deploymentpreference-triggerconfigurations",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html#sam-function-deploymentpreference-type",
					PrimitiveType: "String",
					Required:      true,
				},
				"Alarms": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html#sam-function-deploymentpreference-alarms",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html#sam-function-deploymentpreference-enabled",
					PrimitiveType: "Boolean",
				},
				"Hooks": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-deploymentpreference.html#sam-function-deploymentpreference-hooks",
					Type:          "Hooks",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofileproperties.html#cfn-appflow-connectorprofile-servicenowconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html",
			Properties: map[string]*models.Property{
				"BlockDurationMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-blockdurationminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TimeoutAction": &models.Property{
					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": &models.Property{
					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::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html",
			Properties: map[string]*models.Property{
				"GroupOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-groupowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AutoAddGroupOwner": &models.Property{
					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",
				},
			},
		},
		"AWS::MSK::Cluster.EncryptionInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html",
			Properties: map[string]*models.Property{
				"EncryptionInTransit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html#cfn-msk-cluster-encryptioninfo-encryptionintransit",
					Type:          "EncryptionInTransit",
					UpdateType:    "Immutable",
				},
				"EncryptionAtRest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html#cfn-msk-cluster-encryptioninfo-encryptionatrest",
					Type:          "EncryptionAtRest",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SageMaker::Model.ContainerDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html",
			Properties: map[string]*models.Property{
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-mode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ModelDataUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modeldataurl",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ModelPackageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modelpackagename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerHostname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-containerhostname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-environment",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"Image": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-image",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Serverless::Function.S3": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-s3.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-s3.html#sam-function-s3-bucket",
					PrimitiveType: "String",
					Required:      true,
				},
				"Events": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-s3.html#sam-function-s3-events",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
				},
				"Filter": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-s3.html#sam-function-s3-filter",
					Type:          "NotificationFilter",
				},
			},
		},
		"AWS::MediaLive::Channel.UdpOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpoutputsettings.html",
			Properties: map[string]*models.Property{
				"FecOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpoutputsettings.html#cfn-medialive-channel-udpoutputsettings-fecoutputsettings",
					Type:          "FecOutputSettings",
					UpdateType:    "Mutable",
				},
				"BufferMsec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpoutputsettings.html#cfn-medialive-channel-udpoutputsettings-buffermsec",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ContainerSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpoutputsettings.html#cfn-medialive-channel-udpoutputsettings-containersettings",
					Type:          "UdpContainerSettings",
					UpdateType:    "Mutable",
				},
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-udpoutputsettings.html#cfn-medialive-channel-udpoutputsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RoboMaker::RobotApplication.SourceConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html",
			Properties: map[string]*models.Property{
				"Architecture": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::MediaLive::Channel.FecOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fecoutputsettings.html",
			Properties: map[string]*models.Property{
				"ColumnDepth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fecoutputsettings.html#cfn-medialive-channel-fecoutputsettings-columndepth",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"IncludeFec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fecoutputsettings.html#cfn-medialive-channel-fecoutputsettings-includefec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RowLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-fecoutputsettings.html#cfn-medialive-channel-fecoutputsettings-rowlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.Recency": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior-recency.html",
			Properties: map[string]*models.Property{
				"Duration": &models.Property{
					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": &models.Property{
					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::S3::Bucket.BucketEncryption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html",
			Properties: map[string]*models.Property{
				"ServerSideEncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html#cfn-s3-bucket-bucketencryption-serversideencryptionconfiguration",
					ItemType:      "ServerSideEncryptionRule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.AndStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementtwo.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementtwo.html#cfn-wafv2-rulegroup-andstatementtwo-statements",
					ItemType:      "StatementThree",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.LoadBalancersConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html",
			Properties: map[string]*models.Property{
				"ClassicLoadBalancersConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-classicloadbalancersconfig",
					Type:          "ClassicLoadBalancersConfig",
					UpdateType:    "Mutable",
				},
				"TargetGroupsConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-targetgroupsconfig",
					Type:          "TargetGroupsConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Fleet.CertificateConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html",
			Properties: map[string]*models.Property{
				"CertificateType": &models.Property{
					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::IoT::Authorizer.Tags": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-authorizer-tags.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-authorizer-tags.html#cfn-iot-authorizer-tags-tags",
					PrimitiveItemType: "Json",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions.DataLocationResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html#cfn-lakeformation-permissions-datalocationresource-catalogid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Resource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html#cfn-lakeformation-permissions-datalocationresource-s3resource",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.TeletextDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-teletextdestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::CloudTrail::Trail.DataResource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html#cfn-cloudtrail-trail-dataresource-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.EnvironmentVariable": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html#cfn-codebuild-project-environmentvariable-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					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::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html",
			Properties: map[string]*models.Property{
				"Statistic": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-dimensions",
					ItemType:      "MetricDimension",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::Elasticsearch::Domain.LogPublishingOption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html",
			Properties: map[string]*models.Property{
				"CloudWatchLogsLogGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-cloudwatchlogsloggrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Redshift::Cluster.LoggingProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshift-cluster-loggingproperties.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshift-cluster-loggingproperties.html#cfn-redshift-cluster-loggingproperties-s3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cassandra::Table.ClusteringKeyColumn": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html",
			Properties: map[string]*models.Property{
				"Column": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-column",
					Required:      true,
					Type:          "Column",
					UpdateType:    "Immutable",
				},
				"OrderBy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-orderby",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Config::ConfigurationAggregator.AccountAggregationSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html",
			Properties: map[string]*models.Property{
				"AccountIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html#cfn-config-configurationaggregator-accountaggregationsource-allawsregions",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AwsRegions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html#cfn-config-configurationaggregator-accountaggregationsource-awsregions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::DistributionConfiguration.Distribution": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html",
			Properties: map[string]*models.Property{
				"AmiDistributionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-amidistributionconfiguration",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"LicenseConfigurationArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-licenseconfigurationarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-region",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.KinesisSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html",
			Properties: map[string]*models.Property{
				"ServiceAccessRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html#cfn-dms-endpoint-kinesissettings-serviceaccessrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StreamArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html#cfn-dms-endpoint-kinesissettings-streamarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MessageFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html#cfn-dms-endpoint-kinesissettings-messageformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html",
			Properties: map[string]*models.Property{
				"RetryOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-retryoptions",
					Type:          "ElasticsearchRetryOptions",
					UpdateType:    "Mutable",
				},
				"S3BackupMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-s3backupmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3Configuration": &models.Property{
					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",
				},
				"CloudWatchLoggingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-cloudwatchloggingoptions",
					Type:          "CloudWatchLoggingOptions",
					UpdateType:    "Mutable",
				},
				"DomainARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-domainarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProcessingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-processingconfiguration",
					Type:          "ProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"IndexRotationPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-indexrotationperiod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					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",
				},
				"TypeName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-typename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-vpcconfiguration",
					Type:          "VpcConfiguration",
					UpdateType:    "Immutable",
				},
				"BufferingHints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-bufferinghints",
					Type:          "ElasticsearchBufferingHints",
					UpdateType:    "Mutable",
				},
				"ClusterEndpoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-clusterendpoint",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IndexName": &models.Property{
					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",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html",
			Properties: map[string]*models.Property{
				"CloudFormationStackARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html#cfn-autoscalingplans-scalingplan-applicationsource-cloudformationstackarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html#cfn-autoscalingplans-scalingplan-applicationsource-tagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfigurationList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfigurationlist.html",
			Properties: map[string]*models.Property{
				"SalesforceCustomKnowledgeArticleTypeConfigurationList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforcecustomknowledgearticletypeconfigurationlist.html#cfn-kendra-datasource-salesforcecustomknowledgearticletypeconfigurationlist-salesforcecustomknowledgearticletypeconfigurationlist",
					ItemType:      "SalesforceCustomKnowledgeArticleTypeConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.RecordColumn": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html",
			Properties: map[string]*models.Property{
				"Mapping": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html#cfn-kinesisanalytics-application-recordcolumn-mapping",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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::WAFRegional::XssMatchSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					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",
				},
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html#cfn-wafregional-xssmatchset-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.CloudWatchLogs": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchlogs.html",
			Properties: map[string]*models.Property{
				"FilterPattern": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchlogs.html#sam-function-cloudwatchlogs-filterpattern",
					PrimitiveType: "String",
					Required:      true,
				},
				"LogGroupName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-cloudwatchlogs.html#sam-function-cloudwatchlogs-loggroupname",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::ApplicationInsights::Application.ConfigurationDetails": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html",
			Properties: map[string]*models.Property{
				"AlarmMetrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarmmetrics",
					ItemType:      "AlarmMetric",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Alarms": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarms",
					ItemType:      "Alarm",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Logs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-logs",
					ItemType:      "Log",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"WindowsEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-windowsevents",
					ItemType:      "WindowsEvent",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html",
			Properties: map[string]*models.Property{
				"ColumnToJsonKeyMappings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html#cfn-kinesisfirehose-deliverystream-openxjsonserde-columntojsonkeymappings",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ConvertDotsInJsonKeysToUnderscores": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html#cfn-kinesisfirehose-deliverystream-openxjsonserde-convertdotsinjsonkeystounderscores",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CaseInsensitive": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html#cfn-kinesisfirehose-deliverystream-openxjsonserde-caseinsensitive",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.PrefixConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-prefixconfig.html",
			Properties: map[string]*models.Property{
				"PrefixFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-prefixconfig.html#cfn-appflow-flow-prefixconfig-prefixformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrefixType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-prefixconfig.html#cfn-appflow-flow-prefixconfig-prefixtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table.AttributeDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html",
			Properties: map[string]*models.Property{
				"AttributeName": &models.Property{
					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": &models.Property{
					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::ECS::CapacityProvider.AutoScalingGroupProvider": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html",
			Properties: map[string]*models.Property{
				"AutoScalingGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider-autoscalinggrouparn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ManagedScaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider-managedscaling",
					Type:          "ManagedScaling",
					UpdateType:    "Immutable",
				},
				"ManagedTerminationProtection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider-managedterminationprotection",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::S3::Bucket.DeleteMarkerReplication": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html#cfn-s3-bucket-deletemarkerreplication-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.EndpointConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-endpointconfiguration.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-endpointconfiguration.html#sam-api-endpointconfiguration-type",
					PrimitiveType: "String",
				},
				"VPCEndpointIds": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-endpointconfiguration.html#sam-api-endpointconfiguration-vpcendpointids",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.InputArtifact": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-inputartifacts.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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::ElasticLoadBalancingV2::Listener.FixedResponseConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html",
			Properties: map[string]*models.Property{
				"ContentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-contenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MessageBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-messagebody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StatusCode": &models.Property{
					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::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html",
			Properties: map[string]*models.Property{
				"ConnectionBorrowTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-connectionborrowtimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InitQuery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-initquery",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxConnectionsPercent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-maxconnectionspercent",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaxIdleConnectionsPercent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-maxidleconnectionspercent",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SessionPinningFilters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-sessionpinningfilters",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Amplify::Domain.SubDomainSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html",
			Properties: map[string]*models.Property{
				"BranchName": &models.Property{
					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": &models.Property{
					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::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofilecredentials.html#cfn-appflow-connectorprofile-snowflakeconnectorprofilecredentials-password",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofilecredentials.html#cfn-appflow-connectorprofile-snowflakeconnectorprofilecredentials-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::PatchBaseline.PatchFilterGroup": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html",
			Properties: map[string]*models.Property{
				"PatchFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html#cfn-ssm-patchbaseline-patchfiltergroup-patchfilters",
					ItemType:      "PatchFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-protocol",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TimeoutMillis": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-timeoutmillis",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"UnhealthyThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-unhealthythreshold",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HealthyThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-healthythreshold",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"IntervalMillis": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayhealthcheckpolicy-intervalmillis",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.SpotPlacement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html",
			Properties: map[string]*models.Property{
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-groupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-tenancy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.Listeners": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html",
			Properties: map[string]*models.Property{
				"Protocol": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-sslcertificateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstancePort": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceprotocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LoadBalancerPort": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Glue::Job.ExecutionProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html",
			Properties: map[string]*models.Property{
				"MaxConcurrentRuns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html#cfn-glue-job-executionproperty-maxconcurrentruns",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.ConfigurationId": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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::ECS::TaskSet.Scale": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html",
			Properties: map[string]*models.Property{
				"Unit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html#cfn-ecs-taskset-scale-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html#cfn-ecs-taskset-scale-value",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::UsagePlan.ThrottleSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html",
			Properties: map[string]*models.Property{
				"BurstLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-burstlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RateLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-ratelimit",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.UsernameConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-usernameconfiguration.html",
			Properties: map[string]*models.Property{
				"CaseSensitive": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-usernameconfiguration.html#cfn-cognito-userpool-usernameconfiguration-casesensitive",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html",
			Properties: map[string]*models.Property{
				"ComponentArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-componentarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::TopicRule.StepFunctionsAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html",
			Properties: map[string]*models.Property{
				"StateMachineName": &models.Property{
					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",
				},
				"ExecutionNamePrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html#cfn-iot-topicrule-stepfunctionsaction-executionnameprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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",
				},
			},
		},
		"AWS::Pinpoint::Segment.SegmentDimensions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html",
			Properties: map[string]*models.Property{
				"Metrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-metrics",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"UserAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-userattributes",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Attributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-attributes",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Behavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-behavior",
					Type:          "Behavior",
					UpdateType:    "Mutable",
				},
				"Demographic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-demographic",
					Type:          "Demographic",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-location",
					Type:          "Location",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::ByteMatchSet.ByteMatchTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html",
			Properties: map[string]*models.Property{
				"TextTransformation": &models.Property{
					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",
				},
				"FieldToMatch": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-targetstring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetStringBase64": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-targetstringbase64",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html",
			Properties: map[string]*models.Property{
				"AccountName": &models.Property{
					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": &models.Property{
					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::AppSync::DataSource.RdsHttpEndpointConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html",
			Properties: map[string]*models.Property{
				"AwsRegion": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DbClusterIdentifier": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-schema",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html",
			Properties: map[string]*models.Property{
				"WeightedCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-weightedcapacity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html",
			Properties: map[string]*models.Property{
				"InstanceType": &models.Property{
					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",
				},
				"NetworkInterfaces": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-networkinterfaces",
					ItemType:      "InstanceNetworkInterfaceSpecification",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-tagspecifications",
					ItemType:      "SpotFleetTagSpecification",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"WeightedCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-weightedcapacity",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"BlockDeviceMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-blockdevicemappings",
					ItemType:      "BlockDeviceMapping",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ImageId": &models.Property{
					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",
				},
				"KernelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-kernelid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Monitoring": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-monitoring",
					Type:          "SpotFleetMonitoring",
					UpdateType:    "Mutable",
				},
				"SecurityGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-securitygroups",
					ItemType:      "GroupIdentifier",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"UserData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-userdata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IamInstanceProfile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-iaminstanceprofile",
					Type:          "IamInstanceProfileSpecification",
					UpdateType:    "Mutable",
				},
				"RamdiskId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-ramdiskid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"KeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-keyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Placement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-placement",
					Type:          "SpotPlacement",
					UpdateType:    "Mutable",
				},
				"SpotPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-spotprice",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::ResourceDataSync.S3Destination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html",
			Properties: map[string]*models.Property{
				"BucketRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-bucketregion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"KMSKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SyncFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-syncformat",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-bucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.html",
			Properties: map[string]*models.Property{
				"Content": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.html#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-content",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.Schedule": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-schedule.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-schedule.html#sam-function-schedule-enabled",
					PrimitiveType: "Boolean",
				},
				"Input": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-schedule.html#sam-function-schedule-input",
					PrimitiveType: "String",
				},
				"Name": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-schedule.html#sam-function-schedule-name",
					PrimitiveType: "String",
				},
				"Schedule": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-schedule.html#sam-function-schedule-schedule",
					PrimitiveType: "String",
				},
				"Description": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-schedule.html#sam-function-schedule-description",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Greengrass::DeviceDefinitionVersion.Device": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-syncshadow",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ThingArn": &models.Property{
					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::OpsWorks::Stack.RdsDbInstance": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-rdsdbinstance.html",
			Properties: map[string]*models.Property{
				"DbPassword": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::SES::ConfigurationSetEventDestination.DimensionConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html",
			Properties: map[string]*models.Property{
				"DefaultDimensionValue": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Athena::WorkGroup.WorkGroupConfigurationUpdates": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html",
			Properties: map[string]*models.Property{
				"BytesScannedCutoffPerQuery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-bytesscannedcutoffperquery",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EnforceWorkGroupConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-enforceworkgroupconfiguration",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PublishCloudWatchMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-publishcloudwatchmetricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RemoveBytesScannedCutoffPerQuery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-removebytesscannedcutoffperquery",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RequesterPaysEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-requesterpaysenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ResultConfigurationUpdates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-resultconfigurationupdates",
					Type:          "ResultConfigurationUpdates",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::Index.Relevance": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-relevance.html",
			Properties: map[string]*models.Property{
				"Duration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-relevance.html#cfn-kendra-index-relevance-duration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Freshness": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-relevance.html#cfn-kendra-index-relevance-freshness",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Importance": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-relevance.html#cfn-kendra-index-relevance-importance",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RankOrder": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-relevance.html#cfn-kendra-index-relevance-rankorder",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ValueImportanceItems": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-relevance.html#cfn-kendra-index-relevance-valueimportanceitems",
					Type:          "ValueImportanceItems",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Api.BodyS3Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Etag": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-etag",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ApiKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofilecredentials.html#cfn-appflow-connectorprofile-datadogconnectorprofilecredentials-apikey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ApplicationKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofilecredentials.html#cfn-appflow-connectorprofile-datadogconnectorprofilecredentials-applicationkey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.MetricDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-metricdimension.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::Serverless::Function.RequestModel": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-requestmodel.html",
			Properties: map[string]*models.Property{
				"Model": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-requestmodel.html#sam-function-requestmodel-model",
					PrimitiveType: "String",
					Required:      true,
				},
				"Required": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-requestmodel.html#sam-function-requestmodel-required",
					PrimitiveType: "Boolean",
				},
			},
		},
		"AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-googleanalyticssourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-googleanalyticssourceproperties.html#cfn-appflow-flow-googleanalyticssourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.Configuration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html",
			Properties: map[string]*models.Property{
				"Classification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-classification",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ConfigurationProperties": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-configurationproperties",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IAM::Role.Policy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
			Properties: map[string]*models.Property{
				"PolicyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policyname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PolicyDocument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policydocument",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SharePointConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html",
			Properties: map[string]*models.Property{
				"ExclusionPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-exclusionpatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"FieldMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-fieldmappings",
					Type:          "DataSourceToIndexFieldMappingList",
					UpdateType:    "Mutable",
				},
				"SecretArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-secretarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SharePointVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-sharepointversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Urls": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-urls",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DocumentTitleFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-documenttitlefieldname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InclusionPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-inclusionpatterns",
					Type:          "DataSourceInclusionsExclusionsStrings",
					UpdateType:    "Mutable",
				},
				"UseChangeLog": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-usechangelog",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"VpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-vpcconfiguration",
					Type:          "DataSourceVpcConfiguration",
					UpdateType:    "Mutable",
				},
				"CrawlAttachments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sharepointconfiguration.html#cfn-kendra-datasource-sharepointconfiguration-crawlattachments",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::XssMatchSet.XssMatchTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple.html",
			Properties: map[string]*models.Property{
				"TextTransformation": &models.Property{
					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",
				},
				"FieldToMatch": &models.Property{
					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",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.IotSiteWise": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html",
			Properties: map[string]*models.Property{
				"EntryId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-entryid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PropertyAlias": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyalias",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PropertyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PropertyValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyvalue",
					Type:          "AssetPropertyValue",
					UpdateType:    "Mutable",
				},
				"AssetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-assetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.PrivateIpAddressSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
			Properties: map[string]*models.Property{
				"Primary": &models.Property{
					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": &models.Property{
					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::SES::ConfigurationSetEventDestination.CloudWatchDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html",
			Properties: map[string]*models.Property{
				"DimensionConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html#cfn-ses-configurationseteventdestination-cloudwatchdestination-dimensionconfigurations",
					ItemType:      "DimensionConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					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": &models.Property{
					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::AppMesh::Mesh.MeshSpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html",
			Properties: map[string]*models.Property{
				"EgressFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html#cfn-appmesh-mesh-meshspec-egressfilter",
					Type:          "EgressFilter",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ClientPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html",
			Properties: map[string]*models.Property{
				"TLS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html#cfn-appmesh-virtualnode-clientpolicy-tls",
					Type:          "ClientPolicyTls",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.Environment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html",
			Properties: map[string]*models.Property{
				"Image": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-imagepullcredentialstype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivilegedMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-privilegedmode",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RegistryCredential": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-registrycredential",
					Type:          "RegistryCredential",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComputeType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-environmentvariables",
					ItemType:      "EnvironmentVariable",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.Placement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html",
			Properties: map[string]*models.Property{
				"PartitionNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-partitionnumber",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SpreadDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-spreaddomain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-tenancy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Affinity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-affinity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-groupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-hostid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostResourceGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-hostresourcegrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::EndpointConfig.CaptureOption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-captureoption.html",
			Properties: map[string]*models.Property{
				"CaptureMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-captureoption.html#cfn-sagemaker-endpointconfig-captureoption-capturemode",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Synthetics::Canary.RunConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html",
			Properties: map[string]*models.Property{
				"ActiveTracing": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-activetracing",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MemoryInMB": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-memoryinmb",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TimeoutInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-timeoutinseconds",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker.MaintenanceWindow": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html",
			Properties: map[string]*models.Property{
				"DayOfWeek": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::MediaConvert::JobTemplate.AccelerationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-accelerationsettings.html",
			Properties: map[string]*models.Property{
				"Mode": &models.Property{
					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::Glue::MLTransform.InputRecordTables": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html",
			Properties: map[string]*models.Property{
				"GlueTables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html#cfn-glue-mltransform-inputrecordtables-gluetables",
					ItemType:      "GlueTables",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html",
			Properties: map[string]*models.Property{
				"Loggers": &models.Property{
					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::MediaLive::Channel.VideoCodecSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videocodecsettings.html",
			Properties: map[string]*models.Property{
				"FrameCaptureSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videocodecsettings.html#cfn-medialive-channel-videocodecsettings-framecapturesettings",
					Type:          "FrameCaptureSettings",
					UpdateType:    "Mutable",
				},
				"H264Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videocodecsettings.html#cfn-medialive-channel-videocodecsettings-h264settings",
					Type:          "H264Settings",
					UpdateType:    "Mutable",
				},
				"H265Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videocodecsettings.html#cfn-medialive-channel-videocodecsettings-h265settings",
					Type:          "H265Settings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::Association.S3OutputLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html",
			Properties: map[string]*models.Property{
				"OutputS3BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputS3KeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputS3Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::NetworkAclEntry.PortRange": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html",
			Properties: map[string]*models.Property{
				"From": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html#cfn-ec2-networkaclentry-portrange-from",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"To": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html#cfn-ec2-networkaclentry-portrange-to",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.JmxExporter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html",
			Properties: map[string]*models.Property{
				"EnabledInBroker": &models.Property{
					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::MediaLive::Channel.Eac3Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html",
			Properties: map[string]*models.Property{
				"StereoDownmix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-stereodownmix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-bitrate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CodingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-codingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DcFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-dcfilter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LoRoCenterMixLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-lorocentermixlevel",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"LoRoSurroundMixLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-lorosurroundmixlevel",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"PassthroughControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-passthroughcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SurroundExMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-surroundexmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SurroundMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-surroundmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BitstreamMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-bitstreammode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dialnorm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-dialnorm",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DrcLine": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-drcline",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LfeControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-lfecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LtRtSurroundMixLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-ltrtsurroundmixlevel",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MetadataControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-metadatacontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DrcRf": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-drcrf",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LfeFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-lfefilter",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PhaseControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-phasecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AttenuationControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-attenuationcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LtRtCenterMixLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-eac3settings.html#cfn-medialive-channel-eac3settings-ltrtcentermixlevel",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html",
			Properties: map[string]*models.Property{
				"BackendDefaults": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-backenddefaults",
					Type:          "VirtualGatewayBackendDefaults",
					UpdateType:    "Mutable",
				},
				"Listeners": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-listeners",
					ItemType:      "VirtualGatewayListener",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Logging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayspec.html#cfn-appmesh-virtualgateway-virtualgatewayspec-logging",
					Type:          "VirtualGatewayLogging",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.HibernationOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-hibernationoptions.html",
			Properties: map[string]*models.Property{
				"Configured": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-hibernationoptions.html#cfn-ec2-instance-hibernationoptions-configured",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.MultiplexGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-multiplexgroupsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::CloudFront::Distribution.ForwardedValues": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html",
			Properties: map[string]*models.Property{
				"Headers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-headers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"QueryString": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-querystringcachekeys",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Cookies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-cookies",
					Type:          "Cookies",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Table.SerdeInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SerializationLibrary": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-serializationlibrary",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html",
			Properties: map[string]*models.Property{
				"DestinationPath": &models.Property{
					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",
				},
				"OwnerSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-ownersetting",
					Type:          "ResourceDownloadOwnerSetting",
					UpdateType:    "Immutable",
				},
				"SageMakerJobArn": &models.Property{
					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::Serverless::Api.LambdaTokenAuthorizationIdentity": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizationidentity.html",
			Properties: map[string]*models.Property{
				"ReauthorizeEvery": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizationidentity.html#sam-api-lambdatokenauthorizationidentity-reauthorizeevery",
					PrimitiveType: "Integer",
				},
				"ValidationExpression": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdatokenauthorizationidentity.html#sam-api-lambdatokenauthorizationidentity-validationexpression",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::AppMesh::Route.RouteSpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html",
			Properties: map[string]*models.Property{
				"HttpRoute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-httproute",
					Type:          "HttpRoute",
					UpdateType:    "Mutable",
				},
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-priority",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TcpRoute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-tcproute",
					Type:          "TcpRoute",
					UpdateType:    "Mutable",
				},
				"GrpcRoute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-grpcroute",
					Type:          "GrpcRoute",
					UpdateType:    "Mutable",
				},
				"Http2Route": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-http2route",
					Type:          "HttpRoute",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EFS::AccessPoint.PosixUser": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html",
			Properties: map[string]*models.Property{
				"Gid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-gid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SecondaryGids": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-secondarygids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Uid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-uid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTAnalytics::Datastore.ServiceManagedS3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-servicemanageds3.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html",
			Properties: map[string]*models.Property{
				"GroupOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinitionversion-resourcedownloadownersetting-groupowner",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"GroupPermission": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinitionversion-resourcedownloadownersetting-grouppermission",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::RoboMaker::SimulationApplication.RenderingEngine": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-renderingengine.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Synthetics::Canary.VPCConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::SizeConstraintSet.SizeConstraint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html",
			Properties: map[string]*models.Property{
				"ComparisonOperator": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html",
			Properties: map[string]*models.Property{
				"TLS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayclientpolicy.html#cfn-appmesh-virtualgateway-virtualgatewayclientpolicy-tls",
					Type:          "VirtualGatewayClientPolicyTls",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.CorsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html",
			Properties: map[string]*models.Property{
				"CorsRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html#cfn-s3-bucket-cors-corsrule",
					ItemType:      "CorsRule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptFilter.IpFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html",
			Properties: map[string]*models.Property{
				"Cidr": &models.Property{
					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": &models.Property{
					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::ApiGateway::Stage.CanarySetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html",
			Properties: map[string]*models.Property{
				"DeploymentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-deploymentid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PercentTraffic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-percenttraffic",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"StageVariableOverrides": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-stagevariableoverrides",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"UseStageCache": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-usestagecache",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition.Execution": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html",
			Properties: map[string]*models.Property{
				"IsolationMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-isolationmode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RunAs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-runas",
					Type:          "RunAs",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html",
			Properties: map[string]*models.Property{
				"DurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html#cfn-kinesisfirehose-deliverystream-splunkretryoptions-durationinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Mp2Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mp2settings.html",
			Properties: map[string]*models.Property{
				"SampleRate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mp2settings.html#cfn-medialive-channel-mp2settings-samplerate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mp2settings.html#cfn-medialive-channel-mp2settings-bitrate",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CodingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mp2settings.html#cfn-medialive-channel-mp2settings-codingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.S3Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ObjectKeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-objectkeyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-topicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html",
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					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": &models.Property{
					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::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html",
			Properties: map[string]*models.Property{
				"AdjustmentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-adjustmenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Cooldown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-cooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MetricAggregationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-metricaggregationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinAdjustmentMagnitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-minadjustmentmagnitude",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StepAdjustments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustments",
					ItemType:      "StepAdjustment",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Budgets::Budget.BudgetData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html",
			Properties: map[string]*models.Property{
				"BudgetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgetname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BudgetType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costfilters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"CostTypes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costtypes",
					Type:          "CostTypes",
					UpdateType:    "Mutable",
				},
				"PlannedBudgetLimits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-plannedbudgetlimits",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"TimePeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeperiod",
					Type:          "TimePeriod",
					UpdateType:    "Mutable",
				},
				"TimeUnit": &models.Property{
					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",
				},
				"BudgetLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgetlimit",
					Type:          "Spend",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.RecoveryOption": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html#cfn-cognito-userpool-recoveryoption-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html#cfn-cognito-userpool-recoveryoption-priority",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.EbsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html",
			Properties: map[string]*models.Property{
				"EbsBlockDeviceConfigs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html#cfn-elasticmapreduce-cluster-ebsconfiguration-ebsblockdeviceconfigs",
					ItemType:      "EbsBlockDeviceConfig",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html#cfn-elasticmapreduce-cluster-ebsconfiguration-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.OutputLocationRef": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputlocationref.html",
			Properties: map[string]*models.Property{
				"DestinationRefId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputlocationref.html#cfn-medialive-channel-outputlocationref-destinationrefid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::StateMachine.CloudWatchEvent": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachinecloudwatchevent.html",
			Properties: map[string]*models.Property{
				"EventBusName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachinecloudwatchevent.html#sam-statemachine-statemachinecloudwatchevent-eventbusname",
					PrimitiveType: "String",
				},
				"Input": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachinecloudwatchevent.html#sam-statemachine-statemachinecloudwatchevent-input",
					PrimitiveType: "String",
				},
				"InputPath": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachinecloudwatchevent.html#sam-statemachine-statemachinecloudwatchevent-inputpath",
					PrimitiveType: "String",
				},
				"Pattern": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-statemachinecloudwatchevent.html#sam-statemachine-statemachinecloudwatchevent-pattern",
					Required:      true,
					Type:          "EventPattern",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					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::IoT1Click::Project.DeviceTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html",
			Properties: map[string]*models.Property{
				"CallbackOverrides": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html#cfn-iot1click-project-devicetemplate-callbackoverrides",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"DeviceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html#cfn-iot1click-project-devicetemplate-devicetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.TimecodeConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-timecodeconfig.html",
			Properties: map[string]*models.Property{
				"Source": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-timecodeconfig.html#cfn-medialive-channel-timecodeconfig-source",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SyncThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-timecodeconfig.html#cfn-medialive-channel-timecodeconfig-syncthreshold",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SecretsManager::Secret.GenerateSecretString": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html",
			Properties: map[string]*models.Property{
				"GenerateStringKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-generatestringkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IncludeSpace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-includespace",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PasswordLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-passwordlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SecretStringTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-secretstringtemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExcludeLowercase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludelowercase",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExcludeNumbers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludenumbers",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExcludePunctuation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludepunctuation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExcludeUppercase": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludeuppercase",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RequireEachIncludedType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-requireeachincludedtype",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExcludeCharacters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludecharacters",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.ListenerTls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html",
			Properties: map[string]*models.Property{
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-mode",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-certificate",
					Required:      true,
					Type:          "ListenerTlsCertificate",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::ScalingPolicy.StepAdjustment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html",
			Properties: map[string]*models.Property{
				"MetricIntervalLowerBound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervallowerbound",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MetricIntervalUpperBound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervalupperbound",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ScalingAdjustment": &models.Property{
					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::Budgets::Budget.Spend": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html",
			Properties: map[string]*models.Property{
				"Amount": &models.Property{
					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": &models.Property{
					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::CodePipeline::Pipeline.ArtifactStore": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html",
			Properties: map[string]*models.Property{
				"EncryptionKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html#cfn-codepipeline-pipeline-artifactstore-encryptionkey",
					Type:          "EncryptionKey",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					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": &models.Property{
					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::ECS::TaskSet.AwsVpcConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html",
			Properties: map[string]*models.Property{
				"AssignPublicIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-assignpublicip",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Subnets": &models.Property{
					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::IoT::TopicRule.DynamoDBAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html",
			Properties: map[string]*models.Property{
				"HashKeyValue": &models.Property{
					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",
				},
				"RangeKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rangekeytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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": &models.Property{
					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",
				},
				"HashKeyField": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-hashkeytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PayloadField": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-payloadfield",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RangeKeyField": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rangekeyfield",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RangeKeyValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rangekeyvalue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html",
			Properties: map[string]*models.Property{
				"AttributeName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AttributeValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributevalue",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.DestinationConnectorProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html",
			Properties: map[string]*models.Property{
				"Redshift": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-redshift",
					Type:          "RedshiftDestinationProperties",
					UpdateType:    "Mutable",
				},
				"S3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-s3",
					Type:          "S3DestinationProperties",
					UpdateType:    "Mutable",
				},
				"Salesforce": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-salesforce",
					Type:          "SalesforceDestinationProperties",
					UpdateType:    "Mutable",
				},
				"Snowflake": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-snowflake",
					Type:          "SnowflakeDestinationProperties",
					UpdateType:    "Mutable",
				},
				"EventBridge": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html#cfn-appflow-flow-destinationconnectorproperties-eventbridge",
					Type:          "EventBridgeDestinationProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.Lambda": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html",
			Properties: map[string]*models.Property{
				"FunctionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-functionarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html",
			Properties: map[string]*models.Property{
				"Unit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-dimensions",
					ItemType:      "MetricDimension",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html",
			Properties: map[string]*models.Property{
				"MappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html#cfn-kinesisanalytics-applicationreferencedatasource-recordformat-mappingparameters",
					Type:          "MappingParameters",
					UpdateType:    "Mutable",
				},
				"RecordFormatType": &models.Property{
					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::KinesisFirehose::DeliveryStream.OrcSerDe": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html",
			Properties: map[string]*models.Property{
				"DictionaryKeyThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-dictionarykeythreshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"PaddingTolerance": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-paddingtolerance",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"StripeSizeBytes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-stripesizebytes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BlockSizeBytes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-blocksizebytes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BloomFilterColumns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-bloomfiltercolumns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"BloomFilterFalsePositiveProbability": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-bloomfilterfalsepositiveprobability",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Compression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-compression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnablePadding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-enablepadding",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"FormatVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-formatversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RowIndexStride": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-rowindexstride",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.Schedule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html",
			Properties: map[string]*models.Property{
				"StartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-starttime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-timezone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-endtime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventFilter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-eventfilter",
					Type:          "CampaignEventFilter",
					UpdateType:    "Mutable",
				},
				"Frequency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-frequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IsLocalTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-islocaltime",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"QuietTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-quiettime",
					Type:          "QuietTime",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html",
			Properties: map[string]*models.Property{
				"AccessKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-accesskey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-url",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline.StageTransition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-disableinboundstagetransitions.html",
			Properties: map[string]*models.Property{
				"Reason": &models.Property{
					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": &models.Property{
					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::Batch::JobDefinition.Environment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html#cfn-batch-jobdefinition-environment-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html#cfn-batch-jobdefinition-environment-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Service.LoadBalancer": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html",
			Properties: map[string]*models.Property{
				"TargetGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html#cfn-ecs-service-loadbalancer-targetgrouparn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html#cfn-ecs-service-loadbalancer-containername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html#cfn-ecs-service-loadbalancer-containerport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"LoadBalancerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html#cfn-ecs-service-loadbalancer-loadbalancername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application.LogPatternSet": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html",
			Properties: map[string]*models.Property{
				"LogPatterns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html#cfn-applicationinsights-application-logpatternset-logpatterns",
					ItemType:      "LogPattern",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"PatternSetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html#cfn-applicationinsights-application-logpatternset-patternsetname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobQueue.ComputeEnvironmentOrder": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-computeenvironmentorder.html",
			Properties: map[string]*models.Property{
				"ComputeEnvironment": &models.Property{
					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": &models.Property{
					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::EC2::LaunchTemplate.PrivateIpAdd": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html",
			Properties: map[string]*models.Property{
				"Primary": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-primary",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PrivateIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-privateipaddress",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.BootstrapActionConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-bootstrapactionconfig.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Lambda::Version.ProvisionedConcurrencyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html",
			Properties: map[string]*models.Property{
				"ProvisionedConcurrentExecutions": &models.Property{
					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::ApiGateway::Deployment.CanarySetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html",
			Properties: map[string]*models.Property{
				"PercentTraffic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-percenttraffic",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"StageVariableOverrides": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-stagevariableoverrides",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"UseStageCache": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-usestagecache",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofilecredentials.html#cfn-appflow-connectorprofile-veevaconnectorprofilecredentials-password",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofilecredentials.html#cfn-appflow-connectorprofile-veevaconnectorprofilecredentials-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.HttpGatewayRoute": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-action",
					Required:      true,
					Type:          "HttpGatewayRouteAction",
					UpdateType:    "Mutable",
				},
				"Match": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-match",
					Required:      true,
					Type:          "HttpGatewayRouteMatch",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.KeyValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html#cfn-elasticmapreduce-cluster-keyvalue-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html#cfn-elasticmapreduce-cluster-keyvalue-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.IotEvents": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html",
			Properties: map[string]*models.Property{
				"InputName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-inputname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Layer.LifecycleEventConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration.html",
			Properties: map[string]*models.Property{
				"ShutdownEventConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration.html#cfn-opsworks-layer-lifecycleconfiguration-shutdowneventconfiguration",
					Type:          "ShutdownEventConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html",
			Properties: map[string]*models.Property{
				"IntervalInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html#cfn-kinesisfirehose-deliverystream-elasticsearchbufferinghints-intervalinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SizeInMBs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html#cfn-kinesisfirehose-deliverystream-elasticsearchbufferinghints-sizeinmbs",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Amplify::App.CustomRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html",
			Properties: map[string]*models.Property{
				"Source": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Target": &models.Property{
					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",
				},
				"Condition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-condition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.TcpRouteAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html",
			Properties: map[string]*models.Property{
				"WeightedTargets": &models.Property{
					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::AppSync::DataSource.RelationalDatabaseConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html",
			Properties: map[string]*models.Property{
				"RelationalDatabaseSourceType": &models.Property{
					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",
				},
				"RdsHttpEndpointConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-rdshttpendpointconfig",
					Type:          "RdsHttpEndpointConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.Tmpfs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html",
			Properties: map[string]*models.Property{
				"MountOptions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-mountoptions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Size": &models.Property{
					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",
				},
				"ContainerPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-containerpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-port",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-protocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Query": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-query",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StatusCode": &models.Property{
					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",
				},
				"Host": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-host",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-catalogid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-tablename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VersionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-versionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.MSK": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-msk.html",
			Properties: map[string]*models.Property{
				"StartingPosition": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-msk.html#sam-function-msk-startingposition",
					PrimitiveType: "String",
					Required:      true,
				},
				"Stream": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-msk.html#sam-function-msk-stream",
					PrimitiveType: "String",
					Required:      true,
				},
				"Topics": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-msk.html#sam-function-msk-topics",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-dynatraceconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ApiToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-dynatraceconnectorprofilecredentials.html#cfn-appflow-connectorprofile-dynatraceconnectorprofilecredentials-apitoken",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.HeaderMatchMethod": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html",
			Properties: map[string]*models.Property{
				"Exact": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-exact",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Range": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-range",
					Type:          "MatchRange",
					UpdateType:    "Mutable",
				},
				"Regex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-regex",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Suffix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-suffix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.LogConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html",
			Properties: map[string]*models.Property{
				"SecretOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html#cfn-batch-jobdefinition-containerproperties-logconfiguration-secretoptions",
					ItemType:      "Secret",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"LogDriver": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html#cfn-batch-jobdefinition-containerproperties-logconfiguration-logdriver",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Options": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html#cfn-batch-jobdefinition-containerproperties-logconfiguration-options",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Service.PlacementConstraint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html",
			Properties: map[string]*models.Property{
				"Expression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html#cfn-ecs-service-placementconstraint-expression",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryruledestination.html",
			Properties: map[string]*models.Property{
				"IotEventsDestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryruledestination.html#cfn-iotanalytics-dataset-datasetcontentdeliveryruledestination-ioteventsdestinationconfiguration",
					Type:          "IotEventsDestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"S3DestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryruledestination.html#cfn-iotanalytics-dataset-datasetcontentdeliveryruledestination-s3destinationconfiguration",
					Type:          "S3DestinationConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AutomaticInputFailoverSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html",
			Properties: map[string]*models.Property{
				"SecondaryInputId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html#cfn-medialive-channel-automaticinputfailoversettings-secondaryinputid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputPreference": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-automaticinputfailoversettings.html#cfn-medialive-channel-automaticinputfailoversettings-inputpreference",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::ApplicationSettings.Limits": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html",
			Properties: map[string]*models.Property{
				"Daily": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-daily",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaximumDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-maximumduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MessagesPerSecond": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-messagespersecond",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Total": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-total",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.TrendmicroSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-trendmicrosourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-trendmicrosourceproperties.html#cfn-appflow-flow-trendmicrosourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Cluster.CapacityProviderStrategyItem": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html",
			Properties: map[string]*models.Property{
				"Base": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html#cfn-ecs-cluster-capacityproviderstrategyitem-base",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CapacityProvider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html#cfn-ecs-cluster-capacityproviderstrategyitem-capacityprovider",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-capacityproviderstrategyitem.html#cfn-ecs-cluster-capacityproviderstrategyitem-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::HealthCheck.HealthCheckTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html#cfn-route53-healthcheck-healthchecktag-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html#cfn-route53-healthcheck-healthchecktag-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.RateBasedStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html",
			Properties: map[string]*models.Property{
				"Limit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ScopeDownStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement",
					Type:          "StatementThree",
					UpdateType:    "Mutable",
				},
				"AggregateKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-forwardedipconfig",
					Type:          "ForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html",
			Properties: map[string]*models.Property{
				"Target": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-target",
					Required:      true,
					Type:          "GatewayRouteTarget",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPool.LambdaConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html",
			Properties: map[string]*models.Property{
				"PreSignUp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-presignup",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PreTokenGeneration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-pretokengeneration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CreateAuthChallenge": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-createauthchallenge",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefineAuthChallenge": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-defineauthchallenge",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PostConfirmation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postconfirmation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PreAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-preauthentication",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CustomMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-custommessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PostAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postauthentication",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserMigration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-usermigration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VerifyAuthChallengeResponse": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-verifyauthchallengeresponse",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html",
			Properties: map[string]*models.Property{
				"AllAwsRegions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html#cfn-config-configurationaggregator-organizationaggregationsource-allawsregions",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AwsRegions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html#cfn-config-configurationaggregator-organizationaggregationsource-awsregions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RoleArn": &models.Property{
					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::Route53::HostedZone.VPC": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html",
			Properties: map[string]*models.Property{
				"VPCId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html#cfn-route53-hostedzone-vpc-vpcid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VPCRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html#cfn-route53-hostedzone-vpc-vpcregion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.Task": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html",
			Properties: map[string]*models.Property{
				"ConnectorOperator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html#cfn-appflow-flow-task-connectoroperator",
					Type:          "ConnectorOperator",
					UpdateType:    "Mutable",
				},
				"DestinationField": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html#cfn-appflow-flow-task-destinationfield",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceFields": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html#cfn-appflow-flow-task-sourcefields",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TaskProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html#cfn-appflow-flow-task-taskproperties",
					ItemType:      "TaskPropertiesObject",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TaskType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html#cfn-appflow-flow-task-tasktype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Datastore.DatastoreStorage": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html",
			Properties: map[string]*models.Property{
				"CustomerManagedS3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-customermanageds3",
					Type:          "CustomerManagedS3",
					UpdateType:    "Mutable",
				},
				"ServiceManagedS3": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-servicemanageds3",
					Type:          "ServiceManagedS3",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Api.LambdaRequestAuthorizationIdentity": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizationidentity.html",
			Properties: map[string]*models.Property{
				"Headers": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizationidentity.html#sam-api-lambdarequestauthorizationidentity-headers",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"QueryStrings": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizationidentity.html#sam-api-lambdarequestauthorizationidentity-querystrings",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"ReauthorizeEvery": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizationidentity.html#sam-api-lambdarequestauthorizationidentity-reauthorizeevery",
					PrimitiveType: "Integer",
				},
				"StageVariables": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizationidentity.html#sam-api-lambdarequestauthorizationidentity-stagevariables",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Context": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-lambdarequestauthorizationidentity.html#sam-api-lambdarequestauthorizationidentity-context",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSet.ReputationOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-reputationoptions.html",
			Properties: map[string]*models.Property{
				"ReputationMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-reputationoptions.html#cfn-pinpointemail-configurationset-reputationoptions-reputationmetricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.StorageClassAnalysis": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html",
			Properties: map[string]*models.Property{
				"DataExport": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html#cfn-s3-bucket-storageclassanalysis-dataexport",
					Type:          "DataExport",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.CapacityReservationTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html",
			Properties: map[string]*models.Property{
				"CapacityReservationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html#cfn-ec2-launchtemplate-capacityreservationtarget-capacityreservationid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SecurityGroup.Egress": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html",
			Properties: map[string]*models.Property{
				"IpProtocol": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CidrIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CidrIpv6": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationPrefixListId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destinationprefixlistid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationSecurityGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destsecgroupid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FromPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.AddAttributes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html",
			Properties: map[string]*models.Property{
				"Attributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html#cfn-iotanalytics-pipeline-addattributes-attributes",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html#cfn-iotanalytics-pipeline-addattributes-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html#cfn-iotanalytics-pipeline-addattributes-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.Math": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html",
			Properties: map[string]*models.Property{
				"Attribute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-attribute",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Math": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-math",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.WebsiteConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html",
			Properties: map[string]*models.Property{
				"ErrorDocument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-errordocument",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IndexDocument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-indexdocument",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RedirectAllRequestsTo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-redirectallrequeststo",
					Type:          "RedirectAllRequestsTo",
					UpdateType:    "Mutable",
				},
				"RoutingRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-routingrules",
					ItemType:      "RoutingRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::Environment.OptionSetting": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html",
			Properties: map[string]*models.Property{
				"OptionName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-elasticbeanstalk-environment-optionsetting-resourcename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Namespace": &models.Property{
					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",
				},
			},
		},
		"AWS::GuardDuty::Filter.FindingCriteria": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html",
			Properties: map[string]*models.Property{
				"Criterion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html#cfn-guardduty-filter-findingcriteria-criterion",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ItemType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html#cfn-guardduty-filter-findingcriteria-itemtype",
					Type:          "Condition",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.GatewayRouteTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html",
			Properties: map[string]*models.Property{
				"VirtualService": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutetarget.html#cfn-appmesh-gatewayroute-gatewayroutetarget-virtualservice",
					Required:      true,
					Type:          "GatewayRouteVirtualService",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Service.ServiceRegistry": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html",
			Properties: map[string]*models.Property{
				"ContainerPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-containerport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-port",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"RegistryArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-registryarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-containername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::FMS::Policy.ResourceTag": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-resourcetag.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-resourcetag.html#cfn-fms-policy-resourcetag-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-resourcetag.html#cfn-fms-policy-resourcetag-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler.SchemaChangePolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html",
			Properties: map[string]*models.Property{
				"UpdateBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-updatebehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeleteBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-deletebehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Channel.ServiceManagedS3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-servicemanageds3.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::IoTEvents::DetectorModel.SetVariable": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VariableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-variablename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Alias.VersionWeight": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html",
			Properties: map[string]*models.Property{
				"FunctionVersion": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualNode.ListenerTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html",
			Properties: map[string]*models.Property{
				"HTTP2": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http2",
					Type:          "HttpTimeout",
					UpdateType:    "Mutable",
				},
				"TCP": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-tcp",
					Type:          "TcpTimeout",
					UpdateType:    "Mutable",
				},
				"GRPC": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-grpc",
					Type:          "GrpcTimeout",
					UpdateType:    "Mutable",
				},
				"HTTP": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http",
					Type:          "HttpTimeout",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.ResourceRequirement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-resourcerequirement.html",
			Properties: map[string]*models.Property{
				"Value": &models.Property{
					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",
				},
				"Type": &models.Property{
					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",
				},
			},
		},
		"AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html",
			Properties: map[string]*models.Property{
				"AdjustmentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration-adjustmenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CoolDown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration-cooldown",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ScalingAdjustment": &models.Property{
					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::IoTEvents::DetectorModel.State": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html",
			Properties: map[string]*models.Property{
				"OnEnter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-onenter",
					Type:          "OnEnter",
					UpdateType:    "Mutable",
				},
				"OnExit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-onexit",
					Type:          "OnExit",
					UpdateType:    "Mutable",
				},
				"OnInput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-oninput",
					Type:          "OnInput",
					UpdateType:    "Mutable",
				},
				"StateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-statename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rtmpcaptioninfodestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::Serverless::StateMachine.EventBridgeRule": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-eventbridgerule.html",
			Properties: map[string]*models.Property{
				"Pattern": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-eventbridgerule.html#sam-statemachine-eventbridgerule-pattern",
					Required:      true,
					Type:          "EventPattern",
				},
				"EventBusName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-eventbridgerule.html#sam-statemachine-eventbridgerule-eventbusname",
					PrimitiveType: "String",
				},
				"Input": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-eventbridgerule.html#sam-statemachine-eventbridgerule-input",
					PrimitiveType: "String",
				},
				"InputPath": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-eventbridgerule.html#sam-statemachine-eventbridgerule-inputpath",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::AppFlow::Flow.S3DestinationProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3destinationproperties.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3destinationproperties.html#cfn-appflow-flow-s3destinationproperties-bucketname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3destinationproperties.html#cfn-appflow-flow-s3destinationproperties-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"S3OutputFormatConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3destinationproperties.html#cfn-appflow-flow-s3destinationproperties-s3outputformatconfig",
					Type:          "S3OutputFormatConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.NodeProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html",
			Properties: map[string]*models.Property{
				"MainNode": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::AppStream::ImageBuilder.VpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition.Environment": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html",
			Properties: map[string]*models.Property{
				"AccessSysfs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-accesssysfs",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Execution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-execution",
					Type:          "Execution",
					UpdateType:    "Immutable",
				},
				"ResourceAccessPolicies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-resourceaccesspolicies",
					ItemType:      "ResourceAccessPolicy",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Variables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-variables",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html",
			Properties: map[string]*models.Property{
				"DefaultConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-defaultconfig",
					Type:          "DefaultConfig",
					UpdateType:    "Immutable",
				},
				"Functions": &models.Property{
					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::ManagedBlockchain::Member.NetworkConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html",
			Properties: map[string]*models.Property{
				"VotingPolicy": &models.Property{
					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",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Framework": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-networkframeworkconfiguration",
					Type:          "NetworkFrameworkConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayfileaccesslog.html#cfn-appmesh-virtualgateway-virtualgatewayfileaccesslog-path",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeCommit::Repository.RepositoryTrigger": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"Branches": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-branches",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CustomData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-customdata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html",
			Properties: map[string]*models.Property{
				"TargetGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-targetgrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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",
				},
				"AuthenticateCognitoConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticatecognitoconfig",
					Type:          "AuthenticateCognitoConfig",
					UpdateType:    "Mutable",
				},
				"AuthenticateOidcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticateoidcconfig",
					Type:          "AuthenticateOidcConfig",
					UpdateType:    "Mutable",
				},
				"FixedResponseConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-fixedresponseconfig",
					Type:          "FixedResponseConfig",
					UpdateType:    "Mutable",
				},
				"ForwardConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-forwardconfig",
					Type:          "ForwardConfig",
					UpdateType:    "Mutable",
				},
				"Order": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-order",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RedirectConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-redirectconfig",
					Type:          "RedirectConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.SqsAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html",
			Properties: map[string]*models.Property{
				"QueueUrl": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html#cfn-iot-topicrule-sqsaction-usebase64",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ReplicationRuleAndOperator": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html",
			Properties: map[string]*models.Property{
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TagFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-tagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.ForwardedIPConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html",
			Properties: map[string]*models.Property{
				"FallbackBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html#cfn-wafv2-webacl-forwardedipconfiguration-fallbackbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HeaderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html#cfn-wafv2-webacl-forwardedipconfiguration-headername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.Duration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html",
			Properties: map[string]*models.Property{
				"Unit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-unit",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-value",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html",
			Properties: map[string]*models.Property{
				"RecordColumns": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordencoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RecordFormat": &models.Property{
					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::KinesisFirehose::DeliveryStream.CopyCommand": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html",
			Properties: map[string]*models.Property{
				"CopyOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html#cfn-kinesisfirehose-deliverystream-copycommand-copyoptions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DataTableColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html#cfn-kinesisfirehose-deliverystream-copycommand-datatablecolumns",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DataTableName": &models.Property{
					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::S3::Bucket.S3KeyFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html",
			Properties: map[string]*models.Property{
				"Rules": &models.Property{
					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",
					ItemType:      "FilterRule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html",
			Properties: map[string]*models.Property{
				"ACM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-acm",
					Type:          "VirtualGatewayListenerTlsAcmCertificate",
					UpdateType:    "Mutable",
				},
				"File": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistenertlscertificate.html#cfn-appmesh-virtualgateway-virtualgatewaylistenertlscertificate-file",
					Type:          "VirtualGatewayListenerTlsFileCertificate",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.ArchiveOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archiveoutputsettings.html",
			Properties: map[string]*models.Property{
				"ContainerSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archiveoutputsettings.html#cfn-medialive-channel-archiveoutputsettings-containersettings",
					Type:          "ArchiveContainerSettings",
					UpdateType:    "Mutable",
				},
				"Extension": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archiveoutputsettings.html#cfn-medialive-channel-archiveoutputsettings-extension",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NameModifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archiveoutputsettings.html#cfn-medialive-channel-archiveoutputsettings-namemodifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.Message": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-action",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-body",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageSmallIconUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imagesmalliconurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MediaUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-mediaurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeToLive": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-timetolive",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Title": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-title",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageIconUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imageiconurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imageurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"JsonBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-jsonbody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RawContent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-rawcontent",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SilentPush": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-silentpush",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Stack.StackConfigurationManager": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html#cfn-opsworks-configmanager-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html#cfn-opsworks-configmanager-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener.Certificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html",
			Properties: map[string]*models.Property{
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html#cfn-elasticloadbalancingv2-listener-certificates-certificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.GlobalConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html",
			Properties: map[string]*models.Property{
				"InitialAudioGain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html#cfn-medialive-channel-globalconfiguration-initialaudiogain",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InputEndAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html#cfn-medialive-channel-globalconfiguration-inputendaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputLossBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html#cfn-medialive-channel-globalconfiguration-inputlossbehavior",
					Type:          "InputLossBehavior",
					UpdateType:    "Mutable",
				},
				"OutputLockingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html#cfn-medialive-channel-globalconfiguration-outputlockingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputTimingSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html#cfn-medialive-channel-globalconfiguration-outputtimingsource",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SupportLowFramerateInputs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-globalconfiguration.html#cfn-medialive-channel-globalconfiguration-supportlowframerateinputs",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.GPSPoint": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint.html",
			Properties: map[string]*models.Property{
				"Coordinates": &models.Property{
					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": &models.Property{
					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::RoboMaker::SimulationApplication.RobotSoftwareSuite": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Serverless::Function.HttpApi": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html",
			Properties: map[string]*models.Property{
				"RouteSettings": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-routesettings",
					Type:          "RouteSettings",
				},
				"TimeoutInMillis": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-timeoutinmillis",
					PrimitiveType: "Integer",
				},
				"ApiId": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-apiid",
					PrimitiveType: "String",
				},
				"Auth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-auth",
					Type:          "HttpApiFunctionAuth",
				},
				"Method": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-method",
					PrimitiveType: "String",
				},
				"Path": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-path",
					PrimitiveType: "String",
				},
				"PayloadFormatVersion": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html#sam-function-httpapi-payloadformatversion",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.CreateRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html",
			Properties: map[string]*models.Property{
				"IntervalUnit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-intervalunit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Times": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-times",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CronExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-cronexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Interval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-interval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::Index.Search": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-search.html",
			Properties: map[string]*models.Property{
				"Displayable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-search.html#cfn-kendra-index-search-displayable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Facetable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-search.html#cfn-kendra-index-search-facetable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Searchable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-search.html#cfn-kendra-index-search-searchable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Sortable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-search.html#cfn-kendra-index-search-sortable",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::App.EnvironmentVariable": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html#cfn-opsworks-app-environment-secure",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html#value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::EndpointConfig.ProductionVariant": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html",
			Properties: map[string]*models.Property{
				"AcceleratorType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-acceleratortype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InitialInstanceCount": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::EC2::LaunchTemplate.ElasticGpuSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html#cfn-ec2-launchtemplate-elasticgpuspecification-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.EventInvokeConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokeconfiguration.html",
			Properties: map[string]*models.Property{
				"MaximumEventAgeInSeconds": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokeconfiguration.html#sam-function-eventinvokeconfiguration-maximumeventageinseconds",
					PrimitiveType: "Integer",
				},
				"MaximumRetryAttempts": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokeconfiguration.html#sam-function-eventinvokeconfiguration-maximumretryattempts",
					PrimitiveType: "Integer",
				},
				"DestinationConfig": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokeconfiguration.html#sam-function-eventinvokeconfiguration-destinationconfig",
					Type:          "EventInvokeDestinationConfiguration",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway.VirtualGatewayListener": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html",
			Properties: map[string]*models.Property{
				"HealthCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-healthcheck",
					Type:          "VirtualGatewayHealthCheckPolicy",
					UpdateType:    "Mutable",
				},
				"PortMapping": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-portmapping",
					Required:      true,
					Type:          "VirtualGatewayPortMapping",
					UpdateType:    "Mutable",
				},
				"TLS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewaylistener.html#cfn-appmesh-virtualgateway-virtualgatewaylistener-tls",
					Type:          "VirtualGatewayListenerTls",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::CoreDefinitionVersion.Core": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html",
			Properties: map[string]*models.Property{
				"ThingArn": &models.Property{
					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",
				},
				"CertificateArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-syncshadow",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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::ApiGatewayV2::DomainName.MutualTlsAuthentication": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-mutualtlsauthentication.html",
			Properties: map[string]*models.Property{
				"TruststoreUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-mutualtlsauthentication.html#cfn-apigatewayv2-domainname-mutualtlsauthentication-truststoreuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TruststoreVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-mutualtlsauthentication.html#cfn-apigatewayv2-domainname-mutualtlsauthentication-truststoreversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ManagedBlockchain::Node.NodeConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html",
			Properties: map[string]*models.Property{
				"AvailabilityZone": &models.Property{
					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": &models.Property{
					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::EC2::Instance.NoDevice": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-nodevice.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::Cognito::IdentityPool.CognitoStreams": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StreamingStatus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamingstatus",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httpheaderconfig.html",
			Properties: map[string]*models.Property{
				"HttpHeaderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httpheaderconfig.html#cfn-elasticloadbalancingv2-listenerrule-httpheaderconfig-httpheadername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httpheaderconfig.html#cfn-elasticloadbalancingv2-listenerrule-httpheaderconfig-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-csvmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordColumnDelimiter": &models.Property{
					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": &models.Property{
					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::SSM::Association.InstanceAssociationOutputLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html",
			Properties: map[string]*models.Property{
				"S3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html#cfn-ssm-association-instanceassociationoutputlocation-s3location",
					Type:          "S3OutputLocation",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.AssetPropertyValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html",
			Properties: map[string]*models.Property{
				"Quality": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-quality",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Timestamp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-timestamp",
					Required:      true,
					Type:          "AssetPropertyTimestamp",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-value",
					Required:      true,
					Type:          "AssetPropertyVariant",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::HttpApi.HttpApiDefinition": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidefinition.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidefinition.html#sam-httpapi-httpapidefinition-bucket",
					PrimitiveType: "String",
					Required:      true,
				},
				"Key": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidefinition.html#sam-httpapi-httpapidefinition-key",
					PrimitiveType: "String",
					Required:      true,
				},
				"Version": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-httpapidefinition.html#sam-httpapi-httpapidefinition-version",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html",
			Properties: map[string]*models.Property{
				"FieldToMatch": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-targetstring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetStringBase64": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-targetstringbase64",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TextTransformation": &models.Property{
					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::AppStream::Fleet.VpcConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html#cfn-appstream-fleet-vpcconfig-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html#cfn-appstream-fleet-vpcconfig-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.LinuxParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html",
			Properties: map[string]*models.Property{
				"Devices": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-devices",
					ItemType:      "Device",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"InitProcessEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-initprocessenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxSwap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-maxswap",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SharedMemorySize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-sharedmemorysize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Swappiness": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-swappiness",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Tmpfs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-tmpfs",
					ItemType:      "Tmpfs",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.BlockDeviceMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html",
			Properties: map[string]*models.Property{
				"NoDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-nodevice",
					Type:          "NoDevice",
					UpdateType:    "Mutable",
				},
				"VirtualName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-virtualname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeviceName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-ebs",
					Type:          "Ebs",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.LambdaAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html",
			Properties: map[string]*models.Property{
				"FunctionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html#cfn-iot-topicrule-lambdaaction-functionarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.Sasl": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html",
			Properties: map[string]*models.Property{
				"Scram": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html#cfn-msk-cluster-sasl-scram",
					Required:      true,
					Type:          "Scram",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::PinpointEmail::Identity.MailFromAttributes": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-mailfromattributes.html",
			Properties: map[string]*models.Property{
				"BehaviorOnMxFailure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-mailfromattributes.html#cfn-pinpointemail-identity-mailfromattributes-behavioronmxfailure",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MailFromDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-mailfromattributes.html#cfn-pinpointemail-identity-mailfromattributes-mailfromdomain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ObjectLockConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html",
			Properties: map[string]*models.Property{
				"ObjectLockEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-objectlockenabled",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Rule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-rule",
					Type:          "ObjectLockRule",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CookiesConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-cookiesconfig",
					Required:      true,
					Type:          "CookiesConfig",
					UpdateType:    "Mutable",
				},
				"HeadersConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-headersconfig",
					Required:      true,
					Type:          "HeadersConfig",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"QueryStringsConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-querystringsconfig",
					Required:      true,
					Type:          "QueryStringsConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.AwsVpcConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html",
			Properties: map[string]*models.Property{
				"AssignPublicIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-assignpublicip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-subnets",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.Logging": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-includecookies",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.MongoDbSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html",
			Properties: map[string]*models.Property{
				"AuthMechanism": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-authmechanism",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExtractDocId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-extractdocid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-password",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-authsource",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-authtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocsToInvestigate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-docstoinvestigate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NestingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-nestinglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-servername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html#cfn-wafregional-sqlinjectionmatchset-fieldtomatch-data",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::WAFv2::WebACL.FieldToMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html",
			Properties: map[string]*models.Property{
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-body",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Method": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-method",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"QueryString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-querystring",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SingleHeader": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-singleheader",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SingleQueryArgument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-singlequeryargument",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"UriPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-uripath",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AllQueryArguments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-allqueryarguments",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.GeoMatchStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html",
			Properties: map[string]*models.Property{
				"ForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html#cfn-wafv2-webacl-geomatchstatement-forwardedipconfig",
					Type:          "ForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
				"CountryCodes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html#cfn-wafv2-webacl-geomatchstatement-countrycodes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.ContainerDependency": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html",
			Properties: map[string]*models.Property{
				"Condition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html#cfn-ecs-taskdefinition-containerdependency-condition",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContainerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html#cfn-ecs-taskdefinition-containerdependency-containername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Backup::BackupSelection.ConditionResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditionresourcetype.html",
			Properties: map[string]*models.Property{
				"ConditionType": &models.Property{
					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": &models.Property{
					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",
				},
				"ConditionKey": &models.Property{
					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",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.Policies": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html",
			Properties: map[string]*models.Property{
				"InstancePorts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-instanceports",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"LoadBalancerPorts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-loadbalancerports",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PolicyName": &models.Property{
					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": &models.Property{
					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",
				},
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-attributes",
					PrimitiveItemType: "Json",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html",
			Properties: map[string]*models.Property{
				"SmallImageIconUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-smallimageiconurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Sound": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-sound",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Title": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-title",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Url": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-url",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-action",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-body",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageIconUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-imageiconurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-imageurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask.NotificationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html",
			Properties: map[string]*models.Property{
				"NotificationArn": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationevents",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"NotificationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::StepFunctions::StateMachine.DefinitionSubstitutions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-definitionsubstitutions.html",
		},
		"AWS::Elasticsearch::Domain.EBSOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html",
			Properties: map[string]*models.Property{
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EBSEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-ebsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::Filter.Condition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html",
			Properties: map[string]*models.Property{
				"Lte": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-lte",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Neq": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-neq",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Eq": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-eq",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Gte": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-gte",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Lt": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-lt",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Datastore.CustomerManagedS3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3.html#cfn-iotanalytics-datastore-customermanageds3-keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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::AppMesh::VirtualGateway.VirtualGatewayPortMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html",
			Properties: map[string]*models.Property{
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-port",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualgateway-virtualgatewayportmapping.html#cfn-appmesh-virtualgateway-virtualgatewayportmapping-protocol",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.CreditSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html",
			Properties: map[string]*models.Property{
				"CpuCredits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification-cpucredits",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.AttributeDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-attributedimension.html",
			Properties: map[string]*models.Property{
				"AttributeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-attributedimension.html#cfn-pinpoint-campaign-attributedimension-attributetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-attributedimension.html#cfn-pinpoint-campaign-attributedimension-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppMesh::Route.GrpcRouteMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html",
			Properties: map[string]*models.Property{
				"Metadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-metadata",
					ItemType:      "GrpcRouteMetadata",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MethodName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-methodname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-servicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::RemediationConfiguration.RemediationParameterValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-remediationparametervalue.html",
			Properties: map[string]*models.Property{
				"ResourceValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-remediationparametervalue.html#cfn-config-remediationconfiguration-remediationparametervalue-resourcevalue",
					Type:          "ResourceValue",
					UpdateType:    "Mutable",
				},
				"StaticValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-remediationparametervalue.html#cfn-config-remediationconfiguration-remediationparametervalue-staticvalue",
					Type:          "StaticValue",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GlobalAccelerator::Listener.PortRange": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html",
			Properties: map[string]*models.Property{
				"FromPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html#cfn-globalaccelerator-listener-portrange-fromport",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ToPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html#cfn-globalaccelerator-listener-portrange-toport",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline.Lambda": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html",
			Properties: map[string]*models.Property{
				"BatchSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-batchsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LambdaName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-lambdaname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Next": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-next",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.RedirectAllRequestsTo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html",
			Properties: map[string]*models.Property{
				"HostName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-protocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualService.VirtualServiceSpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html",
			Properties: map[string]*models.Property{
				"Provider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html#cfn-appmesh-virtualservice-virtualservicespec-provider",
					Type:          "VirtualServiceProvider",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.EbsBlockDevice": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html",
			Properties: map[string]*models.Property{
				"SnapshotId": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"VolumeSize": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"DeleteOnTermination": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"Iops": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html",
			Properties: map[string]*models.Property{
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-deleteontermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DeviceIndex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-deviceindex",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Ipv6AddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-ipv6addresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PrivateIpAddresses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-privateipaddresses",
					ItemType:      "PrivateIpAddressSpecification",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SecondaryPrivateIpAddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-secondaryprivateipaddresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AssociatePublicIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-associatepublicipaddress",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Groups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-groups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Ipv6Addresses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-ipv6addresses",
					ItemType:      "InstanceIpv6Address",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"NetworkInterfaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-networkinterfaceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmitInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-emitinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-csvmappingparameters.html",
			Properties: map[string]*models.Property{
				"RecordRowDelimiter": &models.Property{
					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",
				},
				"RecordColumnDelimiter": &models.Property{
					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",
				},
			},
		},
		"AWS::Lambda::Function.FileSystemConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-arn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LocalMountPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::SimpleTable.PrimaryKeyObject": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-simpletable-primarykeyobject.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-simpletable-primarykeyobject.html#sam-simpletable-primarykeyobject-name",
					PrimitiveType: "String",
					Required:      true,
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-simpletable-primarykeyobject.html#sam-simpletable-primarykeyobject-type",
					PrimitiveType: "String",
					Required:      true,
				},
			},
		},
		"AWS::IAM::Group.Policy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
			Properties: map[string]*models.Property{
				"PolicyDocument": &models.Property{
					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": &models.Property{
					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::KinesisAnalyticsV2::Application.Input": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html",
			Properties: map[string]*models.Property{
				"InputParallelism": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputparallelism",
					Type:          "InputParallelism",
					UpdateType:    "Mutable",
				},
				"InputProcessingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration",
					Type:          "InputProcessingConfiguration",
					UpdateType:    "Mutable",
				},
				"InputSchema": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput",
					Type:          "KinesisFirehoseInput",
					UpdateType:    "Mutable",
				},
				"KinesisStreamsInput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput",
					Type:          "KinesisStreamsInput",
					UpdateType:    "Mutable",
				},
				"NamePrefix": &models.Property{
					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::WAFv2::WebACL.Rule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-action",
					Type:          "RuleAction",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"OverrideAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-overrideaction",
					Type:          "OverrideAction",
					UpdateType:    "Mutable",
				},
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-priority",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Statement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-statement",
					Required:      true,
					Type:          "StatementOne",
					UpdateType:    "Mutable",
				},
				"VisibilityConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-visibilityconfig",
					Required:      true,
					Type:          "VisibilityConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.WebhookFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html",
			Properties: map[string]*models.Property{
				"ExcludeMatchedPattern": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html#cfn-codebuild-project-webhookfilter-excludematchedpattern",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Pattern": &models.Property{
					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": &models.Property{
					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::EC2::SpotFleet.BlockDeviceMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html",
			Properties: map[string]*models.Property{
				"DeviceName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-ebs",
					Type:          "EbsBlockDevice",
					UpdateType:    "Mutable",
				},
				"NoDevice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-nodevice",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VirtualName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-virtualname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaConvert::JobTemplate.HopDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html",
			Properties: map[string]*models.Property{
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-priority",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Queue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-queue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WaitMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-waitminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.InputLocation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlocation.html",
			Properties: map[string]*models.Property{
				"PasswordParam": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlocation.html#cfn-medialive-channel-inputlocation-passwordparam",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlocation.html#cfn-medialive-channel-inputlocation-uri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputlocation.html#cfn-medialive-channel-inputlocation-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EC2Fleet.Placement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html",
			Properties: map[string]*models.Property{
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-groupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HostId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HostResourceGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostresourcegrouparn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PartitionNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-partitionnumber",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SpreadDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-spreaddomain",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-tenancy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Affinity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-affinity",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.MappingParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html",
			Properties: map[string]*models.Property{
				"CSVMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html#cfn-kinesisanalytics-application-mappingparameters-csvmappingparameters",
					Type:          "CSVMappingParameters",
					UpdateType:    "Mutable",
				},
				"JSONMappingParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html#cfn-kinesisanalytics-application-mappingparameters-jsonmappingparameters",
					Type:          "JSONMappingParameters",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Service.PlacementStrategy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html",
			Properties: map[string]*models.Property{
				"Field": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html#cfn-ecs-service-placementstrategy-field",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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::Events::Rule.BatchArrayProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html",
			Properties: map[string]*models.Property{
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html#cfn-events-rule-batcharrayproperties-size",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.InputSchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html",
			Properties: map[string]*models.Property{
				"RecordFormat": &models.Property{
					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",
				},
				"RecordColumns": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html#cfn-kinesisanalytics-application-inputschema-recordencoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.InventoryConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html",
			Properties: map[string]*models.Property{
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScheduleFrequency": &models.Property{
					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",
				},
				"Destination": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-optionalfields",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.QueueConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html",
			Properties: map[string]*models.Property{
				"Event": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-filter",
					Type:          "NotificationFilter",
					UpdateType:    "Mutable",
				},
				"Queue": &models.Property{
					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::EC2::SpotFleet.PrivateIpAddressSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces-privateipaddresses.html",
			Properties: map[string]*models.Property{
				"Primary": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"PrivateIpAddress": &models.Property{
					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::MediaLive::Channel.DvbSdtSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsdtsettings.html",
			Properties: map[string]*models.Property{
				"RepInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsdtsettings.html#cfn-medialive-channel-dvbsdtsettings-repinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsdtsettings.html#cfn-medialive-channel-dvbsdtsettings-servicename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServiceProviderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsdtsettings.html#cfn-medialive-channel-dvbsdtsettings-serviceprovidername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputSdt": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsdtsettings.html#cfn-medialive-channel-dvbsdtsettings-outputsdt",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Amplify::Branch.EnvironmentVariable": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::Batch::JobDefinition.NodeRangeProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html",
			Properties: map[string]*models.Property{
				"Container": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-container",
					Type:          "ContainerProperties",
					UpdateType:    "Mutable",
				},
				"TargetNodes": &models.Property{
					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.Tmpfs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html",
			Properties: map[string]*models.Property{
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-size",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ContainerPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-containerpath",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MountOptions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-mountoptions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::CapacityReservation.TagSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html",
			Properties: map[string]*models.Property{
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-resourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RoboMaker::SimulationApplication.SourceConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html",
			Properties: map[string]*models.Property{
				"S3Key": &models.Property{
					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",
				},
				"Architecture": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html",
			Properties: map[string]*models.Property{
				"TargetValue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html#cfn-gamelift-gameservergroup-targettrackingconfiguration-targetvalue",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AribDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aribdestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-forwardconfig.html",
			Properties: map[string]*models.Property{
				"TargetGroupStickinessConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-forwardconfig.html#cfn-elasticloadbalancingv2-listener-forwardconfig-targetgroupstickinessconfig",
					Type:          "TargetGroupStickinessConfig",
					UpdateType:    "Mutable",
				},
				"TargetGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-forwardconfig.html#cfn-elasticloadbalancingv2-listener-forwardconfig-targetgroups",
					ItemType:      "TargetGroupTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Elasticsearch::Domain.SnapshotOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-snapshotoptions.html",
			Properties: map[string]*models.Property{
				"AutomatedSnapshotStartHour": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-snapshotoptions.html#cfn-elasticsearch-domain-snapshotoptions-automatedsnapshotstarthour",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html",
			Properties: map[string]*models.Property{
				"InstancesDistribution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html#cfn-as-mixedinstancespolicy-instancesdistribution",
					Type:          "InstancesDistribution",
					UpdateType:    "Mutable",
				},
				"LaunchTemplate": &models.Property{
					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::DynamoDB::Table.ProvisionedThroughput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
			Properties: map[string]*models.Property{
				"ReadCapacityUnits": &models.Property{
					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": &models.Property{
					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::EMR::Cluster.PlacementType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementtype.html",
			Properties: map[string]*models.Property{
				"AvailabilityZone": &models.Property{
					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::InstanceGroupConfig.CloudWatchAlarmDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html",
			Properties: map[string]*models.Property{
				"MetricName": &models.Property{
					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",
				},
				"Threshold": &models.Property{
					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",
				},
				"ComparisonOperator": &models.Property{
					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",
				},
				"EvaluationPeriods": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-evaluationperiods",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Period": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-statistic",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Unit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-dimensions",
					ItemType:      "MetricDimension",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Namespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-namespace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html",
			Properties: map[string]*models.Property{
				"DestinationPath": &models.Property{
					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",
				},
				"OwnerSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-ownersetting",
					Type:          "ResourceDownloadOwnerSetting",
					UpdateType:    "Immutable",
				},
				"SageMakerJobArn": &models.Property{
					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::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-amplitudeconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"ApiKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-amplitudeconnectorprofilecredentials.html#cfn-appflow-connectorprofile-amplitudeconnectorprofilecredentials-apikey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SecretKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-amplitudeconnectorprofilecredentials.html#cfn-appflow-connectorprofile-amplitudeconnectorprofilecredentials-secretkey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.CpuOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html",
			Properties: map[string]*models.Property{
				"ThreadsPerCore": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions-threadspercore",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CoreCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions-corecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.EbsBlockDeviceConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsblockdeviceconfig.html",
			Properties: map[string]*models.Property{
				"VolumeSpecification": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsblockdeviceconfig.html#cfn-elasticmapreduce-cluster-ebsblockdeviceconfig-volumesperinstance",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Elasticsearch::Domain.ZoneAwarenessConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-zoneawarenessconfig.html",
			Properties: map[string]*models.Property{
				"AvailabilityZoneCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-zoneawarenessconfig.html#cfn-elasticsearch-domain-zoneawarenessconfig-availabilityzonecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html",
			Properties: map[string]*models.Property{
				"AutoScalingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-autoscalingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ConfigurationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelism",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ParallelismPerKPU": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelismperkpu",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.TtmlDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ttmldestinationsettings.html",
			Properties: map[string]*models.Property{
				"StyleControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-ttmldestinationsettings.html#cfn-medialive-channel-ttmldestinationsettings-stylecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.TextTransformation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html",
			Properties: map[string]*models.Property{
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html#cfn-wafv2-rulegroup-texttransformation-priority",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html#cfn-wafv2-rulegroup-texttransformation-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::ReportGroup.ReportExportConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html",
			Properties: map[string]*models.Property{
				"ExportConfigType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html#cfn-codebuild-reportgroup-reportexportconfig-s3destination",
					Type:          "S3ReportExportConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::Service.AwsVpcConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html",
			Properties: map[string]*models.Property{
				"AssignPublicIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-assignpublicip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-subnets",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CloudFormation::StackSet.DeploymentTargets": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html",
			Properties: map[string]*models.Property{
				"Accounts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html#cfn-cloudformation-stackset-deploymenttargets-accounts",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"OrganizationalUnitIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html#cfn-cloudformation-stackset-deploymenttargets-organizationalunitids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html",
			Properties: map[string]*models.Property{
				"Execution": &models.Property{
					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::CloudFront::Distribution.ViewerCertificate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html",
			Properties: map[string]*models.Property{
				"SslSupportMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-sslsupportmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AcmCertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-acmcertificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CloudFrontDefaultCertificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-cloudfrontdefaultcertificate",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IamCertificateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-iamcertificateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinimumProtocolVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-minimumprotocolversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Partition.SerdeInfo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SerializationLibrary": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-serializationlibrary",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html",
			Properties: map[string]*models.Property{
				"Connectors": &models.Property{
					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::IoT::TopicRule.ElasticsearchAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html",
			Properties: map[string]*models.Property{
				"Endpoint": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::IoTAnalytics::Dataset.RetentionPeriod": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-retentionperiod.html",
			Properties: map[string]*models.Property{
				"NumberOfDays": &models.Property{
					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": &models.Property{
					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::MSK::Cluster.Prometheus": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html",
			Properties: map[string]*models.Property{
				"JmxExporter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-jmxexporter",
					Type:          "JmxExporter",
					UpdateType:    "Mutable",
				},
				"NodeExporter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-nodeexporter",
					Type:          "NodeExporter",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.LambdaAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html",
			Properties: map[string]*models.Property{
				"FunctionArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html#cfn-ses-receiptrule-lambdaaction-invocationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html#cfn-ses-receiptrule-lambdaaction-topicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance.Ebs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html",
			Properties: map[string]*models.Property{
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-deleteontermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-instance-ebs-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SnapshotId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-snapshotid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.JobFlowInstancesConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html",
			Properties: map[string]*models.Property{
				"EmrManagedMasterSecurityGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-emrmanagedmastersecuritygroup",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HadoopVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-hadoopversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AdditionalMasterSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-additionalmastersecuritygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"CoreInstanceFleet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-coreinstancefleet",
					Type:          "InstanceFleetConfig",
					UpdateType:    "Immutable",
				},
				"CoreInstanceGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-coreinstancegroup",
					Type:          "InstanceGroupConfig",
					UpdateType:    "Immutable",
				},
				"KeepJobFlowAliveWhenNoSteps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-keepjobflowalivewhennosteps",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"MasterInstanceFleet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-masterinstancefleet",
					Type:          "InstanceFleetConfig",
					UpdateType:    "Immutable",
				},
				"ServiceAccessSecurityGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-serviceaccesssecuritygroup",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Ec2KeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-ec2keyname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Ec2SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-ec2subnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Ec2SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-ec2subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"EmrManagedSlaveSecurityGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-emrmanagedslavesecuritygroup",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AdditionalSlaveSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-additionalslavesecuritygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"MasterInstanceGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-masterinstancegroup",
					Type:          "InstanceGroupConfig",
					UpdateType:    "Immutable",
				},
				"Placement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-placement",
					Type:          "PlacementType",
					UpdateType:    "Immutable",
				},
				"TerminationProtected": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-terminationprotected",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.RepublishAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html",
			Properties: map[string]*models.Property{
				"Qos": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html#cfn-iot-topicrule-republishaction-qos",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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": &models.Property{
					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::KinesisAnalytics::Application.KinesisStreamsInput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisstreamsinput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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": &models.Property{
					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::MediaLive::Channel.Scte27DestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte27destinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::MediaLive::Channel.Scte27SourceSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte27sourcesettings.html",
			Properties: map[string]*models.Property{
				"Pid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte27sourcesettings.html#cfn-medialive-channel-scte27sourcesettings-pid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html",
			Properties: map[string]*models.Property{
				"TagValueScope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagvaluescope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-inputparameters",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LambdaFunctionArn": &models.Property{
					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",
				},
				"OrganizationConfigRuleTriggerTypes": &models.Property{
					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",
				},
				"MaximumExecutionFrequency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-maximumexecutionfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceIdScope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourceidscope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceTypesScope": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourcetypesscope",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TagKeyScope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagkeyscope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.H265Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html",
			Properties: map[string]*models.Property{
				"AdaptiveQuantization": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-adaptivequantization",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimecodeInsertion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-timecodeinsertion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GopClosedCadence": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-gopclosedcadence",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"QvbrQualityLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-qvbrqualitylevel",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RateControlMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-ratecontrolmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SceneChangeDetect": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-scenechangedetect",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-tier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ColorSpaceSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-colorspacesettings",
					Type:          "H265ColorSpaceSettings",
					UpdateType:    "Mutable",
				},
				"FilterSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-filtersettings",
					Type:          "H265FilterSettings",
					UpdateType:    "Mutable",
				},
				"Level": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-level",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Profile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-profile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AfdSignaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-afdsignaling",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BufSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-bufsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LookAheadRateControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-lookaheadratecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxBitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-maxbitrate",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ScanType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-scantype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AlternativeTransferFunction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-alternativetransferfunction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GopSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-gopsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ColorMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-colormetadata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FlickerAq": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-flickeraq",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinIInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-miniinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FramerateDenominator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-frameratedenominator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"GopSizeUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-gopsizeunits",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FramerateNumerator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-frameratenumerator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ParDenominator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-pardenominator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ParNumerator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-parnumerator",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Slices": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-slices",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Bitrate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-bitrate",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FixedAfd": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-h265settings.html#cfn-medialive-channel-h265settings-fixedafd",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint.DynamoDbSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-dynamodbsettings.html",
			Properties: map[string]*models.Property{
				"ServiceAccessRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-dynamodbsettings.html#cfn-dms-endpoint-dynamodbsettings-serviceaccessrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html",
			Properties: map[string]*models.Property{
				"ImageTestsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-imagetestsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TimeoutMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-timeoutminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::RecordSetGroup.AliasTarget": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html",
			Properties: map[string]*models.Property{
				"HostedZoneId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DNSName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.VolumeFrom": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html",
			Properties: map[string]*models.Property{
				"SourceContainer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom-sourcecontainer",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ReadOnly": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom-readonly",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Channel.EmbeddedDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddeddestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofileproperties.html",
			Properties: map[string]*models.Property{
				"InstanceUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofileproperties.html#cfn-appflow-connectorprofile-infornexusconnectorprofileproperties-instanceurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.Application": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html",
			Properties: map[string]*models.Property{
				"Args": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-cluster-application-args",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-cluster-application-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-cluster-application-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AdditionalInfo": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-cluster-application-additionalinfo",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Lambda::EventInvokeConfig.OnSuccess": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onsuccess.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					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::SageMaker::MonitoringSchedule.MonitoringAppSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html",
			Properties: map[string]*models.Property{
				"ImageUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-imageuri",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PostAnalyticsProcessorSourceUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-postanalyticsprocessorsourceuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RecordPreprocessorSourceUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-recordpreprocessorsourceuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ContainerArguments": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerarguments",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ContainerEntrypoint": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringappspecification.html#cfn-sagemaker-monitoringschedule-monitoringappspecification-containerentrypoint",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.S3LogsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html",
			Properties: map[string]*models.Property{
				"EncryptionDisabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-encryptiondisabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					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::MSK::Cluster.Tls": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html",
			Properties: map[string]*models.Property{
				"CertificateAuthorityArnList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html#cfn-msk-cluster-tls-certificateauthorityarnlist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::SageMaker::Workteam.CognitoMemberDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html",
			Properties: map[string]*models.Property{
				"CognitoClientId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Cognito::UserPool.StringAttributeConstraints": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html",
			Properties: map[string]*models.Property{
				"MaxLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-maxlength",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-minlength",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html",
			Properties: map[string]*models.Property{
				"MemberFabricConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html#cfn-managedblockchain-member-memberframeworkconfiguration-memberfabricconfiguration",
					Type:          "MemberFabricConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.S3Location": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"ETag": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					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": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeStar::GitHubRepository.S3": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-objectversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.TextTransformation": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html",
			Properties: map[string]*models.Property{
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html#cfn-wafv2-webacl-texttransformation-priority",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html#cfn-wafv2-webacl-texttransformation-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Athena::WorkGroup.ResultConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html",
			Properties: map[string]*models.Property{
				"EncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-encryptionconfiguration",
					Type:          "EncryptionConfiguration",
					UpdateType:    "Mutable",
				},
				"OutputLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-outputlocation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::Input.InputDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html",
			Properties: map[string]*models.Property{
				"Attributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html#cfn-iotevents-input-inputdefinition-attributes",
					ItemType:      "Attribute",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Input.InputVpcRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputvpcrequest.html",
			Properties: map[string]*models.Property{
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputvpcrequest.html#cfn-medialive-input-inputvpcrequest-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputvpcrequest.html#cfn-medialive-input-inputvpcrequest-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.CustomOriginConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html",
			Properties: map[string]*models.Property{
				"OriginProtocolPolicy": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originreadtimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OriginSSLProtocols": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originsslprotocols",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"HTTPPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-httpport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HTTPSPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-httpsport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"OriginKeepaliveTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originkeepalivetimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.InstanceMarketOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html",
			Properties: map[string]*models.Property{
				"MarketType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-markettype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SpotOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions",
					Type:          "SpotOptions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.EnvironmentFile": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html#cfn-ecs-taskdefinition-environmentfile-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html#cfn-ecs-taskdefinition-environmentfile-value",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::GameLift::GameSessionQueue.Destination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-destination.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-destination.html#cfn-gamelift-gamesessionqueue-destination-destinationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::LoggerDefinitionVersion.Logger": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html",
			Properties: map[string]*models.Property{
				"Level": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-space",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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",
				},
				"Component": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.VideoSelectorPid": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorpid.html",
			Properties: map[string]*models.Property{
				"Pid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorpid.html#cfn-medialive-channel-videoselectorpid-pid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocumentHashType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthashtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputS3KeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-outputs3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeoutSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-timeoutseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DocumentHash": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthash",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NotificationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-notificationconfig",
					Type:          "NotificationConfig",
					UpdateType:    "Mutable",
				},
				"OutputS3BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-outputs3bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ServiceRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-servicerolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::Flow.ErrorHandlingConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-errorhandlingconfig.html",
			Properties: map[string]*models.Property{
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-errorhandlingconfig.html#cfn-appflow-flow-errorhandlingconfig-bucketname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-errorhandlingconfig.html#cfn-appflow-flow-errorhandlingconfig-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FailOnFirstError": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-errorhandlingconfig.html#cfn-appflow-flow-errorhandlingconfig-failonfirsterror",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupSelection.BackupSelectionResourceType": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html",
			Properties: map[string]*models.Property{
				"IamRoleArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html#cfn-backup-backupselection-backupselectionresourcetype-listoftags",
					ItemType:      "ConditionResourceType",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Resources": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html#cfn-backup-backupselection-backupselectionresourcetype-resources",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SelectionName": &models.Property{
					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::CodeBuild::Project.CloudWatchLogsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html",
			Properties: map[string]*models.Property{
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-groupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-streamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisfirehoseoutput.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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": &models.Property{
					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::S3::Bucket.RoutingRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html",
			Properties: map[string]*models.Property{
				"RedirectRule": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition",
					Type:          "RoutingRuleCondition",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.RoutingRuleCondition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html",
			Properties: map[string]*models.Property{
				"HttpErrorCodeReturnedEquals": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-httperrorcodereturnedequals",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KeyPrefixEquals": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-keyprefixequals",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.SNSAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html",
			Properties: map[string]*models.Property{
				"Encoding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-encoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-topicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::DataSource.AuthorizationConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html",
			Properties: map[string]*models.Property{
				"AuthorizationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-awsiamconfig",
					Type:          "AwsIamConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html",
			Properties: map[string]*models.Property{
				"Ec2TagGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html#cfn-codedeploy-deploymentgroup-ec2tagsetlistobject-ec2taggroup",
					ItemType:      "EC2TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.CloudWatchLogs": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-enabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LogGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-loggroup",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.OutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html",
			Properties: map[string]*models.Property{
				"UdpOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-udpoutputsettings",
					Type:          "UdpOutputSettings",
					UpdateType:    "Mutable",
				},
				"ArchiveOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-archiveoutputsettings",
					Type:          "ArchiveOutputSettings",
					UpdateType:    "Mutable",
				},
				"FrameCaptureOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-framecaptureoutputsettings",
					Type:          "FrameCaptureOutputSettings",
					UpdateType:    "Mutable",
				},
				"HlsOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-hlsoutputsettings",
					Type:          "HlsOutputSettings",
					UpdateType:    "Mutable",
				},
				"MediaPackageOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-mediapackageoutputsettings",
					Type:          "MediaPackageOutputSettings",
					UpdateType:    "Mutable",
				},
				"MsSmoothOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-mssmoothoutputsettings",
					Type:          "MsSmoothOutputSettings",
					UpdateType:    "Mutable",
				},
				"MultiplexOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-multiplexoutputsettings",
					Type:          "MultiplexOutputSettings",
					UpdateType:    "Mutable",
				},
				"RtmpOutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputsettings.html#cfn-medialive-channel-outputsettings-rtmpoutputsettings",
					Type:          "RtmpOutputSettings",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html",
			Properties: map[string]*models.Property{
				"PredefinedMetricType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-autoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.Sns": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html",
			Properties: map[string]*models.Property{
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
				"TargetArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-targetarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.SqlConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sqlconfiguration.html",
			Properties: map[string]*models.Property{
				"QueryIdentifiersEnclosingOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-sqlconfiguration.html#cfn-kendra-datasource-sqlconfiguration-queryidentifiersenclosingoption",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioOnlyHlsSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioonlyhlssettings.html",
			Properties: map[string]*models.Property{
				"AudioOnlyImage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioonlyhlssettings.html#cfn-medialive-channel-audioonlyhlssettings-audioonlyimage",
					Type:          "InputLocation",
					UpdateType:    "Mutable",
				},
				"AudioTrackType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioonlyhlssettings.html#cfn-medialive-channel-audioonlyhlssettings-audiotracktype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioonlyhlssettings.html#cfn-medialive-channel-audioonlyhlssettings-segmenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioonlyhlssettings.html#cfn-medialive-channel-audioonlyhlssettings-audiogroupid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cassandra::Table.Column": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html",
			Properties: map[string]*models.Property{
				"ColumnType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columntype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ColumnName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columnname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::Index.DocumentMetadataConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfiguration.html",
			Properties: map[string]*models.Property{
				"Search": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfiguration.html#cfn-kendra-index-documentmetadataconfiguration-search",
					Type:          "Search",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfiguration.html#cfn-kendra-index-documentmetadataconfiguration-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfiguration.html#cfn-kendra-index-documentmetadataconfiguration-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Relevance": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfiguration.html#cfn-kendra-index-documentmetadataconfiguration-relevance",
					Type:          "Relevance",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ACMPCA::CertificateAuthority.Subject": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html",
			Properties: map[string]*models.Property{
				"CommonName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-commonname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DistinguishedNameQualifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-distinguishednamequalifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GenerationQualifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-generationqualifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Locality": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-locality",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Surname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-surname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Country": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-country",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Organization": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-organization",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"OrganizationalUnit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-organizationalunit",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-state",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GivenName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-givenname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Initials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-initials",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Pseudonym": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-pseudonym",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SerialNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-serialnumber",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Title": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-title",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppFlow::Flow.VeevaSourceProperties": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html",
			Properties: map[string]*models.Property{
				"Object": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html#cfn-appflow-flow-veevasourceproperties-object",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html",
			Properties: map[string]*models.Property{
				"ClassicLoadBalancers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html#cfn-ec2-spotfleet-classicloadbalancersconfig-classicloadbalancers",
					ItemType:      "ClassicLoadBalancer",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::TopicRule.IotSiteWiseAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html",
			Properties: map[string]*models.Property{
				"PutAssetPropertyValueEntries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-putassetpropertyvalueentries",
					ItemType:      "PutAssetPropertyValueEntry",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsBasicPutSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsbasicputsettings.html",
			Properties: map[string]*models.Property{
				"ConnectionRetryInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsbasicputsettings.html#cfn-medialive-channel-hlsbasicputsettings-connectionretryinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"FilecacheDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsbasicputsettings.html#cfn-medialive-channel-hlsbasicputsettings-filecacheduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"NumRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsbasicputsettings.html#cfn-medialive-channel-hlsbasicputsettings-numretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RestartDelay": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsbasicputsettings.html#cfn-medialive-channel-hlsbasicputsettings-restartdelay",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::Rule.EcsParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html",
			Properties: map[string]*models.Property{
				"Group": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-group",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-launchtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-networkconfiguration",
					Type:          "NetworkConfiguration",
					UpdateType:    "Mutable",
				},
				"PlatformVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-platformversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TaskCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TaskDefinitionArn": &models.Property{
					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::KinesisFirehose::DeliveryStream.InputFormatConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-inputformatconfiguration.html",
			Properties: map[string]*models.Property{
				"Deserializer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-inputformatconfiguration.html#cfn-kinesisfirehose-deliverystream-inputformatconfiguration-deserializer",
					Type:          "Deserializer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedplusscte20destinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::S3::Bucket.ReplicationDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html",
			Properties: map[string]*models.Property{
				"ReplicationTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-replicationtime",
					Type:          "ReplicationTime",
					UpdateType:    "Mutable",
				},
				"StorageClass": &models.Property{
					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",
					UpdateType:    "Mutable",
				},
				"AccessControlTranslation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-accesscontroltranslation",
					Type:          "AccessControlTranslation",
					UpdateType:    "Mutable",
				},
				"Account": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-account",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-encryptionconfiguration",
					Type:          "EncryptionConfiguration",
					UpdateType:    "Mutable",
				},
				"Metrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-metrics",
					Type:          "Metrics",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplateid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-version",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html",
			Properties: map[string]*models.Property{
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-scope",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SessionCookieName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessioncookiename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SessionTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessiontimeout",
					PrimitiveType: "Long",
					UpdateType:    "Mutable",
				},
				"UserPoolArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
				"AuthenticationRequestExtraParams": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-authenticationrequestextraparams",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"OnUnauthenticatedRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-onunauthenticatedrequest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringkeyvalue.html",
			Properties: map[string]*models.Property{
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringkeyvalue.html#cfn-elasticloadbalancingv2-listenerrule-querystringkeyvalue-key",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringkeyvalue.html#cfn-elasticloadbalancingv2-listenerrule-querystringkeyvalue-value",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::DataSource.AclConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-aclconfiguration.html",
			Properties: map[string]*models.Property{
				"AllowedGroupsColumnName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-aclconfiguration.html#cfn-kendra-datasource-aclconfiguration-allowedgroupscolumnname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-kinesisfirehosedestination.html",
			Properties: map[string]*models.Property{
				"DeliveryStreamArn": &models.Property{
					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": &models.Property{
					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::CloudFront::Distribution.DistributionConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultCacheBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-defaultcachebehavior",
					Type:          "DefaultCacheBehavior",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-httpversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PriceClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-priceclass",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Aliases": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DefaultRootObject": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-defaultrootobject",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Origins": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origins",
					ItemType:      "Origin",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Restrictions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions",
					Type:          "Restrictions",
					UpdateType:    "Mutable",
				},
				"ViewerCertificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-viewercertificate",
					Type:          "ViewerCertificate",
					UpdateType:    "Mutable",
				},
				"WebACLId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-webaclid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheBehaviors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-cachebehaviors",
					ItemType:      "CacheBehavior",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CustomErrorResponses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-customerrorresponses",
					ItemType:      "CustomErrorResponse",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"IPV6Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-ipv6enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Logging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-logging",
					Type:          "Logging",
					UpdateType:    "Mutable",
				},
				"OriginGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origingroups",
					Type:          "OriginGroups",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskDefinition.HealthCheck": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html",
			Properties: map[string]*models.Property{
				"Command": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-command",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Interval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-interval",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Retries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-retries",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"StartPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-startperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SSM::ResourceDataSync.SyncSource": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html",
			Properties: map[string]*models.Property{
				"AwsOrganizationsSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-awsorganizationssource",
					Type:          "AwsOrganizationsSource",
					UpdateType:    "Mutable",
				},
				"IncludeFutureRegions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-includefutureregions",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SourceRegions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-sourceregions",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-sourcetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup.TagProperty": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html",
			Properties: map[string]*models.Property{
				"PropagateAtLaunch": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html#cfn-as-tags-Value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html#cfn-as-tags-Key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy.PolicyDetails": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html",
			Properties: map[string]*models.Property{
				"TargetTags": &models.Property{
					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",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters",
					Type:          "Parameters",
					UpdateType:    "Mutable",
				},
				"PolicyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceTypes": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html",
			Properties: map[string]*models.Property{
				"WriterVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-writerversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BlockSizeBytes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-blocksizebytes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Compression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-compression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableDictionaryCompression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-enabledictionarycompression",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MaxPaddingBytes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-maxpaddingbytes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PageSizeBytes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-pagesizebytes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::Association.ParameterValues": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html",
			Properties: map[string]*models.Property{
				"ParameterValues": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html#cfn-ssm-association-parametervalues-parametervalues",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WAFv2::RuleGroup.RateBasedStatementOne": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html",
			Properties: map[string]*models.Property{
				"ForwardedIPConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-forwardedipconfig",
					Type:          "ForwardedIPConfiguration",
					UpdateType:    "Mutable",
				},
				"Limit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ScopeDownStatement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement",
					Type:          "StatementTwo",
					UpdateType:    "Mutable",
				},
				"AggregateKeyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode.TcpTimeout": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html",
			Properties: map[string]*models.Property{
				"Idle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html#cfn-appmesh-virtualnode-tcptimeout-idle",
					Type:          "Duration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.DetectorModelDefinition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html",
			Properties: map[string]*models.Property{
				"InitialStateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-initialstatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"States": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-states",
					ItemType:      "State",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Kendra::Index.DocumentMetadataConfigurationList": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfigurationlist.html",
			Properties: map[string]*models.Property{
				"DocumentMetadataConfigurationList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-documentmetadataconfigurationlist.html#cfn-kendra-index-documentmetadataconfigurationlist-documentmetadataconfigurationlist",
					ItemType:      "DocumentMetadataConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.MediaPackageOutputSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackageoutputsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::MediaLive::Channel.Rec709Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-rec709settings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::PinpointEmail::ConfigurationSet.SendingOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-sendingoptions.html",
			Properties: map[string]*models.Property{
				"SendingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-sendingoptions.html#cfn-pinpointemail-configurationset-sendingoptions-sendingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ResourceGroups::Group.ResourceQuery": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html",
			Properties: map[string]*models.Property{
				"Query": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-query",
					Type:          "Query",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.GatewayRouteSpec": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html",
			Properties: map[string]*models.Property{
				"HttpRoute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-httproute",
					Type:          "HttpGatewayRoute",
					UpdateType:    "Mutable",
				},
				"GrpcRoute": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-grpcroute",
					Type:          "GrpcGatewayRoute",
					UpdateType:    "Mutable",
				},
				"Http2Route": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutespec.html#cfn-appmesh-gatewayroute-gatewayroutespec-http2route",
					Type:          "HttpGatewayRoute",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html",
			Properties: map[string]*models.Property{
				"CloudWatchLoggingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-cloudwatchloggingoptions",
					Type:          "CloudWatchLoggingOptions",
					UpdateType:    "Mutable",
				},
				"CompressionFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-compressionformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-encryptionconfiguration",
					Type:          "EncryptionConfiguration",
					UpdateType:    "Mutable",
				},
				"ErrorOutputPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-erroroutputprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-prefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					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",
				},
				"BucketARN": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-bufferinghints",
					Type:          "BufferingHints",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.ArchiveGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivegroupsettings.html",
			Properties: map[string]*models.Property{
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivegroupsettings.html#cfn-medialive-channel-archivegroupsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
				"RolloverInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-archivegroupsettings.html#cfn-medialive-channel-archivegroupsettings-rolloverinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::Environment.Tier": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html#cfn-beanstalk-env-tier-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html#cfn-beanstalk-env-tier-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html#cfn-beanstalk-env-tier-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.IotTopicPublish": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html",
			Properties: map[string]*models.Property{
				"MqttTopic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-mqtttopic",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Payload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-payload",
					Type:          "Payload",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration.html",
			Properties: map[string]*models.Property{
				"InputLambdaProcessor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration.html#cfn-kinesisanalyticsv2-application-inputprocessingconfiguration-inputlambdaprocessor",
					Type:          "InputLambdaProcessor",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::Rule.Predicate": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html",
			Properties: map[string]*models.Property{
				"DataId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Kendra::DataSource.DataSourceToIndexFieldMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html",
			Properties: map[string]*models.Property{
				"IndexFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html#cfn-kendra-datasource-datasourcetoindexfieldmapping-indexfieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DataSourceFieldName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html#cfn-kendra-datasource-datasourcetoindexfieldmapping-datasourcefieldname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DateFieldFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html#cfn-kendra-datasource-datasourcetoindexfieldmapping-datefieldformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20plusembeddeddestinationsettings.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::WAFv2::WebACL.RuleGroupReferenceStatement": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html",
			Properties: map[string]*models.Property{
				"Arn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html#cfn-wafv2-webacl-rulegroupreferencestatement-arn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ExcludedRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html#cfn-wafv2-webacl-rulegroupreferencestatement-excludedrules",
					ItemType:      "ExcludedRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Layer.AutoScalingThresholds": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html",
			Properties: map[string]*models.Property{
				"IgnoreMetricsTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-ignoremetricstime",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InstanceCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-instancecount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LoadThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-loadthreshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MemoryThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-memorythreshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ThresholdsWaitTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-thresholdwaittime",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CpuThreshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-cputhreshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Stage.AccessLogSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html#cfn-apigatewayv2-stage-accesslogsettings-destinationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Format": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html#cfn-apigatewayv2-stage-accesslogsettings-format",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition.Device": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html",
			Properties: map[string]*models.Property{
				"ContainerPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-containerpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-hostpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Permissions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-permissions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate.CapacityReservationSpecification": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html",
			Properties: map[string]*models.Property{
				"CapacityReservationPreference": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationpreference",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CapacityReservationTarget": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationtarget",
					Type:          "CapacityReservationTarget",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-forwardconfig.html",
			Properties: map[string]*models.Property{
				"TargetGroupStickinessConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-forwardconfig.html#cfn-elasticloadbalancingv2-listenerrule-forwardconfig-targetgroupstickinessconfig",
					Type:          "TargetGroupStickinessConfig",
					UpdateType:    "Mutable",
				},
				"TargetGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-forwardconfig.html#cfn-elasticloadbalancingv2-listenerrule-forwardconfig-targetgroups",
					ItemType:      "TargetGroupTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Table.Column": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::Application.InputLambdaProcessor": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputlambdaprocessor.html",
			Properties: map[string]*models.Property{
				"ResourceARN": &models.Property{
					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": &models.Property{
					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::S3::Bucket.NotificationFilter": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
			Properties: map[string]*models.Property{
				"S3Key": &models.Property{
					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::AppMesh::VirtualNode.PortMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html",
			Properties: map[string]*models.Property{
				"Port": &models.Property{
					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": &models.Property{
					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::Greengrass::ResourceDefinition.LocalDeviceResourceData": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html",
			Properties: map[string]*models.Property{
				"GroupOwnerSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-groupownersetting",
					Type:          "GroupOwnerSetting",
					UpdateType:    "Immutable",
				},
				"SourcePath": &models.Property{
					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::Kendra::Faq.S3Path": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-faq-s3path.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-faq-s3path.html#cfn-kendra-faq-s3path-bucket",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-faq-s3path.html#cfn-kendra-faq-s3path-key",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::Channel.NielsenConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-nielsenconfiguration.html",
			Properties: map[string]*models.Property{
				"DistributorId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-nielsenconfiguration.html#cfn-medialive-channel-nielsenconfiguration-distributorid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NielsenPcmToId3Tagging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-nielsenconfiguration.html#cfn-medialive-channel-nielsenconfiguration-nielsenpcmtoid3tagging",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.LifecycleConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html",
			Properties: map[string]*models.Property{
				"Rules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html#cfn-s3-bucket-lifecycleconfig-rules",
					ItemType:      "Rule",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::HttpApi.OAuth2Authorizer": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-oauth2authorizer.html",
			Properties: map[string]*models.Property{
				"JwtConfiguration": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-oauth2authorizer.html#sam-httpapi-oauth2authorizer-jwtconfiguration",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-oauth2authorizer.html#sam-httpapi-oauth2authorizer-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IdentitySource": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-httpapi-oauth2authorizer.html#sam-httpapi-oauth2authorizer-identitysource",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Pinpoint::Campaign.MetricDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-metricdimension.html",
			Properties: map[string]*models.Property{
				"ComparisonOperator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-metricdimension.html#cfn-pinpoint-campaign-metricdimension-comparisonoperator",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-metricdimension.html#cfn-pinpoint-campaign-metricdimension-value",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule.WorkmailAction": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html",
			Properties: map[string]*models.Property{
				"OrganizationArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html#cfn-ses-receiptrule-workmailaction-topicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.HlsGroupSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html",
			Properties: map[string]*models.Property{
				"IndexNSegments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-indexnsegments",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"KeyProviderSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-keyprovidersettings",
					Type:          "KeyProviderSettings",
					UpdateType:    "Mutable",
				},
				"ManifestDurationFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-manifestdurationformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BaseUrlContent1": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-baseurlcontent1",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-destination",
					Type:          "OutputLocationRef",
					UpdateType:    "Mutable",
				},
				"HlsCdnSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-hlscdnsettings",
					Type:          "HlsCdnSettings",
					UpdateType:    "Mutable",
				},
				"IFrameOnlyPlaylists": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-iframeonlyplaylists",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IvInManifest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-ivinmanifest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinSegmentLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-minsegmentlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CaptionLanguageSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-captionlanguagesetting",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EncryptionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-encryptiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputLossAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-inputlossaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Mode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-mode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProgramDateTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-programdatetime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentationMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-segmentationmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClientCache": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-clientcache",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DirectoryStructure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-directorystructure",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IvSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-ivsource",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StreamInfResolution": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-streaminfresolution",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataId3Frame": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-timedmetadataid3frame",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TsFileMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-tsfilemode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BaseUrlManifest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-baseurlmanifest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CodecSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-codecspecification",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KeyFormatVersions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-keyformatversions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SegmentsPerSubdirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-segmentspersubdirectory",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"KeepSegments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-keepsegments",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ManifestCompression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-manifestcompression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RedundantManifest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-redundantmanifest",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataId3Period": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-timedmetadataid3period",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AdMarkers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-admarkers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CaptionLanguageMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-captionlanguagemappings",
					ItemType:      "CaptionLanguageMapping",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"HlsId3SegmentTagging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-hlsid3segmenttagging",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KeyFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-keyformat",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimestampDeltaMilliseconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-timestampdeltamilliseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BaseUrlContent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-baseurlcontent",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BaseUrlManifest1": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-baseurlmanifest1",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConstantIv": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-constantiv",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputSelection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-outputselection",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProgramDateTimePeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-programdatetimeperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SegmentLength": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsgroupsettings.html#cfn-medialive-channel-hlsgroupsettings-segmentlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::WebACL.ActivatedRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html#cfn-waf-webacl-rules-action",
					Type:          "WafAction",
					UpdateType:    "Mutable",
				},
				"Priority": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html#cfn-waf-webacl-rules-ruleid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::StreamingDistribution.S3Origin": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					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": &models.Property{
					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::EC2::SpotFleet.LaunchTemplateConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-launchtemplatespecification",
					Type:          "FleetLaunchTemplateSpecification",
					UpdateType:    "Mutable",
				},
				"Overrides": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-overrides",
					ItemType:      "LaunchTemplateOverrides",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL.AndStatementTwo": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementtwo.html",
			Properties: map[string]*models.Property{
				"Statements": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementtwo.html#cfn-wafv2-webacl-andstatementtwo-statements",
					ItemType:      "StatementThree",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofilecredentials.html",
			Properties: map[string]*models.Property{
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofilecredentials.html#cfn-appflow-connectorprofile-redshiftconnectorprofilecredentials-password",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofilecredentials.html#cfn-appflow-connectorprofile-redshiftconnectorprofilecredentials-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EMR::Cluster.HadoopJarStepConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html",
			Properties: map[string]*models.Property{
				"Jar": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-mainclass",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StepProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-stepproperties",
					ItemType:      "KeyValue",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Args": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-args",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.ProjectCache": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html",
			Properties: map[string]*models.Property{
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html#cfn-codebuild-project-projectcache-location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Modes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html#cfn-codebuild-project-projectcache-modes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Type": &models.Property{
					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::MediaLive::Channel.AudioChannelMapping": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiochannelmapping.html",
			Properties: map[string]*models.Property{
				"InputChannelLevels": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiochannelmapping.html#cfn-medialive-channel-audiochannelmapping-inputchannellevels",
					ItemType:      "InputChannelLevel",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OutputChannel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiochannelmapping.html#cfn-medialive-channel-audiochannelmapping-outputchannel",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel.Action": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html",
			Properties: map[string]*models.Property{
				"Firehose": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-firehose",
					Type:          "Firehose",
					UpdateType:    "Mutable",
				},
				"Sns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sns",
					Type:          "Sns",
					UpdateType:    "Mutable",
				},
				"Sqs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sqs",
					Type:          "Sqs",
					UpdateType:    "Mutable",
				},
				"Lambda": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-lambda",
					Type:          "Lambda",
					UpdateType:    "Mutable",
				},
				"ResetTimer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-resettimer",
					Type:          "ResetTimer",
					UpdateType:    "Mutable",
				},
				"ClearTimer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-cleartimer",
					Type:          "ClearTimer",
					UpdateType:    "Mutable",
				},
				"DynamoDB": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodb",
					Type:          "DynamoDB",
					UpdateType:    "Mutable",
				},
				"DynamoDBv2": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodbv2",
					Type:          "DynamoDBv2",
					UpdateType:    "Mutable",
				},
				"IotEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotevents",
					Type:          "IotEvents",
					UpdateType:    "Mutable",
				},
				"IotSiteWise": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotsitewise",
					Type:          "IotSiteWise",
					UpdateType:    "Mutable",
				},
				"IotTopicPublish": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iottopicpublish",
					Type:          "IotTopicPublish",
					UpdateType:    "Mutable",
				},
				"SetTimer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-settimer",
					Type:          "SetTimer",
					UpdateType:    "Mutable",
				},
				"SetVariable": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-setvariable",
					Type:          "SetVariable",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioDescription": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html",
			Properties: map[string]*models.Property{
				"AudioNormalizationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-audionormalizationsettings",
					Type:          "AudioNormalizationSettings",
					UpdateType:    "Mutable",
				},
				"CodecSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-codecsettings",
					Type:          "AudioCodecSettings",
					UpdateType:    "Mutable",
				},
				"RemixSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-remixsettings",
					Type:          "RemixSettings",
					UpdateType:    "Mutable",
				},
				"StreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-streamname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioSelectorName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-audioselectorname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-audiotype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioTypeControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-audiotypecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LanguageCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-languagecode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LanguageCodeControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-languagecodecontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiodescription.html#cfn-medialive-channel-audiodescription-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.M3u8Settings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html",
			Properties: map[string]*models.Property{
				"AudioPids": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-audiopids",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PcrControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-pcrcontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PmtPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-pmtpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-timedmetadatabehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TransportStreamId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-transportstreamid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PcrPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-pcrperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"NielsenId3Behavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-nielsenid3behavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PatInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-patinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PmtInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-pmtinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Scte35Pid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-scte35pid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimedMetadataPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-timedmetadatapid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AudioFramesPerPes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-audioframesperpes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EcmPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-ecmpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PcrPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-pcrpid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProgramNum": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-programnum",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Scte35Behavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-scte35behavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VideoPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-m3u8settings.html#cfn-medialive-channel-m3u8settings-videopid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.EventInvokeDestinationConfiguration": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokedestinationconfiguration.html",
			Properties: map[string]*models.Property{
				"OnSuccess": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokedestinationconfiguration.html#sam-function-eventinvokedestinationconfiguration-onsuccess",
					Type:          "OnSuccess",
				},
				"OnFailure": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventinvokedestinationconfiguration.html#sam-function-eventinvokedestinationconfiguration-onfailure",
					Type:          "OnFailure",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html",
			Properties: map[string]*models.Property{
				"Prefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-prefix",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EC2Fleet.OnDemandOptionsRequest": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html",
			Properties: map[string]*models.Property{
				"SingleInstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleinstancetype",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"AllocationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CapacityReservationOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-capacityreservationoptions",
					Type:          "CapacityReservationOptionsRequest",
					UpdateType:    "Immutable",
				},
				"MaxTotalPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-maxtotalprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MinTargetCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-mintargetcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SingleAvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleavailabilityzone",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Trigger.Condition": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html",
			Properties: map[string]*models.Property{
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CrawlState": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlstate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CrawlerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"JobName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-jobname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogicalOperator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::CachePolicy.QueryStringsConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html",
			Properties: map[string]*models.Property{
				"QueryStringBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html#cfn-cloudfront-cachepolicy-querystringsconfig-querystringbehavior",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"QueryStrings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html#cfn-cloudfront-cachepolicy-querystringsconfig-querystrings",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project.SourceAuth": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html",
			Properties: map[string]*models.Property{
				"Resource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html#cfn-codebuild-project-sourceauth-resource",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::MediaLive::Channel.VideoSelectorSettings": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorsettings.html",
			Properties: map[string]*models.Property{
				"VideoSelectorPid": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorsettings.html#cfn-medialive-channel-videoselectorsettings-videoselectorpid",
					Type:          "VideoSelectorPid",
					UpdateType:    "Mutable",
				},
				"VideoSelectorProgramId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorsettings.html#cfn-medialive-channel-videoselectorsettings-videoselectorprogramid",
					Type:          "VideoSelectorProgramId",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.RedirectRule": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html",
			Properties: map[string]*models.Property{
				"HostName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-hostname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HttpRedirectCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-httpredirectcode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-protocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplaceKeyPrefixWith": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeyprefixwith",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplaceKeyWith": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeywith",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html",
			Properties: map[string]*models.Property{
				"Input": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters-input",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel.Output": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-output.html",
			Properties: map[string]*models.Property{
				"AudioDescriptionNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-output.html#cfn-medialive-channel-output-audiodescriptionnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CaptionDescriptionNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-output.html#cfn-medialive-channel-output-captiondescriptionnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"OutputName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-output.html#cfn-medialive-channel-output-outputname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OutputSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-output.html#cfn-medialive-channel-output-outputsettings",
					Type:          "OutputSettings",
					UpdateType:    "Mutable",
				},
				"VideoDescriptionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-output.html#cfn-medialive-channel-output-videodescriptionname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign.SetDimension": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-setdimension.html",
			Properties: map[string]*models.Property{
				"DimensionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-setdimension.html#cfn-pinpoint-campaign-setdimension-dimensiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Values": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-setdimension.html#cfn-pinpoint-campaign-setdimension-values",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::S3::Bucket.ReplicationTimeValue": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html",
			Properties: map[string]*models.Property{
				"Minutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html#cfn-s3-bucket-replicationtimevalue-minutes",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MSK::Cluster.ClientAuthentication": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html",
			Properties: map[string]*models.Property{
				"Sasl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-sasl",
					Type:          "Sasl",
					UpdateType:    "Immutable",
				},
				"Tls": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-tls",
					Type:          "Tls",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::OpsWorks::Layer.ShutdownEventConfiguration": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html",
			Properties: map[string]*models.Property{
				"DelayUntilElbConnectionsDrained": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html#cfn-opsworks-layer-lifecycleconfiguration-shutdowneventconfiguration-delayuntilelbconnectionsdrained",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExecutionTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html#cfn-opsworks-layer-lifecycleconfiguration-shutdowneventconfiguration-executiontimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::Distribution.CustomErrorResponse": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html",
			Properties: map[string]*models.Property{
				"ResponseCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-responsecode",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ResponsePagePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-responsepagepath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ErrorCachingMinTTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-errorcachingminttl",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"ErrorCode": &models.Property{
					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",
				},
			},
		},
		"AWS::ECS::TaskDefinition.RepositoryCredentials": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html",
			Properties: map[string]*models.Property{
				"CredentialsParameter": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html#cfn-ecs-taskdefinition-repositorycredentials-credentialsparameter",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-targetgroupstickinessconfig.html",
			Properties: map[string]*models.Property{
				"DurationSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-targetgroupstickinessconfig.html#cfn-elasticloadbalancingv2-listenerrule-targetgroupstickinessconfig-durationseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-targetgroupstickinessconfig.html#cfn-elasticloadbalancingv2-listenerrule-targetgroupstickinessconfig-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::RecordSetGroup.RecordSet": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Failover": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GeoLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation",
					Type:          "GeoLocation",
					UpdateType:    "Mutable",
				},
				"HealthCheckId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ResourceRecords": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AliasTarget": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget",
					Type:          "AliasTarget",
					UpdateType:    "Mutable",
				},
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SetIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MultiValueAnswer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"HostedZoneName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostedZoneId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function.EventBridgeRule": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventbridgerule.html",
			Properties: map[string]*models.Property{
				"EventBusName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventbridgerule.html#sam-function-eventbridgerule-eventbusname",
					PrimitiveType: "String",
				},
				"Input": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventbridgerule.html#sam-function-eventbridgerule-input",
					PrimitiveType: "String",
				},
				"InputPath": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventbridgerule.html#sam-function-eventbridgerule-inputpath",
					PrimitiveType: "String",
				},
				"Pattern": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-eventbridgerule.html#sam-function-eventbridgerule-pattern",
					Required:      true,
					Type:          "EventPattern",
				},
			},
		},
		"AWS::Serverless::StateMachine.ResourcePolicyStatement": &models.PropertyType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html",
			Properties: map[string]*models.Property{
				"IpRangeWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-iprangewhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AwsAccountWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-awsaccountwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpcBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpceBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpceWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IpRangeBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-iprangeblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"SourceVpcBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-sourcevpcblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"SourceVpcWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-sourcevpcwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AwsAccountBlacklist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-awsaccountblacklist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CustomStatements": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-customstatements",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"IntrinsicVpcWhitelist": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-resourcepolicystatement.html#sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist",
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
		"AWS::Elasticsearch::Domain.EncryptionAtRestOptions": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html#cfn-elasticsearch-domain-encryptionatrestoptions-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html#cfn-elasticsearch-domain-encryptionatrestoptions-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html",
			Properties: map[string]*models.Property{
				"RecordEncoding": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordencoding",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RecordFormat": &models.Property{
					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",
				},
				"RecordColumns": &models.Property{
					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",
				},
			},
		},
		"AWS::MediaLive::Channel.AudioLanguageSelection": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiolanguageselection.html",
			Properties: map[string]*models.Property{
				"LanguageSelectionPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiolanguageselection.html#cfn-medialive-channel-audiolanguageselection-languageselectionpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LanguageCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiolanguageselection.html#cfn-medialive-channel-audiolanguageselection-languagecode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::Segment.Coordinates": &models.PropertyType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates.html",
			Properties: map[string]*models.Property{
				"Latitude": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
	},
	ResourceTypes: map[string]*models.ResourceType{
		"AWS::IAM::InstanceProfile": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html",
			Properties: map[string]*models.Property{
				"InstanceProfileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html#cfn-iam-instanceprofile-instanceprofilename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html#cfn-iam-instanceprofile-path",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Roles": &models.Property{
					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::IoTEvents::Input": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html",
			Properties: map[string]*models.Property{
				"InputDefinition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdefinition",
					Type:          "InputDefinition",
					UpdateType:    "Mutable",
				},
				"InputDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EventSchemas::Registry": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"RegistryName": &models.Attribute{
					PrimitiveType: "String",
				},
				"RegistryArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RegistryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-registryname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-tags",
					ItemType:      "TagsEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Channel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html",
			Properties: map[string]*models.Property{
				"ChannelName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-channelname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ChannelStorage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-channelstorage",
					Type:          "ChannelStorage",
					UpdateType:    "Mutable",
				},
				"RetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-retentionperiod",
					Type:          "RetentionPeriod",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRuleSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html",
			Properties: map[string]*models.Property{
				"RuleSetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html#cfn-ses-receiptruleset-rulesetname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAFRegional::ByteMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html",
			Properties: map[string]*models.Property{
				"ByteMatchTuples": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html#cfn-wafregional-bytematchset-bytematchtuples",
					ItemType:      "ByteMatchTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::Cognito::UserPoolRiskConfigurationAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html",
			Properties: map[string]*models.Property{
				"AccountTakeoverRiskConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfiguration",
					Type:          "AccountTakeoverRiskConfigurationType",
					UpdateType:    "Mutable",
				},
				"ClientId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfiguration",
					Type:          "CompromisedCredentialsRiskConfigurationType",
					UpdateType:    "Mutable",
				},
				"RiskExceptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfiguration",
					Type:          "RiskExceptionConfigurationType",
					UpdateType:    "Mutable",
				},
				"UserPoolId": &models.Property{
					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::ApiGateway::DomainName": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DistributionDomainName": &models.Attribute{
					PrimitiveType: "String",
				},
				"DistributionHostedZoneId": &models.Attribute{
					PrimitiveType: "String",
				},
				"RegionalDomainName": &models.Attribute{
					PrimitiveType: "String",
				},
				"RegionalHostedZoneId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html",
			Properties: map[string]*models.Property{
				"SecurityPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DomainName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EndpointConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration",
					Type:          "EndpointConfiguration",
					UpdateType:    "Mutable",
				},
				"MutualTlsAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication",
					Type:          "MutualTlsAuthentication",
					UpdateType:    "Mutable",
				},
				"RegionalCertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::ApiCache": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html",
			Properties: map[string]*models.Property{
				"ApiCachingBehavior": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TransitEncryptionEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Ttl": &models.Property{
					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": &models.Property{
					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::CodeBuild::SourceCredential": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html",
			Properties: map[string]*models.Property{
				"ServerType": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-authtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::GatewayRouteTableAssociation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AssociationId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html",
			Properties: map[string]*models.Property{
				"RouteTableId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-routetableid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"GatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-gatewayid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Redshift::ClusterSecurityGroupIngress": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html",
			Properties: map[string]*models.Property{
				"ClusterSecurityGroupName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-ec2securitygroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EC2SecurityGroupOwnerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-ec2securitygroupownerid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CIDRIP": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ServiceDiscovery::HttpNamespace": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAFRegional::WebACL": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html",
			Properties: map[string]*models.Property{
				"DefaultAction": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-rules",
					ItemType:      "Rule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Deployment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html",
			Properties: map[string]*models.Property{
				"StageDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagedescription",
					Type:          "StageDescription",
					UpdateType:    "Mutable",
				},
				"StageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeploymentCanarySettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings",
					Type:          "DeploymentCanarySettings",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RestApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-restapiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Api": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ApiEndpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html",
			Properties: map[string]*models.Property{
				"RouteKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RouteSelectionExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routeselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"DisableExecuteApiEndpoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FailOnWarnings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ProtocolType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-protocoltype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ApiKeySelectionExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-apikeyselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DisableSchemaValidation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableschemavalidation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Target": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-target",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"BodyS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location",
					Type:          "BodyS3Location",
					UpdateType:    "Mutable",
				},
				"CorsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-corsconfiguration",
					Type:          "Cors",
					UpdateType:    "Mutable",
				},
				"CredentialsArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-credentialsarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BasePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-basepath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::CoreDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-initialversion",
					Type:          "CoreDefinitionVersion",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::CoreDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html",
			Properties: map[string]*models.Property{
				"CoreDefinitionId": &models.Property{
					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": &models.Property{
					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::ManagedBlockchain::Member": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"MemberId": &models.Attribute{
					PrimitiveType: "String",
				},
				"NetworkId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html",
			Properties: map[string]*models.Property{
				"MemberConfiguration": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-networkconfiguration",
					Type:          "NetworkConfiguration",
					UpdateType:    "Mutable",
				},
				"NetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-networkid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InvitationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-invitationid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::RequestValidator": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RestApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestbody",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ValidateRequestParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestparameters",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TrafficMirrorTarget": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html",
			Properties: map[string]*models.Property{
				"NetworkInterfaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkinterfaceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NetworkLoadBalancerArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkloadbalancerarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ECS::Cluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html",
			Properties: map[string]*models.Property{
				"ClusterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClusterSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustersettings",
					ItemType:      "ClusterSettings",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DefaultCapacityProviderStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-defaultcapacityproviderstrategy",
					ItemType:      "CapacityProviderStrategyItem",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CapacityProviders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-capacityproviders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::LoggerDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html",
			Properties: map[string]*models.Property{
				"LoggerDefinitionId": &models.Property{
					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": &models.Property{
					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::EC2::ClientVpnRoute": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html",
			Properties: map[string]*models.Property{
				"ClientVpnEndpointId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DestinationCidrBlock": &models.Property{
					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": &models.Property{
					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::DMS::EventSubscription": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html",
			Properties: map[string]*models.Property{
				"EventCategories": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-eventcategories",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SnsTopicArn": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-sourceids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"SourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-sourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubscriptionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-subscriptionname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DynamoDB::Table": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"StreamArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html",
			Properties: map[string]*models.Property{
				"AttributeDefinitions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-attributedef",
					DuplicatesAllowed: true,
					ItemType:          "AttributeDefinition",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"KeySchema": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema",
					ItemType:      "KeySchema",
					Required:      true,
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"LocalSecondaryIndexes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-lsi",
					DuplicatesAllowed: true,
					ItemType:          "LocalSecondaryIndex",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"ProvisionedThroughput": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput",
					Type:          "ProvisionedThroughput",
					UpdateType:    "Mutable",
				},
				"SSESpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification",
					Type:          "SSESpecification",
					UpdateType:    "Mutable",
				},
				"StreamSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification",
					Type:          "StreamSpecification",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BillingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-billingmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GlobalSecondaryIndexes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-gsi",
					DuplicatesAllowed: true,
					ItemType:          "GlobalSecondaryIndex",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PointInTimeRecoverySpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-pointintimerecoveryspecification",
					Type:          "PointInTimeRecoverySpecification",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TimeToLiveSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-timetolivespecification",
					Type:          "TimeToLiveSpecification",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Build": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OperatingSystem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-operatingsystem",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StorageLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-storagelocation",
					Type:          "S3Location",
					UpdateType:    "Immutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SecurityHub::Hub": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::FunctionConfiguration": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DataSourceName": &models.Attribute{
					PrimitiveType: "String",
				},
				"FunctionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"FunctionId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html",
			Properties: map[string]*models.Property{
				"ResponseMappingTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-apiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RequestMappingTemplateS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-requestmappingtemplates3location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FunctionVersion": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-requestmappingtemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResponseMappingTemplateS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplates3location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DataSourceName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Alias": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html",
			Properties: map[string]*models.Property{
				"FunctionName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig",
					Type:          "ProvisionedConcurrencyConfiguration",
					UpdateType:    "Mutable",
				},
				"RoutingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-routingconfig",
					Type:          "AliasRoutingConfiguration",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceDiscovery::Service": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DnsConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-dnsconfig",
					Type:          "DnsConfig",
					UpdateType:    "Mutable",
				},
				"HealthCheckConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-healthcheckconfig",
					Type:          "HealthCheckConfig",
					UpdateType:    "Mutable",
				},
				"HealthCheckCustomConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-healthcheckcustomconfig",
					Type:          "HealthCheckCustomConfig",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NamespaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-namespaceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Serverless::Api": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html",
			Properties: map[string]*models.Property{
				"DefinitionUri": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-definitionuri",
					Type:          "ApiDefinition",
				},
				"MinimumCompressionSize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-minimumcompressionsize",
					PrimitiveType: "Integer",
				},
				"AccessLogSetting": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-accesslogsetting",
					Type:          "AWS::ApiGateway::Stage.AccessLogSetting",
				},
				"CacheClusterEnabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-cacheclusterenabled",
					PrimitiveType: "Boolean",
				},
				"Cors": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-cors",
					Type:          "CorsConfiguration",
				},
				"Models": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-models",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Name": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-name",
					PrimitiveType: "String",
				},
				"OpenApiVersion": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-openapiversion",
					PrimitiveType: "String",
				},
				"Auth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-auth",
					Type:          "ApiAuth",
				},
				"Domain": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-domain",
					Type:          "DomainConfiguration",
				},
				"EndpointConfiguration": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-endpointconfiguration",
					Type:          "EndpointConfiguration",
				},
				"DefinitionBody": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-definitionbody",
					PrimitiveType: "String",
				},
				"GatewayResponses": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-gatewayresponses",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"TracingEnabled": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-tracingenabled",
					PrimitiveType: "Boolean",
				},
				"BinaryMediaTypes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-binarymediatypes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CacheClusterSize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-cacheclustersize",
					PrimitiveType: "String",
				},
				"CanarySetting": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-canarysetting",
					Type:          "AWS::ApiGateway::Stage.CanarySetting",
				},
				"MethodSettings": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-methodsettings",
					ItemType:      "AWS::ApiGateway::Stage.MethodSetting",
					Type:          "List",
				},
				"StageName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-stagename",
					PrimitiveType: "String",
					Required:      true,
				},
				"Variables": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-variables",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
			},
		},
		"AWS::AppConfig::HostedConfigurationVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ConfigurationProfileId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-configurationprofileid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Content": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-content",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ContentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-contenttype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LatestVersionNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-latestversionnumber",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ImageBuilder::Image": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ImageId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html",
			Properties: map[string]*models.Property{
				"ImageTestsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagetestsconfiguration",
					Type:          "ImageTestsConfiguration",
					UpdateType:    "Immutable",
				},
				"InfrastructureConfigurationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-infrastructureconfigurationarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"DistributionConfigurationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-distributionconfigurationarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EnhancedImageMetadataEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-enhancedimagemetadataenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ImageRecipeArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagerecipearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Cognito::UserPoolIdentityProvider": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html",
			Properties: map[string]*models.Property{
				"UserPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-userpoolid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AttributeMapping": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-attributemapping",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"IdpIdentifiers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-idpidentifiers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ProviderDetails": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ProviderName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providertype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::Volume": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html",
			Properties: map[string]*models.Property{
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MultiAttachEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-multiattachenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-size",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VolumeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-volumetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoEnableIO": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-autoenableio",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"OutpostArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-outpostarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnapshotId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-snapshotid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::ConfigurationTemplate": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html",
			Properties: map[string]*models.Property{
				"OptionSettings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-optionsettings",
					DuplicatesAllowed: true,
					ItemType:          "ConfigurationOptionSetting",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PlatformArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-platformarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SolutionStackName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-solutionstackname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-sourceconfiguration",
					Type:          "SourceConfiguration",
					UpdateType:    "Immutable",
				},
				"ApplicationName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnvironmentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-environmentid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::LakeFormation::DataLakeSettings": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html",
			Properties: map[string]*models.Property{
				"Admins": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-admins",
					Type:          "Admins",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::EventSourceMapping": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html",
			Properties: map[string]*models.Property{
				"FunctionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MaximumRecordAgeInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaximumRetryAttempts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StartingPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BatchSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"BisectBatchOnFunctionError": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EventSourceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MaximumBatchingWindowInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ParallelizationFactor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Topics": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DestinationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig",
					Type:          "DestinationConfig",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Neptune::DBSubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html",
			Properties: map[string]*models.Property{
				"DBSubnetGroupDescription": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html#cfn-neptune-dbsubnetgroup-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html#cfn-neptune-dbsubnetgroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::NetworkManager::LinkAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html",
			Properties: map[string]*models.Property{
				"DeviceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-deviceid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"GlobalNetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-globalnetworkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LinkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-linkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ServiceCatalog::PortfolioProductAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html",
			Properties: map[string]*models.Property{
				"PortfolioId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html#cfn-servicecatalog-portfolioproductassociation-sourceportfolioid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html#cfn-servicecatalog-portfolioproductassociation-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::Host": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html",
			Properties: map[string]*models.Property{
				"AutoPlacement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-autoplacement",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-hostrecovery",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					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::Serverless::HttpApi": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html",
			Properties: map[string]*models.Property{
				"AccessLogSettings": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-accesslogsettings",
					Type:          "AWS::ApiGatewayV2::Stage.AccessLogSettings",
				},
				"Auth": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-auth",
					Type:          "HttpApiAuth",
				},
				"DefinitionBody": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-definitionbody",
					PrimitiveType: "String",
				},
				"Domain": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-domain",
					Type:          "HttpApiDomainConfiguration",
				},
				"StageName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-stagename",
					PrimitiveType: "String",
				},
				"StageVariables": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-stagevariables",
					PrimitiveType: "Json",
				},
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"CorsConfiguration": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-corsconfiguration",
					Type:          "HttpApiCorsConfiguration",
				},
				"DefaultRouteSettings": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-defaultroutesettings",
					Type:          "AWS::ApiGatewayV2::Stage.RouteSettings",
				},
				"DefinitionUri": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-definitionuri",
					Type:          "HttpApiDefinition",
				},
				"FailOnWarnings": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-failonwarnings",
					PrimitiveType: "Boolean",
				},
				"RouteSettings": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html#sam-httpapi-routesettings",
					Type:          "AWS::ApiGatewayV2::Stage.RouteSettings",
				},
			},
		},
		"AWS::CloudWatch::CompositeAlarm": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html",
			Properties: map[string]*models.Property{
				"ActionsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-actionsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AlarmActions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmactions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AlarmDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AlarmName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AlarmRule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-alarmrule",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"InsufficientDataActions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-insufficientdataactions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"OKActions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html#cfn-cloudwatch-compositealarm-okactions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolUserToGroupAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html",
			Properties: map[string]*models.Property{
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"GroupName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-userpoolid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Events::Rule": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScheduleExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Targets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets",
					ItemType:      "Target",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventBusName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EventPattern": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::RestApi": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"RootResourceId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html",
			Properties: map[string]*models.Property{
				"Body": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"CloneFrom": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-clonefrom",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FailOnWarnings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MinimumCompressionSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApiKeySourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BinaryMediaTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Parameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-parameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Policy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"BodyS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location",
					Type:          "S3Location",
					UpdateType:    "Mutable",
				},
				"EndpointConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration",
					Type:          "EndpointConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScalingPlans::ScalingPlan": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ScalingPlanName": &models.Attribute{
					PrimitiveType: "String",
				},
				"ScalingPlanVersion": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html",
			Properties: map[string]*models.Property{
				"ApplicationSource": &models.Property{
					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": &models.Property{
					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::Batch::ComputeEnvironment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html",
			Properties: map[string]*models.Property{
				"ComputeEnvironmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-computeenvironmentname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ComputeResources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-computeresources",
					Type:          "ComputeResources",
					UpdateType:    "Mutable",
				},
				"ServiceRole": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::Greengrass::ResourceDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-initialversion",
					Type:          "ResourceDefinitionVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::Filter": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html",
			Properties: map[string]*models.Property{
				"DetectorId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-rank",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Action": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-description",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::AutoScalingGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html",
			Properties: map[string]*models.Property{
				"DesiredCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchConfigurationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"NotificationConfigurations": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations",
					DuplicatesAllowed: true,
					ItemType:          "NotificationConfiguration",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MetricsCollection": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-metricscollection",
					DuplicatesAllowed: true,
					ItemType:          "MetricsCollection",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MixedInstancesPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-mixedinstancespolicy",
					Type:          "MixedInstancesPolicy",
					UpdateType:    "Mutable",
				},
				"NewInstancesProtectedFromScaleIn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-newinstancesprotectedfromscalein",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PlacementGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VPCZoneIdentifier": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-vpczoneidentifier",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaxInstanceLifetime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HealthCheckGracePeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HealthCheckType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthchecktype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LifecycleHookSpecificationList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist",
					DuplicatesAllowed: true,
					ItemType:          "LifecycleHookSpecification",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"LoadBalancerNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MinSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TargetGroupARNs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AutoScalingGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LaunchTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchtemplate",
					Type:          "LaunchTemplateSpecification",
					UpdateType:    "Mutable",
				},
				"ServiceLinkedRoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags",
					DuplicatesAllowed: true,
					ItemType:          "TagProperty",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TerminationPolicies": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-termpolicy",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Cooldown": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Classifier": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html",
			Properties: map[string]*models.Property{
				"GrokClassifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-grokclassifier",
					Type:          "GrokClassifier",
					UpdateType:    "Mutable",
				},
				"JsonClassifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-jsonclassifier",
					Type:          "JsonClassifier",
					UpdateType:    "Mutable",
				},
				"XMLClassifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-xmlclassifier",
					Type:          "XMLClassifier",
					UpdateType:    "Mutable",
				},
				"CsvClassifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-csvclassifier",
					Type:          "CsvClassifier",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::PushTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ADM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-adm",
					Type:          "AndroidPushNotificationTemplate",
					UpdateType:    "Mutable",
				},
				"APNS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-apns",
					Type:          "APNSPushNotificationTemplate",
					UpdateType:    "Mutable",
				},
				"Baidu": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-baidu",
					Type:          "AndroidPushNotificationTemplate",
					UpdateType:    "Mutable",
				},
				"Default": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-default",
					Type:          "DefaultPushNotificationTemplate",
					UpdateType:    "Mutable",
				},
				"DefaultSubstitutions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-defaultsubstitutions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GCM": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-gcm",
					Type:          "AndroidPushNotificationTemplate",
					UpdateType:    "Mutable",
				},
				"TemplateDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatedescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Redshift::ClusterParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html#cfn-redshift-clusterparametergroup-parameters",
					DuplicatesAllowed: true,
					ItemType:          "Parameter",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html#cfn-redshift-clusterparametergroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::RoboMaker::Robot": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html",
			Properties: map[string]*models.Property{
				"Architecture": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-fleet",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GreengrassGroupId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobDefinition": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html",
			Properties: map[string]*models.Property{
				"JobDefinitionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-jobdefinitionname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NodeProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-nodeproperties",
					Type:          "NodeProperties",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"RetryStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-retrystrategy",
					Type:          "RetryStrategy",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-timeout",
					Type:          "Timeout",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ContainerProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-containerproperties",
					Type:          "ContainerProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::Listener": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html",
			Properties: map[string]*models.Property{
				"DefaultActions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-defaultactions",
					ItemType:      "Action",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"LoadBalancerArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-sslpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AlpnPolicy": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-alpnpolicy",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Certificates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-certificates",
					ItemType:      "Certificate",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::MatchmakingConfiguration": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html",
			Properties: map[string]*models.Property{
				"BackfillMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-backfillmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GameProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gameproperties",
					ItemType:      "GameProperty",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"GameSessionData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessiondata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-notificationtarget",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestTimeoutSeconds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-rulesetname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AdditionalPlayerCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-additionalplayercount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AcceptanceTimeoutSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-acceptancetimeoutseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CustomEventData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-customeventdata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GameSessionQueueArns": &models.Property{
					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",
				},
				"AcceptanceRequired": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-acceptancerequired",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::SubscriptionDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html",
			Properties: map[string]*models.Property{
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-initialversion",
					Type:          "SubscriptionDefinitionVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::IPSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html",
			Properties: map[string]*models.Property{
				"Activate": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::Thing": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html",
			Properties: map[string]*models.Property{
				"AttributePayload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html#cfn-iot-thing-attributepayload",
					Type:          "AttributePayload",
					UpdateType:    "Mutable",
				},
				"ThingName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html#cfn-iot-thing-thingname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SageMaker::NotebookInstance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"NotebookInstanceName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html",
			Properties: map[string]*models.Property{
				"DefaultCodeRepository": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-defaultcoderepository",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DirectInternetAccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-directinternetaccess",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AcceleratorTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-acceleratortypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LifecycleConfigName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-lifecycleconfigname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RootAccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rootaccess",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"VolumeSizeInGB": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-volumesizeingb",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AdditionalCodeRepositories": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-additionalcoderepositories",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"NotebookInstanceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-notebookinstancename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::NotebookInstanceLifecycleConfig": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"NotebookInstanceLifecycleConfigName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html",
			Properties: map[string]*models.Property{
				"OnCreate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html#cfn-sagemaker-notebookinstancelifecycleconfig-oncreate",
					ItemType:      "NotebookInstanceLifecycleHook",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OnStart": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html#cfn-sagemaker-notebookinstancelifecycleconfig-onstart",
					ItemType:      "NotebookInstanceLifecycleHook",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"NotebookInstanceLifecycleConfigName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecycleconfigname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Config::ConformancePack": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html",
			Properties: map[string]*models.Property{
				"DeliveryS3Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html#cfn-config-conformancepack-deliverys3bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeliveryS3KeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html#cfn-config-conformancepack-deliverys3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TemplateBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html#cfn-config-conformancepack-templatebody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TemplateS3Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html#cfn-config-conformancepack-templates3uri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConformancePackInputParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html#cfn-config-conformancepack-conformancepackinputparameters",
					ItemType:      "ConformancePackInputParameter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ConformancePackName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html#cfn-config-conformancepack-conformancepackname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ServiceCatalog::StackSetConstraint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html",
			Properties: map[string]*models.Property{
				"RegionList": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-stackinstancecontrol",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AccountList": &models.Property{
					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",
				},
				"ProductId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-productid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PortfolioId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-portfolioid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AdminRole": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-executionrole",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::GatewayResponse": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html",
			Properties: map[string]*models.Property{
				"StatusCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-statuscode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResponseParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responseparameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ResponseTemplates": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetemplates",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ResponseType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-restapiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CloudFormation::WaitCondition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Data": &models.Attribute{
					PrimitiveType: "Json",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html",
			Properties: map[string]*models.Property{
				"Count": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html#cfn-waitcondition-count",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Handle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html#cfn-waitcondition-handle",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html#cfn-waitcondition-timeout",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::TargetGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"TargetGroupName": &models.Attribute{
					PrimitiveType: "String",
				},
				"LoadBalancerArns": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"TargetGroupFullName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html",
			Properties: map[string]*models.Property{
				"HealthyThresholdCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthythresholdcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-port",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"TargetGroupAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattributes",
					ItemType:      "TargetGroupAttribute",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TargetType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targettype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HealthCheckPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HealthCheckProtocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckprotocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Targets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targets",
					ItemType:      "TargetDescription",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-protocol",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Matcher": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-matcher",
					Type:          "Matcher",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"UnhealthyThresholdCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-unhealthythresholdcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HealthCheckEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"HealthCheckIntervalSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckintervalseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HealthCheckPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckport",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HealthCheckTimeoutSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthchecktimeoutseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::ClientCertificate": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RoboMaker::Fleet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html#cfn-robomaker-fleet-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html#cfn-robomaker-fleet-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::PortfolioPrincipalAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html",
			Properties: map[string]*models.Property{
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PortfolioId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Serverless::Application": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-application.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-application.html#sam-application-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"TimeoutInMinutes": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-application.html#sam-application-timeoutinminutes",
					PrimitiveType: "Integer",
				},
				"Location": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-application.html#sam-application-location",
					Required:      true,
					Type:          "ApplicationLocationObject",
				},
				"NotificationARNs": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-application.html#sam-application-notificationarns",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Parameters": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-application.html#sam-application-parameters",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
			},
		},
		"AWS::Logs::LogStream": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html",
			Properties: map[string]*models.Property{
				"LogStreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-logstreamname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LogGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-loggroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CodeGuruProfiler::ProfilingGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html",
			Properties: map[string]*models.Property{
				"AgentPermissions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-agentpermissions",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AnomalyDetectionNotificationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-anomalydetectionnotificationconfiguration",
					ItemType:      "Channel",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ComputePlatform": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-computeplatform",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProfilingGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-profilinggroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::DeliveryChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html",
			Properties: map[string]*models.Property{
				"ConfigSnapshotDeliveryProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties",
					Type:          "ConfigSnapshotDeliveryProperties",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"S3BucketName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnsTopicARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-snstopicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Logs::SubscriptionFilter": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DestinationArn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppFlow::Flow": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"FlowArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html",
			Properties: map[string]*models.Property{
				"KMSArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-kmsarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceFlowConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-sourceflowconfig",
					Required:      true,
					Type:          "SourceFlowConfig",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tasks": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-tasks",
					ItemType:      "Task",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TriggerConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-triggerconfig",
					Required:      true,
					Type:          "TriggerConfig",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationFlowConfigList": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-destinationflowconfiglist",
					ItemType:      "DestinationFlowConfig",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FlowName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html#cfn-appflow-flow-flowname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::ApplicationSettings": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html",
			Properties: map[string]*models.Property{
				"CloudWatchMetricsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-cloudwatchmetricsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Limits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-limits",
					Type:          "Limits",
					UpdateType:    "Mutable",
				},
				"QuietTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-quiettime",
					Type:          "QuietTime",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-campaignhook",
					Type:          "CampaignHook",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::EmailTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html",
			Properties: map[string]*models.Property{
				"TemplateName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-textpart",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultSubstitutions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-defaultsubstitutions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HtmlPart": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-htmlpart",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Subject": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TemplateDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatedescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Status": &models.Attribute{
					PrimitiveType: "String",
				},
				"CreationTime": &models.Attribute{
					PrimitiveType: "String",
				},
				"Error": &models.Attribute{
					PrimitiveType: "String",
				},
				"ErrorMessage": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html",
			Properties: map[string]*models.Property{
				"ResolverQueryLogConfigId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html#cfn-route53resolver-resolverqueryloggingconfigassociation-resolverquerylogconfigid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html#cfn-route53resolver-resolverqueryloggingconfigassociation-resourceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindow": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html",
			Properties: map[string]*models.Property{
				"AllowUnassociatedTargets": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-schedule",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ScheduleOffset": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduleoffset",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ScheduleTimezone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduletimezone",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Duration": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-enddate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StartDate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-startdate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Logs::MetricFilter": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html",
			Properties: map[string]*models.Property{
				"FilterPattern": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-metrictransformations",
					ItemType:      "MetricTransformation",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Description": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-parameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::SubnetCidrBlock": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html",
			Properties: map[string]*models.Property{
				"Ipv6CidrBlock": &models.Property{
					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": &models.Property{
					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::MediaLive::Input": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Destinations": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Sources": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html",
			Properties: map[string]*models.Property{
				"Destinations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-destinations",
					ItemType:      "InputDestinationRequest",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"InputSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-inputsecuritygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MediaConnectFlows": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-mediaconnectflows",
					ItemType:      "MediaConnectFlowRequest",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Vpc": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-vpc",
					Type:          "InputVpcRequest",
					UpdateType:    "Immutable",
				},
				"InputDevices": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-inputdevices",
					ItemType:      "InputDeviceSettings",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Sources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-sources",
					ItemType:      "InputSourceRequest",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::RoboMaker::RobotApplication": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CurrentRevisionId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RobotSoftwareSuite": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"CurrentRevisionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-currentrevisionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DirectoryService::MicrosoftAD": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Alias": &models.Attribute{
					PrimitiveType: "String",
				},
				"DnsIpAddresses": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html",
			Properties: map[string]*models.Property{
				"CreateAlias": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-createalias",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Edition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-edition",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EnableSso": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-enablesso",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-shortname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpcSettings": &models.Property{
					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::IoT::Authorizer": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html",
			Properties: map[string]*models.Property{
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
				"TokenKeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-tokenkeyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenSigningPublicKeys": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-tokensigningpublickeys",
					Type:          "TokenSigningPublicKeys",
					UpdateType:    "Mutable",
				},
				"AuthorizerFunctionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-authorizerfunctionarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AuthorizerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-authorizername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SigningDisabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html#cfn-iot-authorizer-signingdisabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kinesis::StreamConsumer": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ConsumerStatus": &models.Attribute{
					PrimitiveType: "String",
				},
				"StreamARN": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConsumerARN": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConsumerCreationTimestamp": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConsumerName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html",
			Properties: map[string]*models.Property{
				"ConsumerName": &models.Property{
					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": &models.Property{
					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::MediaStore::Container": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html",
			Properties: map[string]*models.Property{
				"AccessLoggingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-accessloggingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ContainerName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-corspolicy",
					ItemType:      "CorsRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"LifecyclePolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-lifecyclepolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MetricPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-metricpolicy",
					Type:          "MetricPolicy",
					UpdateType:    "Mutable",
				},
				"Policy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-policy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::DedicatedIpPool": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html",
			Properties: map[string]*models.Property{
				"PoolName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html#cfn-pinpointemail-dedicatedippool-poolname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html#cfn-pinpointemail-dedicatedippool-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::LayerVersion": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html",
			Properties: map[string]*models.Property{
				"LicenseInfo": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html#sam-layerversion-licenseinfo",
					PrimitiveType: "String",
				},
				"RetentionPolicy": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html#sam-layerversion-retentionpolicy",
					PrimitiveType: "String",
				},
				"CompatibleRuntimes": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html#sam-layerversion-compatibleruntimes",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"ContentUri": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html#sam-layerversion-contenturi",
					Required:      true,
					Type:          "LayerContent",
				},
				"Description": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html#sam-layerversion-description",
					PrimitiveType: "String",
				},
				"LayerName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html#sam-layerversion-layername",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::Elasticsearch::Domain": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainEndpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html",
			Properties: map[string]*models.Property{
				"CognitoOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-cognitooptions",
					Type:          "CognitoOptions",
					UpdateType:    "Mutable",
				},
				"SnapshotOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-snapshotoptions",
					Type:          "SnapshotOptions",
					UpdateType:    "Mutable",
				},
				"VPCOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-vpcoptions",
					Type:          "VPCOptions",
					UpdateType:    "Mutable",
				},
				"AdvancedOptions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-advancedoptions",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ElasticsearchVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-elasticsearchversion",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DomainName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-domainname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AdvancedSecurityOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-advancedsecurityoptions",
					Type:          "AdvancedSecurityOptionsInput",
					UpdateType:    "Immutable",
				},
				"EBSOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-ebsoptions",
					Type:          "EBSOptions",
					UpdateType:    "Mutable",
				},
				"ElasticsearchClusterConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-elasticsearchclusterconfig",
					Type:          "ElasticsearchClusterConfig",
					UpdateType:    "Mutable",
				},
				"NodeToNodeEncryptionOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-nodetonodeencryptionoptions",
					Type:          "NodeToNodeEncryptionOptions",
					UpdateType:    "Immutable",
				},
				"AccessPolicies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-accesspolicies",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"EncryptionAtRestOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-encryptionatrestoptions",
					Type:          "EncryptionAtRestOptions",
					UpdateType:    "Immutable",
				},
				"LogPublishingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-logpublishingoptions",
					ItemType:      "LogPublishingOption",
					Type:          "Map",
					UpdateType:    "Mutable",
				},
				"DomainEndpointOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-domainendpointoptions",
					Type:          "DomainEndpointOptions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::IdentityPoolRoleAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html",
			Properties: map[string]*models.Property{
				"IdentityPoolId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-rolemappings",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Roles": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-roles",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::RecordSetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html",
			Properties: map[string]*models.Property{
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostedZoneId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzoneid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HostedZoneName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzonename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RecordSets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-recordsets",
					ItemType:      "RecordSet",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceDiscovery::Instance": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html",
			Properties: map[string]*models.Property{
				"InstanceAttributes": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html#cfn-servicediscovery-instance-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServiceId": &models.Property{
					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::Cloud9::EnvironmentEC2": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html",
			Properties: map[string]*models.Property{
				"AutomaticStopTimeMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-automaticstoptimeminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"InstanceType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OwnerArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-ownerarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ConnectionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-connectiontype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Repositories": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-repositories",
					ItemType:      "Repository",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GlobalAccelerator::Listener": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ListenerArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html",
			Properties: map[string]*models.Property{
				"AcceleratorArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-acceleratorarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ClientAffinity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-clientaffinity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PortRanges": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-portranges",
					ItemType:      "PortRange",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html#cfn-globalaccelerator-listener-protocol",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Amplify::App": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AppId": &models.Attribute{
					PrimitiveType: "String",
				},
				"AppName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DefaultDomain": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html",
			Properties: map[string]*models.Property{
				"BasicAuthConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-basicauthconfig",
					Type:          "BasicAuthConfig",
					UpdateType:    "Mutable",
				},
				"CustomRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-customrules",
					ItemType:      "CustomRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"EnvironmentVariables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-environmentvariables",
					ItemType:      "EnvironmentVariable",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"IAMServiceRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-iamservicerole",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-oauthtoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AutoBranchCreationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-autobranchcreationconfig",
					Type:          "AutoBranchCreationConfig",
					UpdateType:    "Mutable",
				},
				"BuildSpec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-buildspec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableBranchAutoDeletion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-enablebranchautodeletion",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Repository": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-repository",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AccessToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-accesstoken",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::S3::BucketPolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html",
			Properties: map[string]*models.Property{
				"Bucket": &models.Property{
					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": &models.Property{
					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::KMS::Key": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"KeyId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableKeyRotation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-enablekeyrotation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"KeyPolicy": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keyusage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PendingWindowInDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-pendingwindowindays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SecurityGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"GroupId": &models.Attribute{
					PrimitiveType: "String",
				},
				"VpcId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html",
			Properties: map[string]*models.Property{
				"SecurityGroupEgress": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-securitygroupegress",
					DuplicatesAllowed: true,
					ItemType:          "Egress",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SecurityGroupIngress": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-securitygroupingress",
					DuplicatesAllowed: true,
					ItemType:          "Ingress",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GroupDescription": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-groupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html",
			Properties: map[string]*models.Property{
				"CloudWatchLoggingOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption",
					Required:      true,
					Type:          "CloudWatchLoggingOption",
					UpdateType:    "Mutable",
				},
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-applicationname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::APNSChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html",
			Properties: map[string]*models.Property{
				"TokenKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-tokenkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-tokenkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BundleId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-bundleid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TeamId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-teamid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-privatekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultAuthenticationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-defaultauthenticationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBInstance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Endpoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html",
			Properties: map[string]*models.Property{
				"DBSnapshotIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PromotionTier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-promotiontier",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-autominorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Conditional",
				},
				"DBSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DBSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LicenseModel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-licensemodel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MasterUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-masterusername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MonitoringRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-monitoringrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PerformanceInsightsRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-performanceinsightsretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CharacterSetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-charactersetname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PubliclyAccessible": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-publiclyaccessible",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"StorageType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-storagetype",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"EnableIAMDatabaseAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableiamdatabaseauthentication",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnablePerformanceInsights": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"ProcessorFeatures": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-processorfeatures",
					ItemType:      "ProcessorFeature",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Timezone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-timezone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AllowMajorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-allowmajorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Domain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-domain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MultiAZ": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-multiaz",
					PrimitiveType: "Boolean",
					UpdateType:    "Conditional",
				},
				"SourceDBInstanceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-sourcedbinstanceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CACertificateIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-cacertificateidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxAllocatedStorage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-maxallocatedstorage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Iops": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-iops",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MasterUserPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-masteruserpassword",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DeleteAutomatedBackups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-deleteautomatedbackups",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DomainIAMRoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-domainiamrolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableCloudwatchLogsExports": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enablecloudwatchlogsexports",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MonitoringInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-monitoringinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Conditional",
				},
				"PerformanceInsightsKMSKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-performanceinsightskmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PreferredBackupWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-preferredbackupwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VPCSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-vpcsecuritygroups",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CopyTagsToSnapshot": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-copytagstosnapshot",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DBInstanceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbinstanceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Engine": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-engine",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"OptionGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-optiongroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StorageEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-storageencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"AssociatedRoles": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-associatedroles",
					ItemType:      "DBInstanceRole",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BackupRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-backupretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Conditional",
				},
				"DeletionProtection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-deletionprotection",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SourceRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-sourceregion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"UseDefaultProcessorFeatures": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-usedefaultprocessorfeatures",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AllocatedStorage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-allocatedstorage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DBInstanceClass": &models.Property{
					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",
				},
			},
		},
		"AWS::Timestream::Database": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html#cfn-timestream-database-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html#cfn-timestream-database-databasename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html#cfn-timestream-database-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::WebACL": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html",
			Properties: map[string]*models.Property{
				"DefaultAction": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html#cfn-waf-webacl-rules",
					ItemType:      "ActivatedRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Account": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html",
			Properties: map[string]*models.Property{
				"CloudWatchRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#cfn-apigateway-account-cloudwatchrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CE::CostCategory": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"EffectiveStart": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RuleVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-ruleversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Rules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-rules",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::Template": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html",
			Properties: map[string]*models.Property{
				"Template": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html#cfn-ses-template-template",
					Type:          "Template",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AccessAnalyzer::Analyzer": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html",
			Properties: map[string]*models.Property{
				"AnalyzerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ArchiveRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-archiverules",
					ItemType:      "ArchiveRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					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::EMR::Cluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"MasterPublicDNS": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html",
			Properties: map[string]*models.Property{
				"ScaleDownBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-scaledownbehavior",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CustomAmiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-customamiid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServiceRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-servicerole",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VisibleToAllUsers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-visibletoallusers",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LogUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-loguri",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Instances": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-jobflowrole",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SecurityConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-securityconfiguration",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AutoScalingRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-autoscalingrole",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Applications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-applications",
					ItemType:      "Application",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"BootstrapActions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-bootstrapactions",
					ItemType:      "BootstrapActionConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"EbsRootVolumeSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-ebsrootvolumesize",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"KerberosAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-kerberosattributes",
					Type:          "KerberosAttributes",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-releaselabel",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AdditionalInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-additionalinfo",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"Steps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-steps",
					ItemType:      "StepConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EMR::Step": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html",
			Properties: map[string]*models.Property{
				"ActionOnFailure": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Glue::Workflow": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"DefaultRunProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-defaultrunproperties",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ImageBuilder::ImagePipeline": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html",
			Properties: map[string]*models.Property{
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-schedule",
					Type:          "Schedule",
					UpdateType:    "Mutable",
				},
				"ImageRecipeArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagerecipearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ImageTestsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration",
					Type:          "ImageTestsConfiguration",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"InfrastructureConfigurationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-infrastructureconfigurationarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DistributionConfigurationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-distributionconfigurationarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnhancedImageMetadataEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-enhancedimagemetadataenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFormation::WaitConditionHandle": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitconditionhandle.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::EMR::InstanceGroupConfig": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html",
			Properties: map[string]*models.Property{
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Market": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-market",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BidPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-bidprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Configurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-configurations",
					ItemType:      "Configuration",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"InstanceCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfiginstancecount-",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"JobFlowId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-jobflowid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AutoScalingPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-elasticmapreduce-instancegroupconfig-autoscalingpolicy",
					Type:          "AutoScalingPolicy",
					UpdateType:    "Mutable",
				},
				"EbsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-ebsconfiguration",
					Type:          "EbsConfiguration",
					UpdateType:    "Immutable",
				},
				"InstanceRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancerole",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::ApplicationVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html#cfn-elasticbeanstalk-applicationversion-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceBundle": &models.Property{
					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::Route53::RecordSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html",
			Properties: map[string]*models.Property{
				"AliasTarget": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget",
					Type:          "AliasTarget",
					UpdateType:    "Mutable",
				},
				"GeoLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation",
					Type:          "GeoLocation",
					UpdateType:    "Mutable",
				},
				"TTL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Weight": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Failover": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HealthCheckId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceRecords": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SetIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Comment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HostedZoneId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HostedZoneName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MultiValueAnswer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAF::Rule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html",
			Properties: map[string]*models.Property{
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html#cfn-waf-rule-predicates",
					ItemType:      "Predicate",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Config::AggregationAuthorization": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html",
			Properties: map[string]*models.Property{
				"AuthorizedAccountId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html#cfn-config-aggregationauthorization-authorizedawsregion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html#cfn-config-aggregationauthorization-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTEvents::DetectorModel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html",
			Properties: map[string]*models.Property{
				"DetectorModelDefinition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldefinition",
					Type:          "DetectorModelDefinition",
					UpdateType:    "Mutable",
				},
				"DetectorModelDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DetectorModelName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodelname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EvaluationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-evaluationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-key",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::EmailChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html",
			Properties: map[string]*models.Property{
				"FromAddress": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-configurationset",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IAM::ManagedPolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Groups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-groups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ManagedPolicyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-managedpolicyname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-ec2-dhcpoptions-path",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PolicyDocument": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-roles",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Users": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-users",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Config::OrganizationConformancePack": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html",
			Properties: map[string]*models.Property{
				"TemplateBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-templatebody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TemplateS3Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-templates3uri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConformancePackInputParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-conformancepackinputparameters",
					ItemType:      "ConformancePackInputParameter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DeliveryS3Bucket": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-deliverys3bucket",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeliveryS3KeyPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-deliverys3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExcludedAccounts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-excludedaccounts",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"OrganizationConformancePackName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-organizationconformancepackname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EKS::FargateProfile": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html",
			Properties: map[string]*models.Property{
				"FargateProfileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-fargateprofilename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PodExecutionRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-podexecutionrolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Selectors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-selectors",
					ItemType:      "Selector",
					Required:      true,
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-subnets",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ClusterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html#cfn-eks-fargateprofile-clustername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::GameLift::GameSessionQueue": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html",
			Properties: map[string]*models.Property{
				"PlayerLatencyPolicies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-playerlatencypolicies",
					ItemType:      "PlayerLatencyPolicy",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TimeoutInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-timeoutinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Destinations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-destinations",
					ItemType:      "Destination",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html",
			Properties: map[string]*models.Property{
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-initialversion",
					Type:          "FunctionDefinitionVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KMS::Alias": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html",
			Properties: map[string]*models.Property{
				"AliasName": &models.Property{
					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": &models.Property{
					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::NetworkManager::CustomerGatewayAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html",
			Properties: map[string]*models.Property{
				"CustomerGatewayArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-customergatewayarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DeviceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-deviceid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"GlobalNetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-globalnetworkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LinkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-linkid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Route53Resolver::ResolverQueryLoggingConfig": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Status": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"AssociationCount": &models.Attribute{
					PrimitiveType: "Integer",
				},
				"CreationTime": &models.Attribute{
					PrimitiveType: "String",
				},
				"CreatorRequestId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"OwnerId": &models.Attribute{
					PrimitiveType: "String",
				},
				"ShareStatus": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html",
			Properties: map[string]*models.Property{
				"DestinationArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html#cfn-route53resolver-resolverqueryloggingconfig-destinationarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html#cfn-route53resolver-resolverqueryloggingconfig-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CloudFront::RealtimeLogConfig": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html",
			Properties: map[string]*models.Property{
				"EndPoints": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-endpoints",
					DuplicatesAllowed: true,
					ItemType:          "EndPoint",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Fields": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-fields",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SamplingRate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-samplingrate",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::CarrierGateway": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"State": &models.Attribute{
					PrimitiveType: "String",
				},
				"CarrierGatewayId": &models.Attribute{
					PrimitiveType: "String",
				},
				"OwnerId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-vpcid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::LoadBalancer": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"LoadBalancerFullName": &models.Attribute{
					PrimitiveType: "String",
				},
				"LoadBalancerName": &models.Attribute{
					PrimitiveType: "String",
				},
				"SecurityGroups": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CanonicalHostedZoneID": &models.Attribute{
					PrimitiveType: "String",
				},
				"DNSName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmappings",
					ItemType:      "SubnetMapping",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-subnets",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IpAddressType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-ipaddresstype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LoadBalancerAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes",
					ItemType:      "LoadBalancerAttribute",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Scheme": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-scheme",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::GameLift::MatchmakingRuleSet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html",
			Properties: map[string]*models.Property{
				"RuleSetBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html#cfn-gamelift-matchmakingruleset-rulesetbody",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html#cfn-gamelift-matchmakingruleset-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::GlobalAccelerator::Accelerator": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AcceleratorArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DnsName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IpAddressType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-ipaddresstype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IpAddresses": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-ipaddresses",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html#cfn-globalaccelerator-accelerator-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::GCMChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html",
			Properties: map[string]*models.Property{
				"ApiKey": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html#cfn-pinpoint-gcmchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::ScheduledAction": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html",
			Properties: map[string]*models.Property{
				"DesiredCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-desiredcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EndTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-endtime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-maxsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MinSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-minsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Recurrence": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-recurrence",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-starttime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoScalingGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-asgname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoTAnalytics::Dataset": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-contentdeliveryrules",
					ItemType:      "DatasetContentDeliveryRule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DatasetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-datasetname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-retentionperiod",
					Type:          "RetentionPeriod",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Triggers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-triggers",
					ItemType:      "Trigger",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VersioningConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-versioningconfiguration",
					Type:          "VersioningConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationReferenceDataSource": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					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": &models.Property{
					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::SES::ConfigurationSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SQS::QueuePolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html",
			Properties: map[string]*models.Property{
				"PolicyDocument": &models.Property{
					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": &models.Property{
					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::WAFRegional::XssMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html#cfn-wafregional-xssmatchset-xssmatchtuples",
					ItemType:      "XssMatchTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Authorizer": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html",
			Properties: map[string]*models.Property{
				"AuthorizerCredentials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizercredentials",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProviderARNs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-providerarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RestApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"IdentityValidationExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identityvalidationexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizerResultTtlInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizerresultttlinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AuthorizerUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizeruri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IdentitySource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identitysource",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolDomain": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html",
			Properties: map[string]*models.Property{
				"CustomDomainConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-customdomainconfig",
					Type:          "CustomDomainConfigType",
					UpdateType:    "Mutable",
				},
				"Domain": &models.Property{
					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": &models.Property{
					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::UserPool": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ProviderName": &models.Attribute{
					PrimitiveType: "String",
				},
				"ProviderURL": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html",
			Properties: map[string]*models.Property{
				"AccountRecoverySetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-accountrecoverysetting",
					Type:          "AccountRecoverySetting",
					UpdateType:    "Mutable",
				},
				"EmailVerificationMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnabledMfas": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-enabledmfas",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"LambdaConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig",
					Type:          "LambdaConfig",
					UpdateType:    "Mutable",
				},
				"AdminCreateUserConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig",
					Type:          "AdminCreateUserConfig",
					UpdateType:    "Mutable",
				},
				"AutoVerifiedAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-autoverifiedattributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DeviceConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-deviceconfiguration",
					Type:          "DeviceConfiguration",
					UpdateType:    "Mutable",
				},
				"EmailConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailconfiguration",
					Type:          "EmailConfiguration",
					UpdateType:    "Mutable",
				},
				"MfaConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-mfaconfiguration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SmsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsconfiguration",
					Type:          "SmsConfiguration",
					UpdateType:    "Mutable",
				},
				"UsernameConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameconfiguration",
					Type:          "UsernameConfiguration",
					UpdateType:    "Mutable",
				},
				"AliasAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-aliasattributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"EmailVerificationSubject": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SmsAuthenticationMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsauthenticationmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserPoolAddOns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooladdons",
					Type:          "UserPoolAddOns",
					UpdateType:    "Mutable",
				},
				"UserPoolName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpoolname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Policies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-policies",
					Type:          "Policies",
					UpdateType:    "Mutable",
				},
				"Schema": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-schema",
					ItemType:      "SchemaAttribute",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SmsVerificationMessage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsverificationmessage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserPoolTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"UsernameAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VerificationMessageTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-verificationmessagetemplate",
					Type:          "VerificationMessageTemplate",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudTrail::Trail": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"SnsTopicArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TrailName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-trailname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CloudWatchLogsLogGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-cloudwatchlogsloggrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableLogFileValidation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-enablelogfilevalidation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeGlobalServiceEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-includeglobalserviceevents",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IsLogging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-islogging",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"KMSKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnsTopicName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-snstopicname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CloudWatchLogsRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-cloudwatchlogsrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EventSelectors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-eventselectors",
					ItemType:      "EventSelector",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"IsMultiRegionTrail": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-ismultiregiontrail",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"S3BucketName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-s3keyprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DocDB::DBInstance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
				"Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html",
			Properties: map[string]*models.Property{
				"DBInstanceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-dbinstanceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-autominorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBClusterIdentifier": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-dbinstanceclass",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TransitGatewayRouteTable": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html#cfn-ec2-transitgatewayroutetable-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"TransitGatewayId": &models.Property{
					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::FSx::FileSystem": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"LustreMountName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html",
			Properties: map[string]*models.Property{
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LustreConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-lustreconfiguration",
					Type:          "LustreConfiguration",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"WindowsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-windowsconfiguration",
					Type:          "WindowsConfiguration",
					UpdateType:    "Mutable",
				},
				"SubnetIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BackupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-backupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FileSystemType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-filesystemtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"StorageCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagecapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StorageType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::TopicRule": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html",
			Properties: map[string]*models.Property{
				"TopicRulePayload": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-topicrulepayload",
					Required:      true,
					Type:          "TopicRulePayload",
					UpdateType:    "Mutable",
				},
				"RuleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-rulename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Kendra::DataSource": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-schedule",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-tags",
					Type:          "TagList",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DataSourceConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-datasourceconfiguration",
					Required:      true,
					Type:          "DataSourceConfiguration",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IndexId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-indexid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html#cfn-kendra-datasource-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::Model": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ModelName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VpcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-vpcconfig",
					Type:          "VpcConfig",
					UpdateType:    "Immutable",
				},
				"Containers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-containers",
					ItemType:      "ContainerDefinition",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"EnableNetworkIsolation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-enablenetworkisolation",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ExecutionRoleArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-modelname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PrimaryContainer": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-primarycontainer",
					Type:          "ContainerDefinition",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Athena::DataCatalog": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-parameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::WebACL": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Capacity": &models.Attribute{
					PrimitiveType: "Integer",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Rules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-rules",
					ItemType:      "Rule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Scope": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VisibilityConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-visibilityconfig",
					Required:      true,
					Type:          "VisibilityConfig",
					UpdateType:    "Mutable",
				},
				"DefaultAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-defaultaction",
					Required:      true,
					Type:          "DefaultAction",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::NetworkManager::GlobalNetwork": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::ResourceUpdateConstraint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html",
			Properties: map[string]*models.Property{
				"TagUpdateOnProvisionedProduct": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-tagupdateonprovisionedproduct",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PortfolioId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-productid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Macie::CustomDataIdentifier": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CreatedAt": &models.Attribute{
					PrimitiveType: "String",
				},
				"Deleted": &models.Attribute{
					PrimitiveType: "Boolean",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html",
			Properties: map[string]*models.Property{
				"MaximumMatchDistance": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-maximummatchdistance",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Regex": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-regex",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IgnoreWords": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-ignorewords",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Keywords": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-keywords",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::CodeStarConnections::Connection": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"OwnerAccountId": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConnectionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConnectionStatus": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html",
			Properties: map[string]*models.Property{
				"ConnectionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-connectionname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"HostArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-hostarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProviderType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-providertype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPCEndpoint": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"NetworkInterfaceIds": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"CreationTimestamp": &models.Attribute{
					PrimitiveType: "String",
				},
				"DnsEntries": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html",
			Properties: map[string]*models.Property{
				"RouteTableIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-routetableids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ServiceName": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcEndpointType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-vpcendpointtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-vpcid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PolicyDocument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-policydocument",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"PrivateDnsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-privatednsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::Member": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html",
			Properties: map[string]*models.Property{
				"DetectorId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-disableemailnotification",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Email": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-message",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFormation::StackSet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"StackSetId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html",
			Properties: map[string]*models.Property{
				"Capabilities": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-capabilities",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"OperationPreferences": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-operationpreferences",
					Type:          "OperationPreferences",
					UpdateType:    "Mutable",
				},
				"StackSetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-stacksetname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TemplateURL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-templateurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PermissionModel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-permissionmodel",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StackInstancesGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-stackinstancesgroup",
					ItemType:      "StackInstances",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AdministrationRoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-administrationrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoDeployment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-autodeployment",
					Type:          "AutoDeployment",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExecutionRoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-executionrolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-parameters",
					ItemType:      "Parameter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TemplateBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-templatebody",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLSchema": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefinitionS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definitions3location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-groupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Precedence": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-precedence",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserPoolId": &models.Property{
					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::Neptune::DBCluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Port": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReadEndpoint": &models.Attribute{
					PrimitiveType: "String",
				},
				"ClusterResourceId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html",
			Properties: map[string]*models.Property{
				"IamAuthEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-iamauthenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RestoreToTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-restoretotime",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SnapshotIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-snapshotidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceDBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-sourcedbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StorageEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-storageencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-vpcsecuritygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AssociatedRoles": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-associatedroles",
					ItemType:      "DBClusterRole",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"EnableCloudwatchLogsExports": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-enablecloudwatchlogsexports",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RestoreType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-restoretype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"UseLatestRestorableTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-uselatestrestorabletime",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"DBClusterParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbclusterparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-availabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"DBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DeletionProtection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-deletionprotection",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PreferredBackupWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredbackupwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BackupRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-backupretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::VirtualNode": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
				"VirtualNodeName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html",
			Properties: map[string]*models.Property{
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Spec": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VirtualNodeName": &models.Property{
					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::EC2::EC2Fleet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html",
			Properties: map[string]*models.Property{
				"ExcessCapacityTerminationPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-excesscapacityterminationpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LaunchTemplateConfigs": &models.Property{
					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",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-type",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ValidFrom": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validfrom",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TerminateInstancesWithExpiration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-terminateinstanceswithexpiration",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ValidUntil": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validuntil",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"OnDemandOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-ondemandoptions",
					Type:          "OnDemandOptionsRequest",
					UpdateType:    "Immutable",
				},
				"ReplaceUnhealthyInstances": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-replaceunhealthyinstances",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"SpotOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-spotoptions",
					Type:          "SpotOptionsRequest",
					UpdateType:    "Immutable",
				},
				"TagSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-tagspecifications",
					ItemType:      "TagSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"TargetCapacitySpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-targetcapacityspecification",
					Required:      true,
					Type:          "TargetCapacitySpecificationRequest",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SubnetNetworkAclAssociation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AssociationId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html",
			Properties: map[string]*models.Property{
				"NetworkAclId": &models.Property{
					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": &models.Property{
					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::ElasticLoadBalancingV2::ListenerRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html#cfn-elasticloadbalancingv2-listenerrule-actions",
					ItemType:      "Action",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Conditions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html#cfn-elasticloadbalancingv2-listenerrule-conditions",
					ItemType:      "RuleCondition",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ListenerArn": &models.Property{
					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": &models.Property{
					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::IoT1Click::Device": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DeviceId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Enabled": &models.Attribute{
					PrimitiveType: "Boolean",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html",
			Properties: map[string]*models.Property{
				"DeviceId": &models.Property{
					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": &models.Property{
					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::WAFv2::WebACLAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html",
			Properties: map[string]*models.Property{
				"ResourceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html#cfn-wafv2-webaclassociation-resourcearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"WebACLArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html#cfn-wafv2-webaclassociation-webaclarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Athena::WorkGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"CreationTime": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RecursiveDeleteOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-recursivedeleteoption",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
				"WorkGroupConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfiguration",
					Type:          "WorkGroupConfiguration",
					UpdateType:    "Mutable",
				},
				"WorkGroupConfigurationUpdates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfigurationupdates",
					Type:          "WorkGroupConfigurationUpdates",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Volume": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html",
			Properties: map[string]*models.Property{
				"Ec2VolumeId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html#cfn-opsworks-volume-mountpoint",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html#cfn-opsworks-volume-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StackId": &models.Property{
					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::IAM::ServiceLinkedRole": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html#cfn-iam-servicelinkedrole-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AWSServiceName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html#cfn-iam-servicelinkedrole-customsuffix",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CodePipeline::Pipeline": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Version": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html",
			Properties: map[string]*models.Property{
				"RestartExecutionOnUpdate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-restartexecutiononupdate",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-stages",
					ItemType:      "StageDeclaration",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ArtifactStore": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstore",
					Type:          "ArtifactStore",
					UpdateType:    "Mutable",
				},
				"ArtifactStores": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstores",
					ItemType:      "ArtifactStoreMap",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DisableInboundStageTransitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-disableinboundstagetransitions",
					ItemType:      "StageTransition",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::ClientVpnEndpoint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html",
			Properties: map[string]*models.Property{
				"AuthenticationOptions": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-connectionlogoptions",
					Required:      true,
					Type:          "ConnectionLogOptions",
					UpdateType:    "Mutable",
				},
				"SplitTunnel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TagSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications",
					ItemType:      "TagSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"VpnPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpnport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DnsServers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ServerCertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TransportProtocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TransitGatewayRouteTableAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html",
			Properties: map[string]*models.Property{
				"TransitGatewayAttachmentId": &models.Property{
					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": &models.Property{
					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::Kendra::Faq": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"S3Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-s3path",
					Required:      true,
					Type:          "S3Path",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-tags",
					Type:          "TagList",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FileFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-fileformat",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IndexId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html#cfn-kendra-faq-indexid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::BaiduChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SecretKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-secretkey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ApiKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-apikey",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::User": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html",
			Properties: map[string]*models.Property{
				"AuthenticationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-firstname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LastName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-lastname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MessageAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-messageaction",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"UserName": &models.Property{
					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::Resolver": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"TypeName": &models.Attribute{
					PrimitiveType: "String",
				},
				"FieldName": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResolverArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig",
					Type:          "CachingConfig",
					UpdateType:    "Mutable",
				},
				"DataSourceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-datasourcename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FieldName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-kind",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestMappingTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-requestmappingtemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestMappingTemplateS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-requestmappingtemplates3location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PipelineConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig",
					Type:          "PipelineConfig",
					UpdateType:    "Mutable",
				},
				"ResponseMappingTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-responsemappingtemplate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResponseMappingTemplateS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-responsemappingtemplates3location",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SyncConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig",
					Type:          "SyncConfig",
					UpdateType:    "Mutable",
				},
				"TypeName": &models.Property{
					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::CodeArtifact::Domain": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"EncryptionKey": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"Owner": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-domainname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PermissionsPolicyDocument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-permissionspolicydocument",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Instance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"PrivateIp": &models.Attribute{
					PrimitiveType: "String",
				},
				"PublicDnsName": &models.Attribute{
					PrimitiveType: "String",
				},
				"PublicIp": &models.Attribute{
					PrimitiveType: "String",
				},
				"AvailabilityZone": &models.Attribute{
					PrimitiveType: "String",
				},
				"PrivateDnsName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html",
			Properties: map[string]*models.Property{
				"DisableApiTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-disableapitermination",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"HostId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"KeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-keyname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NetworkInterfaces": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-networkinterfaces",
					DuplicatesAllowed: true,
					ItemType:          "NetworkInterface",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"PrivateIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privateipaddress",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CpuOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-cpuoptions",
					Type:          "CpuOptions",
					UpdateType:    "Immutable",
				},
				"Monitoring": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-monitoring",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SsmAssociations": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ssmassociations",
					DuplicatesAllowed: true,
					ItemType:          "SsmAssociation",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tenancy",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroupids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"SourceDestCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-sourcedestcheck",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"LicenseSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-licensespecifications",
					ItemType:      "LicenseSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"IamInstanceProfile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ElasticGpuSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications",
					ItemType:      "ElasticGpuSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"UserData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-userdata",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instancetype",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"CreditSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-creditspecification",
					Type:          "CreditSpecification",
					UpdateType:    "Mutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Conditional",
				},
				"InstanceInitiatedShutdownBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Ipv6Addresses": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresses",
					DuplicatesAllowed: true,
					ItemType:          "InstanceIpv6Address",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"LaunchTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-launchtemplate",
					Type:          "LaunchTemplateSpecification",
					UpdateType:    "Immutable",
				},
				"Volumes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-volumes",
					DuplicatesAllowed: true,
					ItemType:          "Volume",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"BlockDeviceMappings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings",
					DuplicatesAllowed: true,
					ItemType:          "BlockDeviceMapping",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"ElasticInferenceAccelerators": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators",
					ItemType:      "ElasticInferenceAccelerator",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ImageId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-imageid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Ipv6AddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"KernelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-kernelid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PlacementGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-placementgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RamdiskId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ramdiskid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"Affinity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-affinity",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"HibernationOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hibernationoptions",
					Type:          "HibernationOptions",
					UpdateType:    "Immutable",
				},
				"HostResourceGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostresourcegrouparn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroups",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"AdditionalInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-additionalinfo",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
			},
		},
		"AWS::EC2::LocalGatewayRoute": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"State": &models.Attribute{
					PrimitiveType: "String",
				},
				"Type": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html",
			Properties: map[string]*models.Property{
				"LocalGatewayVirtualInterfaceGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-localgatewayvirtualinterfacegroupid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DestinationCidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-destinationcidrblock",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LocalGatewayRouteTableId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-localgatewayroutetableid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::VPCGatewayAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html",
			Properties: map[string]*models.Property{
				"VpnGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html#cfn-ec2-vpcgatewayattachment-vpngatewayid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InternetGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html#cfn-ec2-vpcgatewayattachment-internetgatewayid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VpcId": &models.Property{
					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",
				},
			},
		},
		"AWS::AppStream::StackFleetAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html",
			Properties: map[string]*models.Property{
				"FleetName": &models.Property{
					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": &models.Property{
					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::ElastiCache::SecurityGroupIngress": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html",
			Properties: map[string]*models.Property{
				"CacheSecurityGroupName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-ec2securitygroupownerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Crawler": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html",
			Properties: map[string]*models.Property{
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Role": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-schedule",
					Type:          "Schedule",
					UpdateType:    "Mutable",
				},
				"TablePrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tableprefix",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-configuration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CrawlerSecurityConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-crawlersecurityconfiguration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Targets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-targets",
					Required:      true,
					Type:          "Targets",
					UpdateType:    "Mutable",
				},
				"Classifiers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-classifiers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SchemaChangePolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-schemachangepolicy",
					Type:          "SchemaChangePolicy",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Version": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Version": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FunctionName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-provisionedconcurrencyconfig",
					Type:          "ProvisionedConcurrencyConfiguration",
					UpdateType:    "Mutable",
				},
				"CodeSha256": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-codesha256",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SecretsManager::SecretTargetAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html",
			Properties: map[string]*models.Property{
				"SecretId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::ApiGatewayV2::Route": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html",
			Properties: map[string]*models.Property{
				"ApiKeyRequired": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-apikeyrequired",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ModelSelectionExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-modelselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OperationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-operationname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestModels": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-requestmodels",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"RequestParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-requestparameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"RouteKey": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-routeresponseselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-apiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Target": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-target",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::LoggerDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html",
			Properties: map[string]*models.Property{
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-initialversion",
					Type:          "LoggerDefinitionVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IAM::AccessKey": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"SecretAccessKey": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html",
			Properties: map[string]*models.Property{
				"Serial": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html#cfn-iam-accesskey-serial",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html#cfn-iam-accesskey-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserName": &models.Property{
					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::Pinpoint::APNSVoipSandboxChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html",
			Properties: map[string]*models.Property{
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultAuthenticationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-defaultauthenticationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-privatekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-tokenkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-bundleid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TeamId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-teamid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-tokenkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBProxy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
				"DBProxyArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-tags",
					ItemType:      "TagFormat",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VpcSubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-vpcsubnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"DBProxyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-dbproxyname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DebugLogging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-debuglogging",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EngineFamily": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-enginefamily",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"IdleClientTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-idleclienttimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RequireTLS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-requiretls",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Auth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-auth",
					ItemType:      "AuthFormat",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-vpcsecuritygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::PortfolioShare": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html",
			Properties: map[string]*models.Property{
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html#cfn-servicecatalog-portfolioshare-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AccountId": &models.Property{
					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": &models.Property{
					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::Cognito::IdentityPool": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html",
			Properties: map[string]*models.Property{
				"CognitoIdentityProviders": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoidentityproviders",
					ItemType:      "CognitoIdentityProvider",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CognitoStreams": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitostreams",
					Type:          "CognitoStreams",
					UpdateType:    "Mutable",
				},
				"PushSync": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-pushsync",
					Type:          "PushSync",
					UpdateType:    "Mutable",
				},
				"SupportedLoginProviders": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-supportedloginproviders",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AllowClassicFlow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowclassicflow",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AllowUnauthenticatedIdentities": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowunauthenticatedidentities",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"IdentityPoolName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-identitypoolname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"OpenIdConnectProviderARNs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-openidconnectproviderarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SamlProviderARNs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-samlproviderarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CognitoEvents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoevents",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"DeveloperProviderName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-developerprovidername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalableTarget": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html",
			Properties: map[string]*models.Property{
				"RoleARN": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scheduledactions",
					ItemType:      "ScheduledAction",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ServiceNamespace": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-suspendedstate",
					Type:          "SuspendedState",
					UpdateType:    "Mutable",
				},
				"MaxCapacity": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-resourceid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Backup::BackupPlan": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"BackupPlanId": &models.Attribute{
					PrimitiveType: "String",
				},
				"VersionId": &models.Attribute{
					PrimitiveType: "String",
				},
				"BackupPlanArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html",
			Properties: map[string]*models.Property{
				"BackupPlan": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html#cfn-backup-backupplan-backupplantags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::LocalGatewayRouteTableVPCAssociation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"LocalGatewayId": &models.Attribute{
					PrimitiveType: "String",
				},
				"LocalGatewayRouteTableVpcAssociationId": &models.Attribute{
					PrimitiveType: "String",
				},
				"State": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html",
			Properties: map[string]*models.Property{
				"LocalGatewayRouteTableId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-localgatewayroutetableid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-vpcid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::NetworkInterfaceAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html",
			Properties: map[string]*models.Property{
				"DeleteOnTermination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html#cfn-ec2-network-interface-attachment-deleteonterm",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DeviceIndex": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::NetworkManager::Site": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"SiteArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"SiteId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GlobalNetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-globalnetworkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-location",
					Type:          "Location",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::WebACLAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html",
			Properties: map[string]*models.Property{
				"ResourceArn": &models.Property{
					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": &models.Property{
					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::ApiGatewayV2::VpcLink": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html#cfn-apigatewayv2-vpclink-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::ImageRecipe": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html",
			Properties: map[string]*models.Property{
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-version",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"WorkingDirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-workingdirectory",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BlockDeviceMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-blockdevicemappings",
					ItemType:      "InstanceBlockDeviceMapping",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Components": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-components",
					ItemType:      "ComponentConfiguration",
					Required:      true,
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ParentImage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-parentimage",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::RoboMaker::RobotApplicationVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html",
			Properties: map[string]*models.Property{
				"Application": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html#cfn-robomaker-robotapplicationversion-currentrevisionid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Cassandra::Table": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html",
			Properties: map[string]*models.Property{
				"PartitionKeyColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns",
					ItemType:      "Column",
					Required:      true,
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"RegularColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns",
					ItemType:      "Column",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BillingMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-billingmode",
					Type:          "BillingMode",
					UpdateType:    "Mutable",
				},
				"ClusteringKeyColumns": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns",
					ItemType:      "ClusteringKeyColumn",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"KeyspaceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::PolicyPrincipalAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html",
			Properties: map[string]*models.Property{
				"PolicyName": &models.Property{
					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": &models.Property{
					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::ServiceCatalog::CloudFormationProvisionedProduct": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"CloudformationStackArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Outputs": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"ProvisionedProductId": &models.Attribute{
					PrimitiveType: "String",
				},
				"RecordId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html",
			Properties: map[string]*models.Property{
				"ProvisioningArtifactId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningartifactid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProvisioningArtifactName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningartifactname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NotificationArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-notificationarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"PathId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-pathid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProductName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProvisionedProductName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisionedproductname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProvisioningPreferences": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences",
					Type:          "ProvisioningPreferences",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PathName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-pathname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProductId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ProvisioningParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameters",
					ItemType:      "ProvisioningParameter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CertificateManager::Certificate": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html",
			Properties: map[string]*models.Property{
				"SubjectAlternativeNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-subjectalternativenames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ValidationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-validationmethod",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificateAuthorityArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-certificateauthorityarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificateTransparencyLoggingPreference": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-certificatetransparencyloggingpreference",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DomainName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-domainvalidationoptions",
					ItemType:      "DomainValidationOption",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::App": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::HealthCheck": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"HealthCheckId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html",
			Properties: map[string]*models.Property{
				"HealthCheckConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthcheckconfig",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"HealthCheckTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthchecktags",
					ItemType:      "HealthCheckTag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::SimpleTable": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.html#sam-simpletable-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"PrimaryKey": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.html#sam-simpletable-primarykey",
					Type:          "PrimaryKeyObject",
				},
				"ProvisionedThroughput": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.html#sam-simpletable-provisionedthroughput",
					Type:          "AWS::DynamoDB::Table.ProvisionedThroughput",
				},
				"SSESpecification": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.html#sam-simpletable-ssespecification",
					Type:          "AWS::DynamoDB::Table.SSESpecification",
				},
				"TableName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.html#sam-simpletable-tablename",
					PrimitiveType: "String",
				},
			},
		},
		"AWS::EventSchemas::RegistryPolicy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html",
			Properties: map[string]*models.Property{
				"Policy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-policy",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RegistryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-registryname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RevisionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-revisionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GuardDuty::Master": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html",
			Properties: map[string]*models.Property{
				"DetectorId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html#cfn-guardduty-master-invitationid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MasterId": &models.Property{
					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::KinesisAnalytics::Application": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html",
			Properties: map[string]*models.Property{
				"ApplicationCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-applicationcode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-applicationdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-applicationname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Inputs": &models.Property{
					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::RoboMaker::SimulationApplication": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CurrentRevisionId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html",
			Properties: map[string]*models.Property{
				"CurrentRevisionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-currentrevisionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RenderingEngine": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Fleet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html",
			Properties: map[string]*models.Property{
				"FleetType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-fleettype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MinSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-minsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DesiredEC2Instances": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-desiredec2instances",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PeerVpcAwsAccountId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-peervpcawsaccountid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServerLaunchPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchpath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BuildId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-buildid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EC2InboundPermissions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2inboundpermissions",
					ItemType:      "IpPermission",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"PeerVpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-peervpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ScriptId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-scriptid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MetricGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-metricgroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"NewGameSessionProtectionPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-newgamesessionprotectionpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceCreationLimitPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-resourcecreationlimitpolicy",
					Type:          "ResourceCreationLimitPolicy",
					UpdateType:    "Mutable",
				},
				"CertificateConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-certificateconfiguration",
					Type:          "CertificateConfiguration",
					UpdateType:    "Immutable",
				},
				"EC2InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"InstanceRoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-instancerolearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LogPaths": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-logpaths",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"MaxSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-maxsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RuntimeConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-runtimeconfiguration",
					Type:          "RuntimeConfiguration",
					UpdateType:    "Mutable",
				},
				"ServerLaunchParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchparameters",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppMesh::VirtualService": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
				"VirtualServiceName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html",
			Properties: map[string]*models.Property{
				"VirtualServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-virtualservicename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Spec": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupVault": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"BackupVaultName": &models.Attribute{
					PrimitiveType: "String",
				},
				"BackupVaultArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html",
			Properties: map[string]*models.Property{
				"AccessPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-accesspolicy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"BackupVaultName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-backupvaulttags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"EncryptionKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-encryptionkeyarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Notifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-notifications",
					Type:          "NotificationObjectType",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeCommit::Repository": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CloneUrlHttp": &models.Attribute{
					PrimitiveType: "String",
				},
				"CloneUrlSsh": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html",
			Properties: map[string]*models.Property{
				"Code": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-code",
					Type:          "Code",
					UpdateType:    "Mutable",
				},
				"RepositoryDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositorydescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RepositoryName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Triggers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-triggers",
					ItemType:      "RepositoryTrigger",
					Type:          "List",
					UpdateType:    "Conditional",
				},
			},
		},
		"AWS::Config::RemediationConfiguration": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html",
			Properties: map[string]*models.Property{
				"Automatic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-automatic",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-parameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-resourcetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TargetType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-targetversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConfigRuleName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-executioncontrols",
					Type:          "ExecutionControls",
					UpdateType:    "Mutable",
				},
				"MaximumAutomaticAttempts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-maximumautomaticattempts",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RetryAttemptSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-retryattemptseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TargetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-targetid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VolumeAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html",
			Properties: map[string]*models.Property{
				"Device": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::RDS::DBSecurityGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html",
			Properties: map[string]*models.Property{
				"DBSecurityGroupIngress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-dbsecuritygroupingress",
					ItemType:      "Ingress",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"EC2VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-ec2vpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GroupDescription": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Route53Resolver::ResolverRule": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResolverEndpointId": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResolverRuleId": &models.Attribute{
					PrimitiveType: "String",
				},
				"TargetIps": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResolverEndpointId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-resolverendpointid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RuleType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TargetIps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-targetips",
					ItemType:      "TargetAddress",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::UsagePlanKey": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html",
			Properties: map[string]*models.Property{
				"KeyId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::EC2::SpotFleet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html",
			Properties: map[string]*models.Property{
				"SpotFleetRequestConfigData": &models.Property{
					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::Config::OrganizationConfigRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html",
			Properties: map[string]*models.Property{
				"OrganizationConfigRuleName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata",
					Type:          "OrganizationCustomRuleMetadata",
					UpdateType:    "Mutable",
				},
				"OrganizationManagedRuleMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata",
					Type:          "OrganizationManagedRuleMetadata",
					UpdateType:    "Mutable",
				},
				"ExcludedAccounts": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-excludedaccounts",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ECS::CapacityProvider": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AutoScalingGroupProvider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-autoscalinggroupprovider",
					Required:      true,
					Type:          "AutoScalingGroupProvider",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT1Click::Placement": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"PlacementName": &models.Attribute{
					PrimitiveType: "String",
				},
				"ProjectName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html",
			Properties: map[string]*models.Property{
				"PlacementName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-placementname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProjectName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-projectname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AssociatedDevices": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-associateddevices",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"Attributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-attributes",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::EventInvokeConfig": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html",
			Properties: map[string]*models.Property{
				"MaximumEventAgeInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumeventageinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaximumRetryAttempts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumretryattempts",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Qualifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-qualifier",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DestinationConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig",
					Type:          "DestinationConfig",
					UpdateType:    "Mutable",
				},
				"FunctionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-functionname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::Segment": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"SegmentId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html",
			Properties: map[string]*models.Property{
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-dimensions",
					Type:          "SegmentDimensions",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-segmentgroups",
					Type:          "SegmentGroups",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAFRegional::RegexPatternSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					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::WorkSpaces::ConnectionAlias": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AliasId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Associations": &models.Attribute{
					ItemType: "ConnectionAliasAssociation",
					Type:     "List",
				},
				"ConnectionAliasState": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html",
			Properties: map[string]*models.Property{
				"ConnectionString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html#cfn-workspaces-connectionalias-connectionstring",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html#cfn-workspaces-connectionalias-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::ApplicationAutoScaling::ScalingPolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html",
			Properties: map[string]*models.Property{
				"ServiceNamespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-servicenamespace",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StepScalingPolicyConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration",
					Type:          "StepScalingPolicyConfiguration",
					UpdateType:    "Mutable",
				},
				"TargetTrackingScalingPolicyConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration",
					Type:          "TargetTrackingScalingPolicyConfiguration",
					UpdateType:    "Mutable",
				},
				"PolicyName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-resourceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ScalableDimension": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalabledimension",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ScalingTargetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalingtargetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ECS::Service": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html",
			Properties: map[string]*models.Property{
				"CapacityProviderStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-capacityproviderstrategy",
					ItemType:      "CapacityProviderStrategyItem",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Cluster": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-cluster",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DesiredCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-desiredcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PlatformVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-platformversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HealthCheckGracePeriodSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-healthcheckgraceperiodseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PlacementStrategies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-placementstrategies",
					ItemType:      "PlacementStrategy",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"DeploymentController": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-deploymentcontroller",
					Type:          "DeploymentController",
					UpdateType:    "Immutable",
				},
				"EnableECSManagedTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableecsmanagedtags",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"LoadBalancers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-loadbalancers",
					ItemType:      "LoadBalancer",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"NetworkConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-networkconfiguration",
					Type:          "NetworkConfiguration",
					UpdateType:    "Mutable",
				},
				"PlacementConstraints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-placementconstraints",
					ItemType:      "PlacementConstraint",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"PropagateTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-propagatetags",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SchedulingStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-schedulingstrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServiceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-servicename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServiceRegistries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-serviceregistries",
					ItemType:      "ServiceRegistry",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"DeploymentConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-deploymentconfiguration",
					Type:          "DeploymentConfiguration",
					UpdateType:    "Mutable",
				},
				"LaunchType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-launchtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Role": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-role",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServiceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-servicearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TaskDefinition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-taskdefinition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::QLDB::Ledger": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html",
			Properties: map[string]*models.Property{
				"DeletionProtection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-deletionprotection",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PermissionsMode": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::LaunchRoleConstraint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html",
			Properties: map[string]*models.Property{
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LocalRoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-localrolename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PortfolioId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::Portfolio": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"PortfolioName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DisplayName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-providername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::SecurityGroupIngress": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html",
			Properties: map[string]*models.Property{
				"CidrIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CidrIpv6": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-cidripv6",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-groupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-groupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceSecurityGroupOwnerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-sourcesecuritygroupownerid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FromPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-fromport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"IpProtocol": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-securitygroupingress-sourceprefixlistid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceSecurityGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-sourcesecuritygroupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceSecurityGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-sourcesecuritygroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ToPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-toport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Config::ConfigurationRecorder": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html#cfn-config-configurationrecorder-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RecordingGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html#cfn-config-configurationrecorder-recordinggroup",
					Type:          "RecordingGroup",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					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::DirectoryService::SimpleAD": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Alias": &models.Attribute{
					PrimitiveType: "String",
				},
				"DnsIpAddresses": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html",
			Properties: map[string]*models.Property{
				"VpcSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-vpcsettings",
					Required:      true,
					Type:          "VpcSettings",
					UpdateType:    "Immutable",
				},
				"CreateAlias": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-createalias",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EnableSso": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-enablesso",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-shortname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Size": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-size",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SSO::Assignment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html",
			Properties: map[string]*models.Property{
				"InstanceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-instancearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PermissionSetArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-permissionsetarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PrincipalId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-principalid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PrincipalType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-principaltype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"TargetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-targetid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"TargetType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-targettype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SageMaker::CodeRepository": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"CodeRepositoryName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html",
			Properties: map[string]*models.Property{
				"CodeRepositoryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-coderepositoryname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GitConfig": &models.Property{
					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::WAF::SqlInjectionMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html#cfn-waf-sqlinjectionmatchset-sqlinjectionmatchtuples",
					ItemType:      "SqlInjectionMatchTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::ApiKey": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ApiKey": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Expires": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::LaunchConfiguration": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html",
			Properties: map[string]*models.Property{
				"BlockDeviceMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-blockdevicemappings",
					ItemType:      "BlockDeviceMapping",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ClassicLinkVPCSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-classiclinkvpcsecuritygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"KeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-keyname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RamDiskId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-ramdiskid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"KernelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-kernelid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"UserData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-userdata",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AssociatePublicIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cf-as-launchconfig-associatepubip",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"LaunchConfigurationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-launchconfigurationname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PlacementTenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-placementtenancy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SpotPrice": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-spotprice",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClassicLinkVPCId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-classiclinkvpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IamInstanceProfile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-iaminstanceprofile",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ImageId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceMonitoring": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-instancemonitoring",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::Certificate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html",
			Properties: map[string]*models.Property{
				"CertificateSigningRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatesigningrequest",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-status",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"CACertificatePem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-cacertificatepem",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificateMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatemode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificatePem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatepem",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SSM::ResourceDataSync": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html",
			Properties: map[string]*models.Property{
				"S3Destination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-s3destination",
					Type:          "S3Destination",
					UpdateType:    "Immutable",
				},
				"SyncFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncformat",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SyncType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-synctype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BucketPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketprefix",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SyncName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SyncSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncsource",
					Type:          "SyncSource",
					UpdateType:    "Mutable",
				},
				"BucketRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketregion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KMSKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::StepFunctions::StateMachine": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html",
			Properties: map[string]*models.Property{
				"RoleArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"StateMachineType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TracingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration",
					Type:          "TracingConfiguration",
					UpdateType:    "Mutable",
				},
				"DefinitionS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location",
					Type:          "S3Location",
					UpdateType:    "Mutable",
				},
				"DefinitionString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionstring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefinitionSubstitutions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionsubstitutions",
					Type:          "DefinitionSubstitutions",
					UpdateType:    "Mutable",
				},
				"LoggingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration",
					Type:          "LoggingConfiguration",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags",
					DuplicatesAllowed: true,
					ItemType:          "TagsEntry",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ApiGateway::ApiKey": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html",
			Properties: map[string]*models.Property{
				"StageKeys": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-stagekeys",
					ItemType:      "StageKey",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Value": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CustomerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-customerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"GenerateDistinctId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-generatedistinctid",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SSM::Parameter": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Type": &models.Attribute{
					PrimitiveType: "String",
				},
				"Value": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html",
			Properties: map[string]*models.Property{
				"Policies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-policies",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Tier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AllowedPattern": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-allowedpattern",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-value",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DataType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-datatype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBSubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html",
			Properties: map[string]*models.Property{
				"DBSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-subnetids",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DBSubnetGroupDescription": &models.Property{
					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",
				},
			},
		},
		"AWS::RDS::DBCluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ReadEndpoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html",
			Properties: map[string]*models.Property{
				"EnableHttpEndpoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablehttpendpoint",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ReplicationSourceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-replicationsourceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AssociatedRoles": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-associatedroles",
					ItemType:      "DBClusterRole",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"EnableCloudwatchLogsExports": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablecloudwatchlogsexports",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MasterUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masterusername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DeletionProtection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-deletionprotection",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MasterUserPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masteruserpassword",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PreferredBackupWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-preferredbackupwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BacktrackWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backtrackwindow",
					PrimitiveType: "Long",
					UpdateType:    "Mutable",
				},
				"DBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SourceDBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourcedbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"UseLatestRestorableTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-uselatestrestorabletime",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"BackupRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backuprententionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StorageEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-storageencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"EnableIAMDatabaseAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enableiamdatabaseauthentication",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RestoreType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-restoretype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ScalingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-scalingconfiguration",
					Type:          "ScalingConfiguration",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-vpcsecuritygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-databasename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Engine": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SnapshotIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-snapshotidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourceregion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBClusterParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusterparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::Association": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AssociationId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html",
			Properties: map[string]*models.Property{
				"AssociationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-associationname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ComplianceSeverity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-complianceseverity",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocumentVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-documentversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScheduleExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-scheduleexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SyncCompliance": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-synccompliance",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplyOnlyAtCronInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-applyonlyatcroninterval",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AutomationTargetParameterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-automationtargetparametername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WaitForSuccessTimeoutSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-waitforsuccesstimeoutseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"InstanceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxConcurrency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxconcurrency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxErrors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxerrors",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"OutputLocation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-outputlocation",
					Type:          "InstanceAssociationOutputLocation",
					UpdateType:    "Mutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-parameters",
					ItemType:      "ParameterValues",
					Type:          "Map",
					UpdateType:    "Mutable",
				},
				"Targets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-targets",
					ItemType:      "Target",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"Alexa::ASK::Skill": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html",
			Properties: map[string]*models.Property{
				"AuthenticationConfiguration": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-vendorid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT1Click::Project": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ProjectName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html",
			Properties: map[string]*models.Property{
				"ProjectName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-projectname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PlacementTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-placementtemplate",
					Required:      true,
					Type:          "PlacementTemplate",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Deployment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-stagename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::ReplicationTask": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html",
			Properties: map[string]*models.Property{
				"CdcStartPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstartposition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MigrationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-migrationtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ReplicationTaskSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-replicationtasksettings",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TaskData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-taskdata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TableMappings": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"TargetEndpointArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-targetendpointarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"CdcStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstarttime",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"CdcStopPosition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstopposition",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplicationInstanceArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-replicationtaskidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceEndpointArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-sourceendpointarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Detective::MemberInvitation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html",
			Properties: map[string]*models.Property{
				"GraphArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-grapharn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MemberEmailAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-memberemailaddress",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MemberId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-memberid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Message": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-message",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Inspector::AssessmentTarget": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html",
			Properties: map[string]*models.Property{
				"AssessmentTargetName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html#cfn-inspector-assessmenttarget-assessmenttargetname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceGroupArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html#cfn-inspector-assessmenttarget-resourcegrouparn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::PatchBaseline": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html",
			Properties: map[string]*models.Property{
				"OperatingSystem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-operatingsystem",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RejectedPatches": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatches",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RejectedPatchesAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatchesaction",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GlobalFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-globalfilters",
					Type:          "PatchFilterGroup",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PatchGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-patchgroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ApprovalRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvalrules",
					Type:          "RuleGroup",
					UpdateType:    "Mutable",
				},
				"ApprovedPatches": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatches",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ApprovedPatchesComplianceLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchescompliancelevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApprovedPatchesEnableNonSecurity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchesenablenonsecurity",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Sources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-sources",
					ItemType:      "PatchSource",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Amplify::Domain": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DomainName": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainStatus": &models.Attribute{
					PrimitiveType: "String",
				},
				"EnableAutoSubDomain": &models.Attribute{
					PrimitiveType: "Boolean",
				},
				"StatusReason": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"AutoSubDomainCreationPatterns": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AutoSubDomainIAMRole": &models.Attribute{
					PrimitiveType: "String",
				},
				"CertificateRecord": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-domainname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"EnableAutoSubDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-enableautosubdomain",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SubDomainSettings": &models.Property{
					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",
				},
				"AppId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-appid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AutoSubDomainCreationPatterns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-autosubdomaincreationpatterns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AutoSubDomainIAMRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-autosubdomainiamrole",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Integration": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html",
			Properties: map[string]*models.Property{
				"CredentialsArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-credentialsarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TemplateSelectionExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-templateselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ContentHandlingStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-contenthandlingstrategy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationSubtype": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationsubtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationuri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TlsConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-tlsconfig",
					Type:          "TlsConfig",
					UpdateType:    "Mutable",
				},
				"RequestTemplates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requesttemplates",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"PassthroughBehavior": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-passthroughbehavior",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PayloadFormatVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-payloadformatversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requestparameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-apiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ConnectionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ConnectionType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectiontype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TimeoutInMillis": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-timeoutinmillis",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::IntegrationResponse": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html",
			Properties: map[string]*models.Property{
				"IntegrationResponseKey": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-responseparameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ResponseTemplates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-responsetemplates",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TemplateSelectionExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-templateselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-contenthandlingstrategy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IntegrationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-integrationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SecretsManager::RotationSchedule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html",
			Properties: map[string]*models.Property{
				"SecretId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-secretid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"HostedRotationLambda": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda",
					Type:          "HostedRotationLambda",
					UpdateType:    "Mutable",
				},
				"RotationLambdaARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotationlambdaarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RotationRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotationrules",
					Type:          "RotationRules",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ACMPCA::CertificateAuthority": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CertificateSigningRequest": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html",
			Properties: map[string]*models.Property{
				"Subject": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-subject",
					Required:      true,
					Type:          "Subject",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"KeyAlgorithm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-keyalgorithm",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RevocationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-revocationconfiguration",
					Type:          "RevocationConfiguration",
					UpdateType:    "Mutable",
				},
				"SigningAlgorithm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-signingalgorithm",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::NatGateway": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllocationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::VPNGatewayRoutePropagation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html",
			Properties: map[string]*models.Property{
				"RouteTableIds": &models.Property{
					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": &models.Property{
					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::CodeStarNotifications::NotificationRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html",
			Properties: map[string]*models.Property{
				"Targets": &models.Property{
					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",
				},
				"DetailType": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-tags",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CloudFront::CloudFrontOriginAccessIdentity": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"S3CanonicalUserId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html",
			Properties: map[string]*models.Property{
				"CloudFrontOriginAccessIdentityConfig": &models.Property{
					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::EC2::SubnetRouteTableAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html",
			Properties: map[string]*models.Property{
				"RouteTableId": &models.Property{
					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": &models.Property{
					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::ECS::TaskDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"TaskDefinitionArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TaskRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-taskrolearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Cpu": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-cpu",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InferenceAccelerators": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-inferenceaccelerators",
					ItemType:      "InferenceAccelerator",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Memory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-memory",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PlacementConstraints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-placementconstraints",
					ItemType:      "TaskDefinitionPlacementConstraint",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"RequiresCompatibilities": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-requirescompatibilities",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Family": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-family",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NetworkMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-networkmode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PidMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-pidmode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProxyConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-proxyconfiguration",
					Type:          "ProxyConfiguration",
					UpdateType:    "Immutable",
				},
				"ContainerDefinitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-containerdefinitions",
					ItemType:      "ContainerDefinition",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ExecutionRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-executionrolearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"IpcMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-ipcmode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Volumes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-volumes",
					ItemType:      "Volume",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IAM::Group": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html",
			Properties: map[string]*models.Property{
				"ManagedPolicyArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-managepolicyarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Policies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-policies",
					ItemType:      "Policy",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"GroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-groupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaLive::InputSecurityGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html#cfn-medialive-inputsecuritygroup-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"WhitelistRules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html#cfn-medialive-inputsecuritygroup-whitelistrules",
					ItemType:      "InputWhitelistRuleCidr",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::DBClusterParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Description": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-parameters",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RoboMaker::SimulationApplicationVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html",
			Properties: map[string]*models.Property{
				"Application": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html#cfn-robomaker-simulationapplicationversion-currentrevisionid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Model": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-schema",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-contenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Certificate": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html",
			Properties: map[string]*models.Property{
				"CertificateIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificateidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificatePem": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificatepem",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificateWallet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificatewallet",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElastiCache::ParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html",
			Properties: map[string]*models.Property{
				"Properties": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html#cfn-elasticache-parametergroup-properties",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"CacheParameterGroupFamily": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::NetworkManager::Device": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DeviceId": &models.Attribute{
					PrimitiveType: "String",
				},
				"DeviceArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GlobalNetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-globalnetworkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Model": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-model",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Vendor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-vendor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-location",
					Type:          "Location",
					UpdateType:    "Mutable",
				},
				"SerialNumber": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-serialnumber",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SiteId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-siteid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFv2::IPSet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html",
			Properties: map[string]*models.Property{
				"Scope": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Addresses": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-addresses",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IPAddressVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-ipaddressversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApplicationInsights::Application": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ApplicationARN": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CWEMonitorEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-cwemonitorenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"LogPatternSets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-logpatternsets",
					ItemType:      "LogPatternSet",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ResourceGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-resourcegroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"OpsCenterEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-opscenterenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"OpsItemSNSTopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-opsitemsnstopicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoConfigurationEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-autoconfigurationenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ComponentMonitoringSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-componentmonitoringsettings",
					ItemType:      "ComponentMonitoringSetting",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CustomComponents": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-customcomponents",
					ItemType:      "CustomComponent",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TransitGateway": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DnsSupport": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-dnssupport",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MulticastSupport": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-multicastsupport",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"VpnEcmpSupport": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-vpnecmpsupport",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DefaultRouteTableAssociation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-defaultroutetableassociation",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DefaultRouteTablePropagation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-defaultroutetablepropagation",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AmazonSideAsn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-amazonsideasn",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"AutoAcceptSharedAttachments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-autoacceptsharedattachments",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Lambda::LayerVersionPermission": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html",
			Properties: map[string]*models.Property{
				"Principal": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html#cfn-lambda-layerversionpermission-principal",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Action": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html#cfn-lambda-layerversionpermission-organizationid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppStream::Fleet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html",
			Properties: map[string]*models.Property{
				"EnableDefaultInternetAccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-enabledefaultinternetaccess",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"StreamView": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-streamview",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IamRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-iamrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IdleDisconnectTimeoutInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-idledisconnecttimeoutinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ImageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-imagename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DomainJoinInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-domainjoininfo",
					Type:          "DomainJoinInfo",
					UpdateType:    "Mutable",
				},
				"FleetType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-fleettype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ImageArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-imagearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxUserDurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-maxuserdurationinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ComputeCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-computecapacity",
					Required:      true,
					Type:          "ComputeCapacity",
					UpdateType:    "Mutable",
				},
				"DisconnectTimeoutInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-disconnecttimeoutinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DisplayName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-displayname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VpcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-vpcconfig",
					Type:          "VpcConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ConnectorDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html",
			Properties: map[string]*models.Property{
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-initialversion",
					Type:          "ConnectorDefinitionVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GlobalAccelerator::EndpointGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"EndpointGroupArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html",
			Properties: map[string]*models.Property{
				"TrafficDialPercentage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-trafficdialpercentage",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"EndpointConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointconfigurations",
					ItemType:      "EndpointConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"EndpointGroupRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointgroupregion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"HealthCheckIntervalSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckintervalseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HealthCheckPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckport",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"HealthCheckPath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckpath",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HealthCheckProtocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckprotocol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ListenerArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-listenerarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ThresholdCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-thresholdcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::NetworkInterface": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"PrimaryPrivateIpAddress": &models.Attribute{
					PrimitiveType: "String",
				},
				"SecondaryPrivateIpAddresses": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GroupSet": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-groupset",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Ipv6AddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresscount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Ipv6Addresses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresses",
					ItemType:      "InstanceIpv6Address",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"PrivateIpAddresses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddresses",
					ItemType:      "PrivateIpAddressSpecification",
					Type:          "List",
					UpdateType:    "Conditional",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"InterfaceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-interfacetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PrivateIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddress",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecondaryPrivateIpAddressCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-secondaryprivateipcount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SourceDestCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-sourcedestcheck",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-subnetid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Greengrass::ResourceDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html",
			Properties: map[string]*models.Property{
				"ResourceDefinitionId": &models.Property{
					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": &models.Property{
					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::NetworkManager::Link": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"LinkArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"LinkId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html",
			Properties: map[string]*models.Property{
				"GlobalNetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-globalnetworkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Provider": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-provider",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SiteId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-siteid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-type",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Bandwidth": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-bandwidth",
					Required:      true,
					Type:          "Bandwidth",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceDiscovery::PublicDnsNamespace": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CodeArtifact::Repository": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainName": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExternalConnections": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-externalconnections",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PermissionsPolicyDocument": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-permissionspolicydocument",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"RepositoryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-repositoryname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Upstreams": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-upstreams",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::AppConfig::Deployment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html",
			Properties: map[string]*models.Property{
				"ConfigurationProfileId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-configurationprofileid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ConfigurationVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-configurationversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DeploymentStrategyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-deploymentstrategyid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EnvironmentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-environmentid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppMesh::GatewayRoute": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
				"VirtualGatewayName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"GatewayRouteName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html",
			Properties: map[string]*models.Property{
				"GatewayRouteName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-gatewayroutename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-meshowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Spec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-spec",
					Required:      true,
					Type:          "GatewayRouteSpec",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VirtualGatewayName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-virtualgatewayname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CloudFormation::Macro": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FunctionName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-loggroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LogRoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-logrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::Component": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Encrypted": &models.Attribute{
					PrimitiveType: "Boolean",
				},
				"Type": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Immutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-version",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ChangeDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-changedescription",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-data",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Platform": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-platform",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SupportedOsVersions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-supportedosversions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Uri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-uri",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::APNSSandboxChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultAuthenticationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-defaultauthenticationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TeamId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-teamid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BundleId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-bundleid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-privatekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-tokenkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-tokenkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Resource": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html",
			Properties: map[string]*models.Property{
				"ParentId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Glue::Database": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					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": &models.Property{
					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::Logs::Destination": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html",
			Properties: map[string]*models.Property{
				"DestinationName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::OpsWorks::Layer": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StackId": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-attributes",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"CustomRecipes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customrecipes",
					Type:          "Recipes",
					UpdateType:    "Mutable",
				},
				"EnableAutoHealing": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-enableautohealing",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LoadBasedAutoScaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-loadbasedautoscaling",
					Type:          "LoadBasedAutoScaling",
					UpdateType:    "Mutable",
				},
				"CustomSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customsecuritygroupids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"LifecycleEventConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-lifecycleeventconfiguration",
					Type:          "LifecycleEventConfiguration",
					UpdateType:    "Mutable",
				},
				"Packages": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-packages",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"CustomInstanceProfileArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-custominstanceprofilearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstallUpdatesOnBoot": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-installupdatesonboot",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Shortname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-shortname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VolumeConfigurations": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-volumeconfigurations",
					DuplicatesAllowed: true,
					ItemType:          "VolumeConfiguration",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AutoAssignElasticIps": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-autoassignpublicips",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"CustomJson": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customjson",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"UseEbsOptimizedInstances": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-useebsoptimizedinstances",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::ConfigurationSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-reputationoptions",
					Type:          "ReputationOptions",
					UpdateType:    "Mutable",
				},
				"SendingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-sendingoptions",
					Type:          "SendingOptions",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TrackingOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-trackingoptions",
					Type:          "TrackingOptions",
					UpdateType:    "Mutable",
				},
				"DeliveryOptions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-deliveryoptions",
					Type:          "DeliveryOptions",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceDiscovery::PrivateDnsNamespace": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Vpc": &models.Property{
					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::EFS::FileSystem": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"FileSystemId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html",
			Properties: map[string]*models.Property{
				"BackupPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-backuppolicy",
					Type:          "BackupPolicy",
					UpdateType:    "Mutable",
				},
				"FileSystemTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemtags",
					ItemType:      "ElasticFileSystemTag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ThroughputMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-throughputmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"FileSystemPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystempolicy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LifecyclePolicies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-lifecyclepolicies",
					ItemType:      "LifecyclePolicy",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"PerformanceMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-performancemode",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProvisionedThroughputInMibps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-provisionedthroughputinmibps",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TransitGatewayRoute": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html",
			Properties: map[string]*models.Property{
				"Blackhole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-blackhole",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"DestinationCidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-destinationcidrblock",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TransitGatewayAttachmentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-transitgatewayattachmentid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TransitGatewayRouteTableId": &models.Property{
					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::Transfer::User": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ServerId": &models.Attribute{
					PrimitiveType: "String",
				},
				"UserName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html",
			Properties: map[string]*models.Property{
				"HomeDirectoryType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-homedirectorytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Policy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-policy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Role": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-role",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SshPublicKeys": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-sshpublickeys",
					ItemType:      "SshPublicKey",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"HomeDirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-homedirectory",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HomeDirectoryMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-homedirectorymappings",
					ItemType:      "HomeDirectoryMapEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ServerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-serverid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"UserName": &models.Property{
					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::CloudWatch::Dashboard": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html",
			Properties: map[string]*models.Property{
				"DashboardBody": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html#cfn-cloudwatch-dashboard-dashboardname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::VPCEndpointServicePermissions": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html",
			Properties: map[string]*models.Property{
				"AllowedPrincipals": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html#cfn-ec2-vpcendpointservicepermissions-allowedprincipals",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ServiceId": &models.Property{
					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::PinpointEmail::ConfigurationSetEventDestination": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html",
			Properties: map[string]*models.Property{
				"ConfigurationSetName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination",
					Type:          "EventDestination",
					UpdateType:    "Mutable",
				},
				"EventDestinationName": &models.Property{
					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::ServiceCatalog::TagOptionAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html",
			Properties: map[string]*models.Property{
				"ResourceId": &models.Property{
					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": &models.Property{
					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::WAFRegional::SizeConstraintSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html#cfn-wafregional-sizeconstraintset-sizeconstraints",
					ItemType:      "SizeConstraint",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPCEndpointConnectionNotification": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html",
			Properties: map[string]*models.Property{
				"ConnectionEvents": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-serviceid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VPCEndpointId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-vpcendpointid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::DMS::ReplicationSubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html",
			Properties: map[string]*models.Property{
				"ReplicationSubnetGroupDescription": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html#cfn-dms-replicationsubnetgroup-replicationsubnetgroupidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html#cfn-dms-replicationsubnetgroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EKS::Cluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CertificateAuthorityData": &models.Attribute{
					PrimitiveType: "String",
				},
				"ClusterSecurityGroupId": &models.Attribute{
					PrimitiveType: "String",
				},
				"EncryptionConfigKeyArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html",
			Properties: map[string]*models.Property{
				"EncryptionConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-encryptionconfig",
					ItemType:      "EncryptionConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"KubernetesNetworkConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-kubernetesnetworkconfig",
					Type:          "KubernetesNetworkConfig",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourcesVpcConfig": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::Environment": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"EndpointURL": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html",
			Properties: map[string]*models.Property{
				"VersionLabel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-versionlabel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CNAMEPrefix": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-cnameprefix",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnvironmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"OptionSettings": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-optionsettings",
					DuplicatesAllowed: true,
					ItemType:          "OptionSetting",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PlatformArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-platformarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-templatename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-tier",
					Type:          "Tier",
					UpdateType:    "Conditional",
				},
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-applicationname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SolutionStackName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-solutionstackname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-elasticbeanstalk-environment-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Greengrass::DeviceDefinition": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html",
			Properties: map[string]*models.Property{
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-initialversion",
					Type:          "DeviceDefinitionVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RAM::ResourceShare": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html",
			Properties: map[string]*models.Property{
				"AllowExternalPrincipals": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-allowexternalprincipals",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-principals",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ResourceArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-resourcearns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTask": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Priority": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-servicerolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Targets": &models.Property{
					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",
				},
				"TaskInvocationParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters",
					Type:          "TaskInvocationParameters",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxConcurrency": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxerrors",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TaskArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TaskParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskparameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TaskType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-tasktype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"WindowId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-windowid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LoggingInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-logginginfo",
					Type:          "LoggingInfo",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AmazonMQ::Broker": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ConfigurationRevision": &models.Attribute{
					PrimitiveType: "Integer",
				},
				"IpAddresses": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"OpenWireEndpoints": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"StompEndpoints": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConfigurationId": &models.Attribute{
					PrimitiveType: "String",
				},
				"MqttEndpoints": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"WssEndpoints": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"AmqpEndpoints": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html",
			Properties: map[string]*models.Property{
				"PubliclyAccessible": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-publiclyaccessible",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AuthenticationStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-authenticationstrategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-autominorversionupgrade",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-configuration",
					Type:          "ConfigurationId",
					UpdateType:    "Mutable",
				},
				"DeploymentMode": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-encryptionoptions",
					Type:          "EncryptionOptions",
					UpdateType:    "Immutable",
				},
				"LdapMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapmetadata",
					Type:          "LdapMetadata",
					UpdateType:    "Mutable",
				},
				"LdapServerMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-ldapservermetadata",
					Type:          "LdapServerMetadata",
					UpdateType:    "Mutable",
				},
				"EngineVersion": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-logs",
					Type:          "LogList",
					UpdateType:    "Mutable",
				},
				"StorageType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-storagetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-subnetids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"EngineType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-enginetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"BrokerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-brokername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MaintenanceWindowStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-maintenancewindowstarttime",
					Type:          "MaintenanceWindow",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-tags",
					ItemType:      "TagsEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Users": &models.Property{
					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::AppConfig::Application": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html#cfn-appconfig-application-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html#cfn-appconfig-application-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html#cfn-appconfig-application-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPNConnection": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html",
			Properties: map[string]*models.Property{
				"VpnGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-vpngatewayid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpnTunnelOptionsSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-vpntunneloptionsspecifications",
					ItemType:      "VpnTunnelOptionsSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"CustomerGatewayId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-StaticRoutesOnly",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TransitGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-transitgatewayid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					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",
				},
			},
		},
		"AWS::ApiGateway::VpcLink": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html",
			Properties: map[string]*models.Property{
				"TargetArns": &models.Property{
					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",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SDB::Domain": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-simpledb.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-simpledb.html#cfn-sdb-domain-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::RDS::OptionGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html",
			Properties: map[string]*models.Property{
				"OptionGroupDescription": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"EngineName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::EC2::NetworkAclEntry": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html",
			Properties: map[string]*models.Property{
				"Icmp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-icmp",
					Type:          "Icmp",
					UpdateType:    "Mutable",
				},
				"Ipv6CidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-ipv6cidrblock",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkAclId": &models.Property{
					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",
				},
				"RuleNumber": &models.Property{
					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",
				},
				"CidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-cidrblock",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Egress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-egress",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"PortRange": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-portrange",
					Type:          "PortRange",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::GuardDuty::Detector": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html",
			Properties: map[string]*models.Property{
				"DataSources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html#cfn-guardduty-detector-datasources",
					Type:          "CFNDataSourceConfigurations",
					UpdateType:    "Mutable",
				},
				"Enable": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html#cfn-guardduty-detector-findingpublishingfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::LakeFormation::Permissions": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html",
			Properties: map[string]*models.Property{
				"PermissionsWithGrantOption": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-permissionswithgrantoption",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Resource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-resource",
					Required:      true,
					Type:          "Resource",
					UpdateType:    "Mutable",
				},
				"DataLakePrincipal": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-permissions",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ManagedBlockchain::Node": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MemberId": &models.Attribute{
					PrimitiveType: "String",
				},
				"NetworkId": &models.Attribute{
					PrimitiveType: "String",
				},
				"NodeId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html",
			Properties: map[string]*models.Property{
				"MemberId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Route53Resolver::ResolverRuleAssociation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResolverRuleAssociationId": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResolverRuleId": &models.Attribute{
					PrimitiveType: "String",
				},
				"VPCId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResolverRuleId": &models.Property{
					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": &models.Property{
					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::WAF::IPSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html",
			Properties: map[string]*models.Property{
				"IPSetDescriptors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html#cfn-waf-ipset-ipsetdescriptors",
					ItemType:      "IPSetDescriptor",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::ApiGatewayV2::DomainName": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"RegionalHostedZoneId": &models.Attribute{
					PrimitiveType: "String",
				},
				"RegionalDomainName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainnameconfigurations",
					ItemType:      "DomainNameConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MutualTlsAuthentication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication",
					Type:          "MutualTlsAuthentication",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ImageBuilder::DistributionConfiguration": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html",
			Properties: map[string]*models.Property{
				"Distributions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-distributions",
					ItemType:      "Distribution",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::Policy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html",
			Properties: map[string]*models.Property{
				"PolicyDocument": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html#cfn-iot-policy-policyname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::DataCatalogEncryptionSettings": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html",
			Properties: map[string]*models.Property{
				"DataCatalogEncryptionSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings",
					Required:      true,
					Type:          "DataCatalogEncryptionSettings",
					UpdateType:    "Mutable",
				},
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-catalogid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::GameLift::Script": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StorageLocation": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::FunctionDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html",
			Properties: map[string]*models.Property{
				"DefaultConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-defaultconfig",
					Type:          "DefaultConfig",
					UpdateType:    "Immutable",
				},
				"FunctionDefinitionId": &models.Property{
					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": &models.Property{
					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::MediaConvert::JobTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html",
			Properties: map[string]*models.Property{
				"AccelerationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-accelerationsettings",
					Type:          "AccelerationSettings",
					UpdateType:    "Mutable",
				},
				"Category": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-category",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HopDestinations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-hopdestinations",
					ItemType:      "HopDestination",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SettingsJson": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-settingsjson",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Priority": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-priority",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Queue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-queue",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StatusUpdateInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-statusupdateinterval",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Neptune::DBParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Parameters": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSO::PermissionSet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"PermissionSetArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html",
			Properties: map[string]*models.Property{
				"SessionDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-sessionduration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InlinePolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-inlinepolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-instancearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ManagedPolicies": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-managedpolicies",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RelayStateType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html#cfn-sso-permissionset-relaystatetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Budgets::Budget": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html",
			Properties: map[string]*models.Property{
				"Budget": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html#cfn-budgets-budget-notificationswithsubscribers",
					ItemType:      "NotificationWithSubscribers",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Config::ConfigRule": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ConfigRuleId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Compliance.Type": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html",
			Properties: map[string]*models.Property{
				"MaximumExecutionFrequency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-maximumexecutionfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-scope",
					Type:          "Scope",
					UpdateType:    "Mutable",
				},
				"Source": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-source",
					Required:      true,
					Type:          "Source",
					UpdateType:    "Mutable",
				},
				"ConfigRuleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-configrulename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-inputparameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::MLTransform": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html",
			Properties: map[string]*models.Property{
				"WorkerType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-workertype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxcapacity",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MaxRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxretries",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumberOfWorkers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-numberofworkers",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Role": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-role",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TransformParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformparameters",
					Required:      true,
					Type:          "TransformParameters",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GlueVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-glueversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InputRecordTables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-inputrecordtables",
					Required:      true,
					Type:          "InputRecordTables",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::NetworkManager::TransitGatewayRegistration": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html",
			Properties: map[string]*models.Property{
				"GlobalNetworkId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-globalnetworkid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"TransitGatewayArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-transitgatewayarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Timestream::Table": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html",
			Properties: map[string]*models.Property{
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-databasename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RetentionProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-retentionproperties",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TableName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-tablename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticLoadBalancingV2::ListenerCertificate": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html",
			Properties: map[string]*models.Property{
				"ListenerArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html#cfn-elasticloadbalancingv2-listenercertificate-listenerarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Certificates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html#cfn-elasticloadbalancingv2-listenercertificate-certificates",
					ItemType:      "Certificate",
					Required:      true,
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::SecurityGroupEgress": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html",
			Properties: map[string]*models.Property{
				"GroupId": &models.Property{
					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",
				},
				"ToPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-toport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationSecurityGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-destinationsecuritygroupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DestinationPrefixListId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-destinationprefixlistid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FromPort": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-fromport",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"IpProtocol": &models.Property{
					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",
				},
				"CidrIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CidrIpv6": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-cidripv6",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElastiCache::SecurityGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					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::Kendra::Index": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html",
			Properties: map[string]*models.Property{
				"ServerSideEncryptionConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-serversideencryptionconfiguration",
					Type:          "ServerSideEncryptionConfiguration",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-tags",
					Type:          "TagList",
					UpdateType:    "Mutable",
				},
				"CapacityUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-capacityunits",
					Type:          "CapacityUnitsConfiguration",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocumentMetadataConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-documentmetadataconfigurations",
					Type:          "DocumentMetadataConfigurationList",
					UpdateType:    "Mutable",
				},
				"Edition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-edition",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::DocumentationPart": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html",
			Properties: map[string]*models.Property{
				"Location": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Pinpoint::SMSChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SenderId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-senderid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ShortCode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-shortcode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::SmsTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html",
			Properties: map[string]*models.Property{
				"Body": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-defaultsubstitutions",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"TemplateDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-templatedescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TemplateName": &models.Property{
					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::WAFRegional::GeoMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html",
			Properties: map[string]*models.Property{
				"GeoMatchConstraints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html#cfn-wafregional-geomatchset-geomatchconstraints",
					ItemType:      "GeoMatchConstraint",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::EMR::InstanceFleetConfig": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html",
			Properties: map[string]*models.Property{
				"TargetSpotCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-targetspotcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ClusterId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfigs",
					ItemType:      "InstanceTypeConfig",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"LaunchSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-launchspecifications",
					Type:          "InstanceFleetProvisioningSpecifications",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TargetOnDemandCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-targetondemandcapacity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Synthetics::Canary": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"State": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html",
			Properties: map[string]*models.Property{
				"Code": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-code",
					Required:      true,
					Type:          "Code",
					UpdateType:    "Mutable",
				},
				"FailureRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-failureretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RunConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runconfig",
					Type:          "RunConfig",
					UpdateType:    "Mutable",
				},
				"RuntimeVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runtimeversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"StartCanaryAfterCreation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-startcanaryaftercreation",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ArtifactS3Location": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-artifacts3location",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VPCConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-vpcconfig",
					Type:          "VPCConfig",
					UpdateType:    "Mutable",
				},
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-schedule",
					Required:      true,
					Type:          "Schedule",
					UpdateType:    "Mutable",
				},
				"SuccessRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-successretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ExecutionRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-executionrolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFormation::Stack": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html",
			Properties: map[string]*models.Property{
				"Parameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-parameters",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TemplateURL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TimeoutInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-timeoutinminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"NotificationARNs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-notificationarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ECR::Repository": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html",
			Properties: map[string]*models.Property{
				"ImageScanningConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-imagescanningconfiguration",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ImageTagMutability": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-imagetagmutability",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LifecyclePolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy",
					Type:          "LifecyclePolicy",
					UpdateType:    "Mutable",
				},
				"RepositoryName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositoryname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RepositoryPolicyText": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositorypolicytext",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoT::ThingPrincipalAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html",
			Properties: map[string]*models.Property{
				"Principal": &models.Property{
					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": &models.Property{
					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::OpsWorks::App": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html",
			Properties: map[string]*models.Property{
				"EnableSsl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-enablessl",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Environment": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-environment",
					DuplicatesAllowed: true,
					ItemType:          "EnvironmentVariable",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"StackId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AppSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-appsource",
					Type:          "Source",
					UpdateType:    "Mutable",
				},
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-attributes",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"DataSources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-datasources",
					ItemType:      "DataSource",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Domains": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-domains",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-shortname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SslConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-sslconfiguration",
					Type:          "SslConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Pinpoint::ADMChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html#cfn-pinpoint-admchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EIP": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AllocationId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html",
			Properties: map[string]*models.Property{
				"Domain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-domain",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PublicIpv4Pool": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-publicipv4pool",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Detective::Graph": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html",
			Properties:    map[string]*models.Property{},
		},
		"AWS::EC2::CustomerGateway": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html",
			Properties: map[string]*models.Property{
				"BgpAsn": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html#cfn-ec2-customergateway-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Type": &models.Property{
					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::Inspector::AssessmentTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html",
			Properties: map[string]*models.Property{
				"RulesPackageArns": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-userattributesforfindings",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"AssessmentTargetArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-assessmenttemplatename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DurationInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-durationinseconds",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::MediaConvert::Queue": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PricingPlan": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-pricingplan",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::MonitoringSchedule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html",
			Properties: map[string]*models.Property{
				"LastModifiedTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-lastmodifiedtime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LastMonitoringExecutionSummary": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-lastmonitoringexecutionsummary",
					Type:          "MonitoringExecutionSummary",
					UpdateType:    "Mutable",
				},
				"MonitoringScheduleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MonitoringScheduleConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig",
					Required:      true,
					Type:          "MonitoringScheduleConfig",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CreationTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-creationtime",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndpointName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-endpointname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FailureReason": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-failurereason",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MonitoringScheduleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MonitoringScheduleStatus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html#cfn-sagemaker-monitoringschedule-monitoringschedulestatus",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::CapacityReservation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Tenancy": &models.Attribute{
					PrimitiveType: "String",
				},
				"TotalInstanceCount": &models.Attribute{
					PrimitiveType: "Integer",
				},
				"AvailabilityZone": &models.Attribute{
					PrimitiveType: "String",
				},
				"AvailableInstanceCount": &models.Attribute{
					PrimitiveType: "Integer",
				},
				"InstanceType": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html",
			Properties: map[string]*models.Property{
				"TagSpecifications": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tagspecifications",
					ItemType:      "TagSpecification",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"Tenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tenancy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EndDateType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddatetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EphemeralStorage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ephemeralstorage",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"InstanceCount": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancematchcriteria",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AvailabilityZone": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"EndDate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstancePlatform": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instanceplatform",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ApiGatewayV2::RouteResponse": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-modelselectionexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResponseModels": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-responsemodels",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ResponseParameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-responseparameters",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"RouteId": &models.Property{
					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": &models.Property{
					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::ElastiCache::CacheCluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"RedisEndpoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"RedisEndpoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConfigurationEndpoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConfigurationEndpoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html",
			Properties: map[string]*models.Property{
				"PreferredAvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"SnapshotArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"SnapshotWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AZMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-azmode",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"Engine": &models.Property{
					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",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-port",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"ClusterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-clustername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SnapshotName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SnapshotRetentionLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotretentionlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-autominorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"CacheParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cacheparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheSecurityGroupNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesecuritygroupnames",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumCacheNodes": &models.Property{
					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",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-vpcsecuritygroupids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PreferredAvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheNodeType": &models.Property{
					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",
				},
				"CacheSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NotificationTopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-notificationtopicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Events::EventBus": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"Policy": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html",
			Properties: map[string]*models.Property{
				"EventSourceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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::ApiGateway::Method": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html",
			Properties: map[string]*models.Property{
				"ApiKeyRequired": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AuthorizationScopes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"HttpMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-httpmethod",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MethodResponses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-methodresponses",
					ItemType:      "MethodResponse",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OperationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-operationname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RequestModels": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestmodels",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"RequestParameters": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters",
					PrimitiveItemType: "Boolean",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"AuthorizationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Integration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-integration",
					Type:          "Integration",
					UpdateType:    "Mutable",
				},
				"RequestValidatorId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestvalidatorid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceId": &models.Property{
					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": &models.Property{
					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::Cognito::UserPoolResourceServer": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html",
			Properties: map[string]*models.Property{
				"Identifier": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-scopes",
					ItemType:      "ResourceServerScopeType",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"UserPoolId": &models.Property{
					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::Config::ConfigurationAggregator": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html",
			Properties: map[string]*models.Property{
				"AccountAggregationSources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html#cfn-config-configurationaggregator-accountaggregationsources",
					ItemType:      "AccountAggregationSource",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ConfigurationAggregatorName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html#cfn-config-configurationaggregator-organizationaggregationsource",
					Type:          "OrganizationAggregationSource",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html#cfn-config-configurationaggregator-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53::HostedZone": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"NameServers": &models.Attribute{
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html",
			Properties: map[string]*models.Property{
				"QueryLoggingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-queryloggingconfig",
					Type:          "QueryLoggingConfig",
					UpdateType:    "Mutable",
				},
				"VPCs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-vpcs",
					ItemType:      "VPC",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"HostedZoneConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzoneconfig",
					Type:          "HostedZoneConfig",
					UpdateType:    "Mutable",
				},
				"HostedZoneTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzonetags",
					ItemType:      "HostedZoneTag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppConfig::ConfigurationProfile": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LocationUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-locationuri",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RetrievalRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-retrievalrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Validators": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-validators",
					ItemType:      "Validators",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Job": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"MaxCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxcapacity",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"SecurityConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-securityconfiguration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExecutionProperty": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-executionproperty",
					Type:          "ExecutionProperty",
					UpdateType:    "Mutable",
				},
				"GlueVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-glueversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MaxRetries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxretries",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"NotificationProperty": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-notificationproperty",
					Type:          "NotificationProperty",
					UpdateType:    "Mutable",
				},
				"NumberOfWorkers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-numberofworkers",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Role": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-role",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AllocatedCapacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-allocatedcapacity",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Connections": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-connections",
					Type:          "ConnectionsList",
					UpdateType:    "Mutable",
				},
				"LogUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-loguri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"WorkerType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultArguments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-defaultarguments",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Command": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-command",
					Required:      true,
					Type:          "JobCommand",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Stack": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html",
			Properties: map[string]*models.Property{
				"DefaultOs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultos",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UseOpsworksSecurityGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-useopsworkssecuritygroups",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AgentVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-agentversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CloneAppIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-cloneappids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"DefaultInstanceProfileArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultinstanceprof",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ElasticIps": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-elasticips",
					ItemType:      "ElasticIp",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"HostnameTheme": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-hostnametheme",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RdsDbInstances": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-rdsdbinstances",
					ItemType:      "RdsDbInstance",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ServiceRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-servicerolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Attributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-attributes",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"ConfigurationManager": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-configmanager",
					Type:          "StackConfigurationManager",
					UpdateType:    "Mutable",
				},
				"EcsClusterArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-ecsclusterarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"UseCustomCookbooks": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#usecustcookbooks",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ClonePermissions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-clonepermissions",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"CustomJson": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-custjson",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"SourceStackId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-sourcestackid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DefaultRootDeviceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultrootdevicetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultSshKeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultsshkeyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DefaultSubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#defaultsubnet",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-vpcid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ChefConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-chefconfiguration",
					Type:          "ChefConfiguration",
					UpdateType:    "Mutable",
				},
				"CustomCookbooksSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-custcookbooksource",
					Type:          "Source",
					UpdateType:    "Mutable",
				},
				"DefaultAvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultaz",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Backup::BackupSelection": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"BackupPlanId": &models.Attribute{
					PrimitiveType: "String",
				},
				"SelectionId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html",
			Properties: map[string]*models.Property{
				"BackupPlanId": &models.Property{
					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": &models.Property{
					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::EC2::InternetGateway": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html#cfn-ec2-internetgateway-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::LaunchTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"LatestVersionNumber": &models.Attribute{
					PrimitiveType: "String",
				},
				"DefaultVersionNumber": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html",
			Properties: map[string]*models.Property{
				"LaunchTemplateData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatedata",
					Type:          "LaunchTemplateData",
					UpdateType:    "Mutable",
				},
				"LaunchTemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::NetworkInterfacePermission": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html",
			Properties: map[string]*models.Property{
				"AwsAccountId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::EFS::AccessPoint": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AccessPointId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html",
			Properties: map[string]*models.Property{
				"AccessPointTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-accesspointtags",
					ItemType:      "AccessPointTag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ClientToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-clienttoken",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FileSystemId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-filesystemid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PosixUser": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-posixuser",
					Type:          "PosixUser",
					UpdateType:    "Immutable",
				},
				"RootDirectory": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-rootdirectory",
					Type:          "RootDirectory",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Glue::Table": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Greengrass::GroupVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html",
			Properties: map[string]*models.Property{
				"DeviceDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FunctionDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"GroupId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubscriptionDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ConnectorDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CoreDefinitionVersionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SageMaker::EndpointConfig": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"EndpointConfigName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html",
			Properties: map[string]*models.Property{
				"DataCaptureConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig",
					Type:          "DataCaptureConfig",
					UpdateType:    "Immutable",
				},
				"EndpointConfigName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-endpointconfigname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ProductionVariants": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::DataSource": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"DataSourceArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-apiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LambdaConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-lambdaconfig",
					Type:          "LambdaConfig",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"HttpConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-httpconfig",
					Type:          "HttpConfig",
					UpdateType:    "Mutable",
				},
				"RelationalDatabaseConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-relationaldatabaseconfig",
					Type:          "RelationalDatabaseConfig",
					UpdateType:    "Mutable",
				},
				"ServiceRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DynamoDBConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-dynamodbconfig",
					Type:          "DynamoDBConfig",
					UpdateType:    "Mutable",
				},
				"ElasticsearchConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-elasticsearchconfig",
					Type:          "ElasticsearchConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::TagOption": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html",
			Properties: map[string]*models.Property{
				"Active": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html#cfn-servicecatalog-tagoption-active",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Key": &models.Property{
					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": &models.Property{
					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::WAFv2::RuleGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html",
			Properties: map[string]*models.Property{
				"VisibilityConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-visibilityconfig",
					Required:      true,
					Type:          "VisibilityConfig",
					UpdateType:    "Mutable",
				},
				"Capacity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-capacity",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Rules": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-rules",
					ItemType:      "Rule",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Scope": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::Trigger": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html",
			Properties: map[string]*models.Property{
				"Actions": &models.Property{
					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",
				},
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-schedule",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StartOnCreation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-startoncreation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"WorkflowName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-workflowname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Predicate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-predicate",
					Type:          "Predicate",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DocDB::DBCluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ClusterResourceId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
				"Port": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReadEndpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html",
			Properties: map[string]*models.Property{
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StorageEncrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"BackupRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"DBSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EnableCloudwatchLogsExports": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-enablecloudwatchlogsexports",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SnapshotIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MasterUserPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PreferredBackupWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MasterUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"DBClusterParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeletionProtection": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-deletionprotection",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::PlacementGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html",
			Properties: map[string]*models.Property{
				"Strategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-strategy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ElasticLoadBalancing::LoadBalancer": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"SourceSecurityGroup.OwnerAlias": &models.Attribute{
					PrimitiveType: "String",
				},
				"CanonicalHostedZoneName": &models.Attribute{
					PrimitiveType: "String",
				},
				"CanonicalHostedZoneNameID": &models.Attribute{
					PrimitiveType: "String",
				},
				"DNSName": &models.Attribute{
					PrimitiveType: "String",
				},
				"SourceSecurityGroup.GroupName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html",
			Properties: map[string]*models.Property{
				"HealthCheck": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-healthcheck",
					Type:          "HealthCheck",
					UpdateType:    "Conditional",
				},
				"LBCookieStickinessPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-lbcookiestickinesspolicy",
					ItemType:      "LBCookieStickinessPolicy",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"LoadBalancerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-elbname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AccessLoggingPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-accessloggingpolicy",
					Type:          "AccessLoggingPolicy",
					UpdateType:    "Mutable",
				},
				"ConnectionSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectionsettings",
					Type:          "ConnectionSettings",
					UpdateType:    "Mutable",
				},
				"Scheme": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-scheme",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-availabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"ConnectionDrainingPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectiondrainingpolicy",
					Type:          "ConnectionDrainingPolicy",
					UpdateType:    "Mutable",
				},
				"Policies": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-policies",
					ItemType:      "Policies",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-elasticloadbalancing-loadbalancer-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Instances": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-instances",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Listeners": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-listeners",
					ItemType:      "Listeners",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-securitygroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Subnets": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-subnets",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Conditional",
				},
				"AppCookieStickinessPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-appcookiestickinesspolicy",
					ItemType:      "AppCookieStickinessPolicy",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"CrossZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-crosszone",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Glue::SecurityConfiguration": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html",
			Properties: map[string]*models.Property{
				"EncryptionConfiguration": &models.Property{
					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": &models.Property{
					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::GuardDuty::ThreatIntelSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Activate": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-location",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Macie::Session": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AwsAccountId": &models.Attribute{
					PrimitiveType: "String",
				},
				"ServiceRole": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html",
			Properties: map[string]*models.Property{
				"FindingPublishingFrequency": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html#cfn-macie-session-findingpublishingfrequency",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html#cfn-macie-session-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaConvert::Preset": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html",
			Properties: map[string]*models.Property{
				"Category": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-category",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SettingsJson": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Chatbot::SlackChannelConfiguration": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html",
			Properties: map[string]*models.Property{
				"ConfigurationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-configurationname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"IamRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-iamrolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"LoggingLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-logginglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SlackChannelId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackchannelid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SlackWorkspaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackworkspaceid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SnsTopicArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-snstopicarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::EIPAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html",
			Properties: map[string]*models.Property{
				"NetworkInterfaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-networkinterfaceid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"PrivateIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-PrivateIpAddress",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AllocationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-allocationid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"EIP": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-eip",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"InstanceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
			},
		},
		"AWS::Glue::Connection": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html",
			Properties: map[string]*models.Property{
				"CatalogId": &models.Property{
					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": &models.Property{
					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::Lambda::Permission": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html",
			Properties: map[string]*models.Property{
				"EventSourceToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-eventsourcetoken",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FunctionName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-sourceaccount",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-sourcearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-action",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Neptune::DBInstance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
				"Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html",
			Properties: map[string]*models.Property{
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBInstanceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbinstanceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DBSnapshotIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbsnapshotidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AllowMajorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-allowmajorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-autominorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DBClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DBInstanceClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbinstanceclass",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorks::Instance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"PrivateIp": &models.Attribute{
					PrimitiveType: "String",
				},
				"PublicDnsName": &models.Attribute{
					PrimitiveType: "String",
				},
				"PublicIp": &models.Attribute{
					PrimitiveType: "String",
				},
				"AvailabilityZone": &models.Attribute{
					PrimitiveType: "String",
				},
				"PrivateDnsName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html",
			Properties: map[string]*models.Property{
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-tenancy",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TimeBasedAutoScaling": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-timebasedautoscaling",
					Type:          "TimeBasedAutoScaling",
					UpdateType:    "Immutable",
				},
				"AgentVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-agentversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BlockDeviceMappings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-blockdevicemappings",
					ItemType:      "BlockDeviceMapping",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"InstanceType": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-os",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"VirtualizationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-virtualizationtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AmiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-amiid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Architecture": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-architecture",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EbsOptimized": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-ebsoptimized",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"RootDeviceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-rootdevicetype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AutoScalingType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-autoscalingtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ElasticIps": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-elasticips",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Volumes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-volumes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Hostname": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-hostname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstallUpdatesOnBoot": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-installupdatesonboot",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SshKeyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-sshkeyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StackId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-stackid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::RDS::DBProxyTargetGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"TargetGroupArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html",
			Properties: map[string]*models.Property{
				"ConnectionPoolConfigurationInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfo",
					Type:          "ConnectionPoolConfigurationInfoFormat",
					UpdateType:    "Mutable",
				},
				"DBClusterIdentifiers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbclusteridentifiers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DBInstanceIdentifiers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbinstanceidentifiers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DBProxyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbproxyname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"TargetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-targetgroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AmazonMQ::Configuration": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"Revision": &models.Attribute{
					PrimitiveType: "Integer",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EngineType": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-tags",
					ItemType:      "TagsEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Data": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-data",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::Webhook": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Url": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html",
			Properties: map[string]*models.Property{
				"RegisterWithThirdParty": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-registerwiththirdparty",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"TargetAction": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-targetpipelineversion",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Authentication": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::VPNGateway": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html#cfn-ec2-vpngateway-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Type": &models.Property{
					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",
				},
				"AmazonSideAsn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html#cfn-ec2-vpngateway-amazonsideasn",
					PrimitiveType: "Long",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IAM::User": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html",
			Properties: map[string]*models.Property{
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PermissionsBoundary": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-permissionsboundary",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Policies": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-policies",
					DuplicatesAllowed: true,
					ItemType:          "Policy",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"UserName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-username",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Groups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-groups",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"LoginProfile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-loginprofile",
					Type:          "LoginProfile",
					UpdateType:    "Mutable",
				},
				"ManagedPolicyArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-managepolicyarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::RDS::EventSubscription": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html",
			Properties: map[string]*models.Property{
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EventCategories": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-eventcategories",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SnsTopicArn": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-sourceids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-sourcetype",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
			},
		},
		"AWS::AppMesh::VirtualGateway": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
				"VirtualGatewayName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html",
			Properties: map[string]*models.Property{
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-meshowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Spec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-spec",
					Required:      true,
					Type:          "VirtualGatewaySpec",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VirtualGatewayName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-virtualgatewayname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::PrefixList": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"OwnerId": &models.Attribute{
					PrimitiveType: "String",
				},
				"PrefixListId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Version": &models.Attribute{
					PrimitiveType: "Integer",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html",
			Properties: map[string]*models.Property{
				"AddressFamily": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-addressfamily",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Entries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-entries",
					ItemType:      "Entry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MaxEntries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-maxentries",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"PrefixListName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-prefixlistname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ECS::TaskSet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html",
			Properties: map[string]*models.Property{
				"NetworkConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-networkconfiguration",
					Type:          "NetworkConfiguration",
					UpdateType:    "Immutable",
				},
				"PlatformVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-platformversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Scale": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-scale",
					Type:          "Scale",
					UpdateType:    "Mutable",
				},
				"Service": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-service",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"TaskDefinition": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-taskdefinition",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Cluster": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-cluster",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LaunchType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-launchtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LoadBalancers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-loadbalancers",
					ItemType:      "LoadBalancer",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ServiceRegistries": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-serviceregistries",
					ItemType:      "ServiceRegistry",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ExternalId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-externalid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::OpsWorks::UserProfile": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"SshUsername": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html",
			Properties: map[string]*models.Property{
				"AllowSelfManagement": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-allowselfmanagement",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IamUserArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-sshpublickey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SshUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-sshusername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::MaintenanceWindowTarget": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html",
			Properties: map[string]*models.Property{
				"OwnerInformation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-ownerinformation",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceType": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-windowid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnAuthorizationRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html",
			Properties: map[string]*models.Property{
				"AccessGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-accessgroupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AuthorizeAllGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-authorizeallgroups",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ClientVpnEndpointId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"TargetNetworkCidr": &models.Property{
					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::Cassandra::Keyspace": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html",
			Properties: map[string]*models.Property{
				"KeyspaceName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html",
			Properties: map[string]*models.Property{
				"ReferenceDataSource": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource",
					Required:      true,
					Type:          "ReferenceDataSource",
					UpdateType:    "Mutable",
				},
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-applicationname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::Campaign": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"CampaignId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html",
			Properties: map[string]*models.Property{
				"Schedule": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-schedule",
					Required:      true,
					Type:          "Schedule",
					UpdateType:    "Mutable",
				},
				"TreatmentDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-treatmentdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AdditionalTreatments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-additionaltreatments",
					ItemType:      "WriteTreatmentResource",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SegmentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-segmentid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TreatmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-treatmentname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MessageConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-messageconfiguration",
					Required:      true,
					Type:          "MessageConfiguration",
					UpdateType:    "Mutable",
				},
				"IsPaused": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-ispaused",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HoldoutPercent": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-holdoutpercent",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SegmentVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-segmentversion",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CampaignHook": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-campaignhook",
					Type:          "CampaignHook",
					UpdateType:    "Mutable",
				},
				"Limits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-limits",
					Type:          "Limits",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Transfer::Server": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ServerId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html",
			Properties: map[string]*models.Property{
				"SecurityPolicyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-securitypolicyname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndpointType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-endpointtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IdentityProviderType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-identityprovidertype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LoggingRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-loggingrole",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Protocols": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocols",
					ItemType:      "Protocol",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"EndpointDetails": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-endpointdetails",
					Type:          "EndpointDetails",
					UpdateType:    "Mutable",
				},
				"IdentityProviderDetails": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-identityproviderdetails",
					Type:          "IdentityProviderDetails",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ACMPCA::CertificateAuthorityActivation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"CompleteCertificateChain": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html",
			Properties: map[string]*models.Property{
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-certificate",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"CertificateAuthorityArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-certificateauthorityarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"CertificateChain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-certificatechain",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Status": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-status",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::ScalingPolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html",
			Properties: map[string]*models.Property{
				"AdjustmentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-adjustmenttype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoScalingGroupName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-cooldown",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EstimatedInstanceWarmup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-estimatedinstancewarmup",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"StepAdjustments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-stepadjustments",
					ItemType:      "StepAdjustment",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MetricAggregationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-metricaggregationtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MinAdjustmentMagnitude": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-minadjustmentmagnitude",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PolicyType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-policytype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ScalingAdjustment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-scalingadjustment",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"TargetTrackingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration",
					Type:          "TargetTrackingConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::ConnectorDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html",
			Properties: map[string]*models.Property{
				"ConnectorDefinitionId": &models.Property{
					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": &models.Property{
					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::DeviceDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html",
			Properties: map[string]*models.Property{
				"DeviceDefinitionId": &models.Property{
					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": &models.Property{
					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::IAM::Policy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html",
			Properties: map[string]*models.Property{
				"Users": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-users",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Groups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-groups",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PolicyDocument": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-roles",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Kinesis::Stream": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RetentionPeriodHours": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-retentionperiodhours",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ShardCount": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-streamencryption",
					Type:          "StreamEncryption",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Lambda::Function": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html",
			Properties: map[string]*models.Property{
				"Role": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-role",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DeadLetterConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-deadletterconfig",
					Type:          "DeadLetterConfig",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FileSystemConfigs": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs",
					ItemType:      "FileSystemConfig",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"FunctionName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KmsKeyArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Timeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Handler": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ReservedConcurrentExecutions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VpcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-vpcconfig",
					Type:          "VpcConfig",
					UpdateType:    "Mutable",
				},
				"Code": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code",
					Required:      true,
					Type:          "Code",
					UpdateType:    "Mutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-environment",
					Type:          "Environment",
					UpdateType:    "Mutable",
				},
				"Layers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MemorySize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Runtime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TracingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig",
					Type:          "TracingConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SageMaker::Workteam": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"WorkteamName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html",
			Properties: map[string]*models.Property{
				"MemberDefinitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-memberdefinitions",
					ItemType:      "MemberDefinition",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"NotificationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-notificationconfiguration",
					Type:          "NotificationConfiguration",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"WorkteamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-workteamname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::StackUserAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html",
			Properties: map[string]*models.Property{
				"StackName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-username",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AuthenticationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-sendemailnotification",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::StepFunctions::Activity": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html#cfn-stepfunctions-activity-tags",
					ItemType:      "TagsEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::MediaLive::Channel": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Inputs": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html",
			Properties: map[string]*models.Property{
				"ChannelClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-channelclass",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EncoderSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-encodersettings",
					Type:          "EncoderSettings",
					UpdateType:    "Mutable",
				},
				"InputSpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-inputspecification",
					Type:          "InputSpecification",
					UpdateType:    "Mutable",
				},
				"LogLevel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-loglevel",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Destinations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-destinations",
					ItemType:      "OutputDestination",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"InputAttachments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-inputattachments",
					ItemType:      "InputAttachment",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::ImageBuilder": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"StreamingUrl": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html",
			Properties: map[string]*models.Property{
				"AppstreamAgentVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-appstreamagentversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableDefaultInternetAccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-enabledefaultinternetaccess",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IamRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-iamrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ImageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AccessEndpoints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints",
					ItemType:      "AccessEndpoint",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DisplayName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-displayname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DomainJoinInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-domainjoininfo",
					Type:          "DomainJoinInfo",
					UpdateType:    "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"VpcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig",
					Type:          "VpcConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TrafficMirrorFilter": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NetworkServices": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-networkservices",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::GameLift::Alias": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AliasId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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::Glue::Partition": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html",
			Properties: map[string]*models.Property{
				"DatabaseName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-tablename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"CatalogId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-catalogid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WorkSpaces::Workspace": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html",
			Properties: map[string]*models.Property{
				"BundleId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-rootvolumeencryptionenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Conditional",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"UserName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-uservolumeencryptionenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Conditional",
				},
				"VolumeEncryptionKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-volumeencryptionkey",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"WorkspaceProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-workspaceproperties",
					Type:          "WorkspaceProperties",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppConfig::DeploymentStrategy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html",
			Properties: map[string]*models.Property{
				"GrowthType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-growthtype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ReplicateTo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-replicateto",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DeploymentDurationInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-deploymentdurationinminutes",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FinalBakeTimeInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-finalbaketimeinminutes",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"GrowthFactor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-growthfactor",
					PrimitiveType: "Double",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolClient": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ClientSecret": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html",
			Properties: map[string]*models.Property{
				"AccessTokenValidity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-accesstokenvalidity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"GenerateSecret": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-generatesecret",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"IdTokenValidity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-idtokenvalidity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LogoutURLs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-logouturls",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RefreshTokenValidity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SupportedIdentityProviders": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-supportedidentityproviders",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowedOAuthFlows": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflows",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AllowedOAuthScopes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthscopes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CallbackURLs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-callbackurls",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ClientName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-clientname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReadAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"UserPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-userpoolid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AllowedOAuthFlowsUserPoolClient": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflowsuserpoolclient",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DefaultRedirectURI": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-defaultredirecturi",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PreventUserExistenceErrors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-preventuserexistenceerrors",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenValidityUnits": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-tokenvalidityunits",
					Type:          "TokenValidityUnits",
					UpdateType:    "Mutable",
				},
				"WriteAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-writeattributes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AnalyticsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-analyticsconfiguration",
					Type:          "AnalyticsConfiguration",
					UpdateType:    "Mutable",
				},
				"ExplicitAuthFlows": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::ClientVpnTargetNetworkAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html",
			Properties: map[string]*models.Property{
				"ClientVpnEndpointId": &models.Property{
					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": &models.Property{
					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::ImageBuilder::InfrastructureConfiguration": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html",
			Properties: map[string]*models.Property{
				"ResourceTags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-resourcetags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"TerminateInstanceOnFailure": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceProfileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"InstanceTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Logging": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-logging",
					PrimitiveType: "Json",
					Type:          "Logging",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"KeyPair": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SnsTopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Batch::JobQueue": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html",
			Properties: map[string]*models.Property{
				"ComputeEnvironmentOrder": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-jobqueuename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Priority": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DMS::Endpoint": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ExternalId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html",
			Properties: map[string]*models.Property{
				"Password": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-password",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-port",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"EndpointIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-endpointidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EngineName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-enginename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ElasticsearchSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-elasticsearchsettings",
					Type:          "ElasticsearchSettings",
					UpdateType:    "Mutable",
				},
				"EndpointType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-endpointtype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ExtraConnectionAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CertificateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-certificatearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DatabaseName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-databasename",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KinesisSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kinesissettings",
					Type:          "KinesisSettings",
					UpdateType:    "Mutable",
				},
				"MongoDbSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mongodbsettings",
					Type:          "MongoDbSettings",
					UpdateType:    "Mutable",
				},
				"S3Settings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-s3settings",
					Type:          "S3Settings",
					UpdateType:    "Mutable",
				},
				"SslMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-sslmode",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"DynamoDbSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-dynamodbsettings",
					Type:          "DynamoDbSettings",
					UpdateType:    "Mutable",
				},
				"KafkaSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kafkasettings",
					Type:          "KafkaSettings",
					UpdateType:    "Mutable",
				},
				"Username": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-username",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NeptuneSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-neptunesettings",
					Type:          "NeptuneSettings",
					UpdateType:    "Mutable",
				},
				"ServerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-servername",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::FMS::NotificationChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html",
			Properties: map[string]*models.Property{
				"SnsRoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html#cfn-fms-notificationchannel-snsrolename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SnsTopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html#cfn-fms-notificationchannel-snstopicarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Pipeline": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html",
			Properties: map[string]*models.Property{
				"PipelineActivities": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html#cfn-iotanalytics-pipeline-pipelinename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html#cfn-iotanalytics-pipeline-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ServiceCatalog::LaunchTemplateConstraint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html",
			Properties: map[string]*models.Property{
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PortfolioId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::WAFRegional::Rule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html",
			Properties: map[string]*models.Property{
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-predicates",
					ItemType:      "Predicate",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodePipeline::CustomActionType": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html",
			Properties: map[string]*models.Property{
				"InputArtifactDetails": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-settings",
					Type:          "Settings",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-version",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Category": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-configurationproperties",
					ItemType:      "ConfigurationProperties",
					Type:          "List",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::EventStream": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::ApiGatewayV2::ApiMapping": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html",
			Properties: map[string]*models.Property{
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DomainName": &models.Property{
					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": &models.Property{
					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::IAM::UserToGroupAddition": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html",
			Properties: map[string]*models.Property{
				"GroupName": &models.Property{
					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": &models.Property{
					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::SNS::Subscription": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html",
			Properties: map[string]*models.Property{
				"DeliveryPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-deliverypolicy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Endpoint": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-endpoint",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"FilterPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-protocol",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RawMessageDelivery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-rawmessagedelivery",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RedrivePolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Region": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::DLM::LifecyclePolicy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html",
			Properties: map[string]*models.Property{
				"PolicyDetails": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails",
					Type:          "PolicyDetails",
					UpdateType:    "Mutable",
				},
				"State": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExecutionRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Athena::NamedQuery": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"NamedQueryId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html",
			Properties: map[string]*models.Property{
				"Database": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"QueryString": &models.Property{
					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::Cognito::UserPoolUser": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html",
			Properties: map[string]*models.Property{
				"UserAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes",
					ItemType:      "AttributeType",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"UserPoolId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-username",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ValidationData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-validationdata",
					ItemType:      "AttributeType",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"ClientMetadata": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-clientmetadata",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"DesiredDeliveryMediums": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-desireddeliverymediums",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"ForceAliasCreation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-forcealiascreation",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"MessageAction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-messageaction",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::VPCCidrBlock": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html",
			Properties: map[string]*models.Property{
				"CidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-cidrblock",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-vpcid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AmazonProvidedIpv6CidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-amazonprovidedipv6cidrblock",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::QLDB::Stream": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html",
			Properties: map[string]*models.Property{
				"StreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-streamname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ExclusiveEndTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-exclusiveendtime",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InclusiveStartTime": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-inclusivestarttime",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"KinesisConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-kinesisconfiguration",
					Required:      true,
					Type:          "KinesisConfiguration",
					UpdateType:    "Immutable",
				},
				"LedgerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-ledgername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html#cfn-qldb-stream-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SES::ConfigurationSetEventDestination": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html",
			Properties: map[string]*models.Property{
				"ConfigurationSetName": &models.Property{
					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": &models.Property{
					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::ServiceCatalog::AcceptedPortfolioShare": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html",
			Properties: map[string]*models.Property{
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html#cfn-servicecatalog-acceptedportfolioshare-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PortfolioId": &models.Property{
					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::AppConfig::Environment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Monitors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-monitors",
					ItemType:      "Monitors",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::EgressOnlyInternetGateway": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html",
			Properties: map[string]*models.Property{
				"VpcId": &models.Property{
					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::Greengrass::Group": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LatestVersionArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"RoleArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"RoleAttachedAt": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html",
			Properties: map[string]*models.Property{
				"InitialVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-initialversion",
					Type:          "GroupVersion",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Stage": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html",
			Properties: map[string]*models.Property{
				"ClientCertificateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-clientcertificateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeploymentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-deploymentid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"StageVariables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AccessLogSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings",
					Type:          "AccessLogSettings",
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-autodeploy",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DefaultRouteSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-defaultroutesettings",
					Type:          "RouteSettings",
					UpdateType:    "Mutable",
				},
				"RouteSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"StageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::ApiGateway::UsagePlan": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html",
			Properties: map[string]*models.Property{
				"ApiStages": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages",
					ItemType:      "ApiStage",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Quota": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota",
					Type:          "QuotaSettings",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Throttle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle",
					Type:          "ThrottleSettings",
					UpdateType:    "Mutable",
				},
				"UsagePlanName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DAX::ParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-parametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ParameterNameValues": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-parameternamevalues",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DocDB::DBClusterParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Parameters": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-family",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AmazonMQ::ConfigurationAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html",
			Properties: map[string]*models.Property{
				"Broker": &models.Property{
					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": &models.Property{
					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::EC2::TransitGatewayAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html",
			Properties: map[string]*models.Property{
				"SubnetIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"TransitGatewayId": &models.Property{
					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": &models.Property{
					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::ServiceCatalog::CloudFormationProduct": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ProductName": &models.Attribute{
					PrimitiveType: "String",
				},
				"ProvisioningArtifactIds": &models.Attribute{
					PrimitiveType: "String",
				},
				"ProvisioningArtifactNames": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Distributor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-distributor",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Owner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-owner",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SupportEmail": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supportemail",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ProvisioningArtifactParameters": &models.Property{
					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",
				},
				"ReplaceProvisioningArtifacts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-replaceprovisioningartifacts",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SupportDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supportdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SupportUrl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supporturl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::NetworkAcl": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html#cfn-ec2-networkacl-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					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::Glue::DevEndpoint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
			Properties: map[string]*models.Property{
				"Arguments": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-arguments",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"PublicKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"WorkerType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-workertype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EndpointName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-endpointname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NumberOfNodes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofnodes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"ExtraJarsS3Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NumberOfWorkers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofworkers",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SubnetId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-subnetid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ExtraPythonLibsS3Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrapythonlibss3path",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GlueVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-glueversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PublicKeys": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickeys",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"RoleArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-securityconfiguration",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Inspector::ResourceGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html",
			Properties: map[string]*models.Property{
				"ResourceGroupTags": &models.Property{
					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::KinesisAnalyticsV2::ApplicationOutput": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					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": &models.Property{
					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::OpsWorks::ElasticLoadBalancerAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elbattachment.html",
			Properties: map[string]*models.Property{
				"ElasticLoadBalancerName": &models.Property{
					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": &models.Property{
					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::RDS::DBSecurityGroupIngress": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html",
			Properties: map[string]*models.Property{
				"DBSecurityGroupName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-ec2securitygroupid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EC2SecurityGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-ec2securitygroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EC2SecurityGroupOwnerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-ec2securitygroupownerid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CIDRIP": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-cidrip",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ResourceGroups::Group": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ResourceQuery": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-resourcequery",
					Type:          "ResourceQuery",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::ApiGatewayManagedOverrides": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html",
			Properties: map[string]*models.Property{
				"Stage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-stage",
					Type:          "StageOverrides",
					UpdateType:    "Mutable",
				},
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-apiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Integration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-integration",
					Type:          "IntegrationOverrides",
					UpdateType:    "Mutable",
				},
				"Route": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-route",
					Type:          "RouteOverrides",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElasticBeanstalk::Application": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ResourceLifecycleConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-resourcelifecycleconfig",
					Type:          "ApplicationResourceLifecycleConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EventSchemas::Schema": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"SchemaArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"SchemaName": &models.Attribute{
					PrimitiveType: "String",
				},
				"SchemaVersion": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html",
			Properties: map[string]*models.Property{
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Content": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RegistryName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-schemaname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-tags",
					ItemType:      "TagsEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppStream::Stack": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html",
			Properties: map[string]*models.Property{
				"StorageConnectors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-storageconnectors",
					ItemType:      "StorageConnector",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AttributesToDelete": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-attributestodelete",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DeleteStorageConnectors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-deletestorageconnectors",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EmbedHostDomains": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-embedhostdomains",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"FeedbackURL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-feedbackurl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UserSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-usersettings",
					ItemType:      "UserSetting",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AccessEndpoints": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-accessendpoints",
					ItemType:      "AccessEndpoint",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ApplicationSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-applicationsettings",
					Type:          "ApplicationSettings",
					UpdateType:    "Mutable",
				},
				"DisplayName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-displayname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RedirectURL": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-redirecturl",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppSync::GraphQLApi": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ApiId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"GraphQLUrl": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html",
			Properties: map[string]*models.Property{
				"XrayEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-xrayenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AdditionalAuthenticationProviders": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-additionalauthenticationproviders",
					Type:          "AdditionalAuthenticationProviders",
					UpdateType:    "Mutable",
				},
				"AuthenticationType": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig",
					Type:          "LogConfig",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig",
					Type:          "OpenIDConnectConfig",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
				"UserPoolConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig",
					Type:          "UserPoolConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DataPipeline::Pipeline": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html",
			Properties: map[string]*models.Property{
				"PipelineTags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-pipelinetags",
					DuplicatesAllowed: true,
					ItemType:          "PipelineTag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Activate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-activate",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-parametervalues",
					DuplicatesAllowed: true,
					ItemType:          "ParameterValue",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PipelineObjects": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-pipelineobjects",
					DuplicatesAllowed: true,
					ItemType:          "PipelineObject",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::EC2::Subnet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AvailabilityZone": &models.Attribute{
					PrimitiveType: "String",
				},
				"Ipv6CidrBlocks": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"NetworkAclAssociationId": &models.Attribute{
					PrimitiveType: "String",
				},
				"VpcId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html",
			Properties: map[string]*models.Property{
				"MapPublicIpOnLaunch": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-awsec2subnet-prop-vpcid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AssignIpv6AddressOnCreation": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-assignipv6addressoncreation",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CidrBlock": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6cidrblock",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EventSchemas::Discoverer": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DiscovererArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DiscovererId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SourceArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-tags",
					ItemType:      "TagsEntry",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::IoTThingsGraph::FlowTemplate": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html",
			Properties: map[string]*models.Property{
				"CompatibleNamespaceVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html#cfn-iotthingsgraph-flowtemplate-compatiblenamespaceversion",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Definition": &models.Property{
					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::ServiceCatalog::LaunchNotificationConstraint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html",
			Properties: map[string]*models.Property{
				"AcceptLanguage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-acceptlanguage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NotificationArns": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::AppMesh::VirtualRouter": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
				"VirtualRouterName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html",
			Properties: map[string]*models.Property{
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Spec": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VirtualRouterName": &models.Property{
					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::CloudFront::StreamingDistribution": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DomainName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html",
			Properties: map[string]*models.Property{
				"StreamingDistributionConfig": &models.Property{
					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": &models.Property{
					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::EC2::TrafficMirrorSession": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html",
			Properties: map[string]*models.Property{
				"TrafficMirrorTargetId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-virtualnetworkid",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkInterfaceId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-packetlength",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SessionNumber": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TrafficMirrorFilterId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrorfilterid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Neptune::DBClusterParameterGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Parameters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-parameters",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Redshift::ClusterSecurityGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html#cfn-redshift-clustersecuritygroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Amplify::Branch": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"BranchName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html",
			Properties: map[string]*models.Property{
				"BranchName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-branchname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnablePerformanceMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enableperformancemode",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnablePullRequestPreview": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enablepullrequestpreview",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnvironmentVariables": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-environmentvariables",
					ItemType:      "EnvironmentVariable",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Stage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-stage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AppId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-basicauthconfig",
					Type:          "BasicAuthConfig",
					UpdateType:    "Mutable",
				},
				"BuildSpec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-buildspec",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EnableAutoBuild": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enableautobuild",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PullRequestEnvironmentName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-pullrequestenvironmentname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::FMS::Policy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html",
			Properties: map[string]*models.Property{
				"ResourceTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetags",
					ItemType:      "ResourceTag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ResourceTypeList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetypelist",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SecurityServicePolicyData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-securityservicepolicydata",
					PrimitiveType: "Json",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"DeleteAllPolicyResources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-deleteallpolicyresources",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IncludeMap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-includemap",
					Type:          "IEMap",
					UpdateType:    "Mutable",
				},
				"PolicyName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-policyname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"RemediationEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-remediationenabled",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-tags",
					ItemType:      "PolicyTag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ExcludeMap": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-excludemap",
					Type:          "IEMap",
					UpdateType:    "Mutable",
				},
				"ExcludeResourceTags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-excluderesourcetags",
					PrimitiveType: "Boolean",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisAnalytics::ApplicationOutput": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					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": &models.Property{
					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::WAF::SizeConstraintSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html#cfn-waf-sizeconstraintset-sizeconstraints",
					ItemType:      "SizeConstraint",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DAX::SubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-subnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetIds": &models.Property{
					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::S3::AccessPoint": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html",
			Properties: map[string]*models.Property{
				"Policy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"PolicyStatus": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"PublicAccessBlockConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration",
					Type:          "PublicAccessBlockConfiguration",
					UpdateType:    "Immutable",
				},
				"VpcConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration",
					Type:          "VpcConfiguration",
					UpdateType:    "Immutable",
				},
				"Bucket": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-creationdate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkOrigin": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-networkorigin",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Serverless::Function": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html",
			Properties: map[string]*models.Property{
				"Environment": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-environment",
					Type:          "AWS::Lambda::Function.Environment",
				},
				"FunctionName": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-functionname",
					PrimitiveType: "String",
				},
				"Policies": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-policies",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"EventInvokeConfig": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-eventinvokeconfig",
					Type:          "EventInvokeConfiguration",
				},
				"KmsKeyArn": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-kmskeyarn",
					PrimitiveType: "String",
				},
				"AutoPublishCodeSha256": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-autopublishcodesha256",
					PrimitiveType: "String",
				},
				"CodeUri": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-codeuri",
					Type:          "FunctionCode",
				},
				"DeadLetterQueue": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-deadletterqueue",
					Type:          "DeadLetterQueue",
				},
				"InlineCode": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-inlinecode",
					PrimitiveType: "String",
				},
				"MemorySize": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-memorysize",
					PrimitiveType: "Integer",
				},
				"Role": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-role",
					PrimitiveType: "String",
				},
				"Tracing": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-tracing",
					PrimitiveType: "String",
				},
				"FileSystemConfigs": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-filesystemconfigs",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Handler": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-handler",
					PrimitiveType: "String",
					Required:      true,
				},
				"Description": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-description",
					PrimitiveType: "String",
				},
				"PermissionsBoundary": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-permissionsboundary",
					PrimitiveType: "String",
				},
				"ReservedConcurrentExecutions": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-reservedconcurrentexecutions",
					PrimitiveType: "Integer",
				},
				"AutoPublishAlias": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-autopublishalias",
					PrimitiveType: "String",
				},
				"Layers": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-layers",
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Timeout": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-timeout",
					PrimitiveType: "Integer",
				},
				"Runtime": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-runtime",
					PrimitiveType: "String",
					Required:      true,
				},
				"AssumeRolePolicyDocument": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-assumerolepolicydocument",
					Type:          "JSON",
				},
				"DeploymentPreference": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-deploymentpreference",
					Type:          "DeploymentPreference",
				},
				"Events": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-events",
					Type:          "EventSource",
				},
				"ProvisionedConcurrencyConfig": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-provisionedconcurrencyconfig",
					Type:          "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration",
				},
				"VersionDescription": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-versiondescription",
					PrimitiveType: "String",
				},
				"VpcConfig": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-vpcconfig",
					Type:          "AWS::Lambda::Function.VpcConfig",
				},
			},
		},
		"AWS::EC2::FlowLog": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html",
			Properties: map[string]*models.Property{
				"LogDestination": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestination",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LogDestinationType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestinationtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ResourceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourceid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TrafficType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-traffictype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DeliverLogsPermissionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-deliverlogspermissionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LogFormat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logformat",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LogGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-loggroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MaxAggregationInterval": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-maxaggregationinterval",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"ResourceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourcetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAF::XssMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html#cfn-waf-xssmatchset-xssmatchtuples",
					ItemType:      "XssMatchTuple",
					Required:      true,
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DocDB::DBSubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html",
			Properties: map[string]*models.Property{
				"DBSubnetGroupDescription": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html#cfn-docdb-dbsubnetgroup-dbsubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SubnetIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html#cfn-docdb-dbsubnetgroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::Route": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html",
			Properties: map[string]*models.Property{
				"RouteTableId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-routetableid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"VpcPeeringConnectionId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationCidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EgressOnlyInternetGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-egressonlyinternetgatewayid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-gatewayid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationIpv6CidrBlock": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationipv6cidrblock",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NatGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NetworkInterfaceId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-networkinterfaceid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TransitGatewayId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TransitGatewayRouteTablePropagation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html",
			Properties: map[string]*models.Property{
				"TransitGatewayAttachmentId": &models.Property{
					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": &models.Property{
					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::IAM::Role": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"RoleId": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html",
			Properties: map[string]*models.Property{
				"ManagedPolicyArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-managepolicyarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MaxSessionDuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-maxsessionduration",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"PermissionsBoundary": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Policies": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-policies",
					DuplicatesAllowed: true,
					ItemType:          "Policy",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AssumeRolePolicyDocument": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Path": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RoleName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-rolename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::DMS::ReplicationInstance": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ReplicationInstancePrivateIpAddresses": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"ReplicationInstancePublicIpAddresses": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html",
			Properties: map[string]*models.Property{
				"AllocatedStorage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-allocatedstorage",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ReplicationSubnetGroupIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationsubnetgroupidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-autominorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ReplicationInstanceIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationinstanceidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MultiAZ": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-multiaz",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplicationInstanceClass": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationinstanceclass",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-vpcsecuritygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PubliclyAccessible": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-publiclyaccessible",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"AllowMajorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-allowmajorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::VPC": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"CidrBlock": &models.Attribute{
					PrimitiveType: "String",
				},
				"CidrBlockAssociations": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"DefaultNetworkAcl": &models.Attribute{
					PrimitiveType: "String",
				},
				"DefaultSecurityGroup": &models.Attribute{
					PrimitiveType: "String",
				},
				"Ipv6CidrBlocks": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html",
			Properties: map[string]*models.Property{
				"InstanceTenancy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-instancetenancy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"CidrBlock": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsHostnames",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EnableDnsSupport": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsSupport",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::OpsWorksCM::Server": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html",
			Properties: map[string]*models.Property{
				"AssociatePublicIpAddress": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-associatepublicipaddress",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"Engine": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engine",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"KeyPair": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-keypair",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ServerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-servername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ServiceRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-servicerolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"BackupRetentionCount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-backupretentioncount",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"CustomPrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customprivatekey",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EngineAttributes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineattributes",
					DuplicatesAllowed: true,
					ItemType:          "EngineAttribute",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"InstanceType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-instancetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-securitygroupids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"DisableAutomatedBackup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-disableautomatedbackup",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"PreferredBackupWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-preferredbackupwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SubnetIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-subnetids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"BackupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-backupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CustomCertificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customcertificate",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CustomDomain": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customdomain",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"EngineModel": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-enginemodel",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"InstanceProfileArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-instanceprofilearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppMesh::Route": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"VirtualRouterName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"RouteName": &models.Attribute{
					PrimitiveType: "String",
				},
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"VirtualRouterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-virtualroutername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"MeshOwner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshowner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RouteName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-spec",
					Required:      true,
					Type:          "RouteSpec",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ElastiCache::SubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html",
			Properties: map[string]*models.Property{
				"CacheSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-cachesubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					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": &models.Property{
					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::ApiGateway::BasePathMapping": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html",
			Properties: map[string]*models.Property{
				"BasePath": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DomainName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-restapiid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Stage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-stage",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPCEndpointService": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html",
			Properties: map[string]*models.Property{
				"NetworkLoadBalancerArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AcceptanceRequired": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ApplianceLoadBalancerArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-applianceloadbalancerarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::PinpointEmail::Identity": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"IdentityDNSRecordValue3": &models.Attribute{
					PrimitiveType: "String",
				},
				"IdentityDNSRecordName1": &models.Attribute{
					PrimitiveType: "String",
				},
				"IdentityDNSRecordName2": &models.Attribute{
					PrimitiveType: "String",
				},
				"IdentityDNSRecordName3": &models.Attribute{
					PrimitiveType: "String",
				},
				"IdentityDNSRecordValue1": &models.Attribute{
					PrimitiveType: "String",
				},
				"IdentityDNSRecordValue2": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-tags",
					ItemType:      "Tags",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DkimSigningEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-dkimsigningenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"FeedbackForwardingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-feedbackforwardingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"MailFromAttributes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-mailfromattributes",
					Type:          "MailFromAttributes",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Serverless::StateMachine": &models.ResourceType{
			Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html",
			Properties: map[string]*models.Property{
				"Definition": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definition",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"DefinitionSubstitutions": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionsubstitutions",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"DefinitionUri": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionuri",
					Type:          "AWS::StepFunctions::StateMachine.S3Location",
				},
				"Events": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-events",
					Type:          "EventSource",
				},
				"Role": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-role",
					PrimitiveType: "String",
				},
				"Type": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-type",
					PrimitiveType: "String",
				},
				"Logging": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-logging",
					Type:          "AWS::StepFunctions::StateMachine.LoggingConfiguration",
				},
				"Name": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-name",
					PrimitiveType: "String",
				},
				"Policies": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-policies",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Tags": &models.Property{
					Documentation:     "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-tags",
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Tracing": &models.Property{
					Documentation: "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-tracing",
					Type:          "AWS::StepFunctions::StateMachine.TracingConfiguration",
				},
			},
		},
		"AWS::CodeStar::GitHubRepository": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html",
			Properties: map[string]*models.Property{
				"IsPrivate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-isprivate",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"RepositoryAccessToken": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositorydescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RepositoryName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryowner",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Code": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-code",
					Type:          "Code",
					UpdateType:    "Mutable",
				},
				"EnableIssues": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-enableissues",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::RouteTable": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html#cfn-ec2-routetable-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					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::SageMaker::Endpoint": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"EndpointName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html",
			Properties: map[string]*models.Property{
				"EndpointConfigName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-endpointname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ExcludeRetainedVariantProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-excluderetainedvariantproperties",
					ItemType:      "VariantProperty",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"RetainAllVariantProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-retainallvariantproperties",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::WAFRegional::SqlInjectionMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuples",
					ItemType:      "SqlInjectionMatchTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AutoScaling::LifecycleHook": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html",
			Properties: map[string]*models.Property{
				"DefaultResult": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-defaultresult",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"HeartbeatTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-heartbeattimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"LifecycleHookName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-autoscaling-lifecyclehook-lifecyclehookname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LifecycleTransition": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-notificationmetadata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NotificationTargetARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-notificationtargetarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AutoScalingGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-autoscalinggroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CloudFront::Distribution": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"DomainName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html#cfn-cloudfront-distribution-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DistributionConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html#cfn-cloudfront-distribution-distributionconfig",
					Required:      true,
					Type:          "DistributionConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::OriginRequestPolicy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LastModifiedTime": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html",
			Properties: map[string]*models.Property{
				"OriginRequestPolicyConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig",
					Required:      true,
					Type:          "OriginRequestPolicyConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudWatch::Alarm": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html",
			Properties: map[string]*models.Property{
				"AlarmName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DatapointsToAlarm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-datapointstoalarm",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MetricName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-metricname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Namespace": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-namespace",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Period": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-period",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Threshold": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-threshold",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"AlarmActions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmactions",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ComparisonOperator": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-comparisonoperator",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"EvaluateLowSampleCountPercentile": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluatelowsamplecountpercentile",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EvaluationPeriods": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluationperiods",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ThresholdMetricId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dynamic-threshold",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Unit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-unit",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InsufficientDataActions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-insufficientdataactions",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Metrics": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-metrics",
					ItemType:      "MetricDataQuery",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OKActions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Statistic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statistic",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ActionsEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-actionsenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AlarmDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dimension",
					DuplicatesAllowed: true,
					ItemType:          "Dimension",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ExtendedStatistic": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-extendedstatistic",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TreatMissingData": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-treatmissingdata",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeBuild::Project": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html",
			Properties: map[string]*models.Property{
				"BuildBatchConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-buildbatchconfig",
					Type:          "ProjectBuildBatchConfig",
					UpdateType:    "Mutable",
				},
				"EncryptionKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-encryptionkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Environment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-environment",
					Required:      true,
					Type:          "Environment",
					UpdateType:    "Mutable",
				},
				"FileSystemLocations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-filesystemlocations",
					ItemType:      "ProjectFileSystemLocation",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BadgeEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-badgeenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Cache": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-cache",
					Type:          "ProjectCache",
					UpdateType:    "Mutable",
				},
				"LogsConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-logsconfig",
					Type:          "LogsConfig",
					UpdateType:    "Mutable",
				},
				"SecondarySourceVersions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondarysourceversions",
					ItemType:      "ProjectSourceVersion",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Triggers": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-triggers",
					Type:          "ProjectTriggers",
					UpdateType:    "Mutable",
				},
				"Artifacts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-artifacts",
					Required:      true,
					Type:          "Artifacts",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SourceVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-sourceversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TimeoutInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-timeoutinminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"VpcConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-vpcconfig",
					Type:          "VpcConfig",
					UpdateType:    "Mutable",
				},
				"QueuedTimeoutInMinutes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-queuedtimeoutinminutes",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SecondaryArtifacts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondaryartifacts",
					ItemType:      "Artifacts",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"SecondarySources": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondarysources",
					ItemType:      "Source",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ServiceRole": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-source",
					Required:      true,
					Type:          "Source",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeDeploy::DeploymentGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html",
			Properties: map[string]*models.Property{
				"AlarmConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-alarmconfiguration",
					Type:          "AlarmConfiguration",
					UpdateType:    "Mutable",
				},
				"AutoRollbackConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration",
					Type:          "AutoRollbackConfiguration",
					UpdateType:    "Mutable",
				},
				"DeploymentGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deploymentgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Ec2TagFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-ec2tagfilters",
					ItemType:      "EC2TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"AutoScalingGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-autoscalinggroups",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Ec2TagSet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-ec2tagset",
					Type:          "EC2TagSet",
					UpdateType:    "Mutable",
				},
				"Deployment": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deployment",
					Type:          "Deployment",
					UpdateType:    "Mutable",
				},
				"DeploymentConfigName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deploymentconfigname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeploymentStyle": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deploymentstyle",
					Type:          "DeploymentStyle",
					UpdateType:    "Mutable",
				},
				"OnPremisesInstanceTagFilters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisesinstancetagfilters",
					ItemType:      "TagFilter",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"OnPremisesTagSet": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisestagset",
					Type:          "OnPremisesTagSet",
					UpdateType:    "Mutable",
				},
				"ServiceRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-servicerolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-applicationname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LoadBalancerInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo",
					Type:          "LoadBalancerInfo",
					UpdateType:    "Mutable",
				},
				"TriggerConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations",
					ItemType:      "TriggerConfig",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CodeGuruReviewer::RepositoryAssociation": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AssociationArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html",
			Properties: map[string]*models.Property{
				"ConnectionArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-connectionarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Owner": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-owner",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Pinpoint::VoiceChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html#cfn-pinpoint-voicechannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SecretsManager::ResourcePolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html",
			Properties: map[string]*models.Property{
				"ResourcePolicy": &models.Property{
					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": &models.Property{
					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::ApiGateway::Model": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html",
			Properties: map[string]*models.Property{
				"ContentType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-contenttype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RestApiId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-schema",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Greengrass::SubscriptionDefinitionVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html",
			Properties: map[string]*models.Property{
				"SubscriptionDefinitionId": &models.Property{
					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": &models.Property{
					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::LakeFormation::Resource": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html",
			Properties: map[string]*models.Property{
				"ResourceArn": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-rolearn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"UseServiceLinkedRole": &models.Property{
					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::Logs::LogGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html",
			Properties: map[string]*models.Property{
				"LogGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-loggroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RetentionInDays": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-retentionindays",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Macie::FindingsFilter": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"FindingsFilterListItems": &models.Attribute{
					ItemType: "FindingsFilterListItem",
					Type:     "List",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-action",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"FindingCriteria": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-findingcriteria",
					Required:      true,
					Type:          "FindingCriteria",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Position": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html#cfn-macie-findingsfilter-position",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Route53Resolver::ResolverEndpoint": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"HostVPCId": &models.Attribute{
					PrimitiveType: "String",
				},
				"IpAddressCount": &models.Attribute{
					PrimitiveType: "String",
				},
				"Name": &models.Attribute{
					PrimitiveType: "String",
				},
				"ResolverEndpointId": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Direction": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html",
			Properties: map[string]*models.Property{
				"IpAddresses": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SecurityGroupIds": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Direction": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-direction",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::WAFRegional::RateBasedRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html",
			Properties: map[string]*models.Property{
				"MetricName": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"MatchPredicates": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates",
					ItemType:      "Predicate",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudWatch::AnomalyDetector": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html",
			Properties: map[string]*models.Property{
				"Stat": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-stat",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Configuration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-configuration",
					Type:          "Configuration",
					UpdateType:    "Mutable",
				},
				"Dimensions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-dimensions",
					ItemType:      "Dimension",
					Type:          "List",
					UpdateType:    "Immutable",
				},
				"MetricName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-namespace",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Events::EventBusPolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html",
			Properties: map[string]*models.Property{
				"Action": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition",
					Type:          "Condition",
					UpdateType:    "Mutable",
				},
				"EventBusName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Principal": &models.Property{
					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": &models.Property{
					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::MSK::Cluster": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html",
			Properties: map[string]*models.Property{
				"EncryptionInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-encryptioninfo",
					Type:          "EncryptionInfo",
					UpdateType:    "Immutable",
				},
				"EnhancedMonitoring": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-enhancedmonitoring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"KafkaVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"NumberOfBrokerNodes": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-openmonitoring",
					Type:          "OpenMonitoring",
					UpdateType:    "Mutable",
				},
				"ClusterName": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-configurationinfo",
					Type:          "ConfigurationInfo",
					UpdateType:    "Mutable",
				},
				"LoggingInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo",
					Type:          "LoggingInfo",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-tags",
					PrimitiveType: "Json",
					UpdateType:    "Immutable",
				},
				"BrokerNodeGroupInfo": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clientauthentication",
					Type:          "ClientAuthentication",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::S3::Bucket": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"RegionalDomainName": &models.Attribute{
					PrimitiveType: "String",
				},
				"WebsiteURL": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"DomainName": &models.Attribute{
					PrimitiveType: "String",
				},
				"DualStackDomainName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html",
			Properties: map[string]*models.Property{
				"AccelerateConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accelerateconfiguration",
					Type:          "AccelerateConfiguration",
					UpdateType:    "Mutable",
				},
				"InventoryConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations",
					ItemType:      "InventoryConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"LifecycleConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-lifecycleconfig",
					Type:          "LifecycleConfiguration",
					UpdateType:    "Mutable",
				},
				"VersioningConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-versioning",
					Type:          "VersioningConfiguration",
					UpdateType:    "Mutable",
				},
				"AnalyticsConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-analyticsconfigurations",
					ItemType:      "AnalyticsConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"BucketEncryption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-bucketencryption",
					Type:          "BucketEncryption",
					UpdateType:    "Mutable",
				},
				"LoggingConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-loggingconfig",
					Type:          "LoggingConfiguration",
					UpdateType:    "Mutable",
				},
				"NotificationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification",
					Type:          "NotificationConfiguration",
					UpdateType:    "Mutable",
				},
				"PublicAccessBlockConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration",
					Type:          "PublicAccessBlockConfiguration",
					UpdateType:    "Mutable",
				},
				"WebsiteConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-websiteconfiguration",
					Type:          "WebsiteConfiguration",
					UpdateType:    "Mutable",
				},
				"MetricsConfigurations": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-metricsconfigurations",
					ItemType:      "MetricsConfiguration",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"ObjectLockConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration",
					Type:          "ObjectLockConfiguration",
					UpdateType:    "Mutable",
				},
				"ObjectLockEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"ReplicationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration",
					Type:          "ReplicationConfiguration",
					UpdateType:    "Mutable",
				},
				"AccessControl": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accesscontrol",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BucketName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CorsConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig",
					Type:          "CorsConfiguration",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::SNS::TopicPolicy": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html",
			Properties: map[string]*models.Property{
				"PolicyDocument": &models.Property{
					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": &models.Property{
					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::SecretsManager::Secret": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html",
			Properties: map[string]*models.Property{
				"GenerateSecretString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-generatesecretstring",
					Type:          "GenerateSecretString",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecretString": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-secretstring",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EFS::MountTarget": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"IpAddress": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html",
			Properties: map[string]*models.Property{
				"FileSystemId": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-ipaddress",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-securitygroups",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"SubnetId": &models.Property{
					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::CodeDeploy::Application": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html",
			Properties: map[string]*models.Property{
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-applicationname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ComputePlatform": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-computeplatform",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::SES::ReceiptFilter": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html",
			Properties: map[string]*models.Property{
				"Filter": &models.Property{
					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::WAFRegional::IPSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html",
			Properties: map[string]*models.Property{
				"IPSetDescriptors": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html#cfn-wafregional-ipset-ipsetdescriptors",
					ItemType:      "IPSetDescriptor",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::ACMPCA::Certificate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Certificate": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html",
			Properties: map[string]*models.Property{
				"Validity": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validity",
					Required:      true,
					Type:          "Validity",
					UpdateType:    "Immutable",
				},
				"CertificateAuthorityArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificateauthorityarn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"CertificateSigningRequest": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificatesigningrequest",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SigningAlgorithm": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-signingalgorithm",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"TemplateArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-templatearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::KinesisAnalyticsV2::Application": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html",
			Properties: map[string]*models.Property{
				"ApplicationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-applicationconfiguration",
					Type:          "ApplicationConfiguration",
					UpdateType:    "Mutable",
				},
				"ApplicationDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-applicationdescription",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ApplicationName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-applicationname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"RuntimeEnvironment": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-serviceexecutionrole",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::AppMesh::Mesh": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ResourceOwner": &models.Attribute{
					PrimitiveType: "String",
				},
				"Uid": &models.Attribute{
					PrimitiveType: "String",
				},
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshName": &models.Attribute{
					PrimitiveType: "String",
				},
				"MeshOwner": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html",
			Properties: map[string]*models.Property{
				"Spec": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-spec",
					Type:          "MeshSpec",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"MeshName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-meshname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::CloudWatch::InsightRule": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"RuleName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html",
			Properties: map[string]*models.Property{
				"RuleBody": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulestate",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::TrafficMirrorFilterRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DestinationCidrBlock": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationportrange",
					Type:          "TrafficMirrorPortRange",
					UpdateType:    "Mutable",
				},
				"Protocol": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-protocol",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RuleAction": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-rulenumber",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"TrafficDirection": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorfilterid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SourceCidrBlock": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourceportrange",
					Type:          "TrafficMirrorPortRange",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPNConnectionRoute": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html",
			Properties: map[string]*models.Property{
				"DestinationCidrBlock": &models.Property{
					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": &models.Property{
					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::EKS::Nodegroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ClusterName": &models.Attribute{
					PrimitiveType: "String",
				},
				"NodegroupName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html",
			Properties: map[string]*models.Property{
				"DiskSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-disksize",
					PrimitiveType: "Double",
					UpdateType:    "Immutable",
				},
				"InstanceTypes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-instancetypes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Labels": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-labels",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"NodegroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-nodegroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"AmiType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-amitype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ForceUpdateEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-forceupdateenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"NodeRole": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-noderole",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Subnets": &models.Property{
					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",
				},
				"ClusterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-clustername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"LaunchTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-launchtemplate",
					Type:          "LaunchTemplateSpecification",
					UpdateType:    "Mutable",
				},
				"ReleaseVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-releaseversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RemoteAccess": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-remoteaccess",
					Type:          "RemoteAccess",
					UpdateType:    "Immutable",
				},
				"ScalingConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-scalingconfig",
					Type:          "ScalingConfig",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Version": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-version",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SQS::Queue": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"QueueName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html",
			Properties: map[string]*models.Property{
				"FifoQueue": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-fifoqueue",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"KmsDataKeyReusePeriodSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsdatakeyreuseperiodseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"KmsMasterKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsmasterkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReceiveMessageWaitTimeSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-receivemsgwaittime",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"RedrivePolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-redrive",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#cfn-sqs-queue-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"DelaySeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-delayseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MaximumMessageSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-maxmesgsize",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"MessageRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-msgretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"QueueName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VisibilityTimeout": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-visiblitytimeout",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ContentBasedDeduplication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-contentbaseddeduplication",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SSM::Document": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html",
			Properties: map[string]*models.Property{
				"Content": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-documenttype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WAF::ByteMatchSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html",
			Properties: map[string]*models.Property{
				"ByteMatchTuples": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html#cfn-waf-bytematchset-bytematchtuples",
					ItemType:      "ByteMatchTuple",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					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::CloudFormation::CustomResource": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html",
			Properties: map[string]*models.Property{
				"ServiceToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html#cfn-customresource-servicetoken",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
			AdditionalProperties: true,
		},
		"AWS::EC2::VPCDHCPOptionsAssociation": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html",
			Properties: map[string]*models.Property{
				"DhcpOptionsId": &models.Property{
					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": &models.Property{
					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::EMR::SecurityConfiguration": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html",
			Properties: map[string]*models.Property{
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html#cfn-emr-securityconfiguration-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityConfiguration": &models.Property{
					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::GameLift::GameServerGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"AutoScalingGroupArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"GameServerGroupArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html",
			Properties: map[string]*models.Property{
				"BalancingStrategy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-balancingstrategy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"InstanceDefinitions": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-instancedefinitions",
					Required:      true,
					Type:          "InstanceDefinitions",
					UpdateType:    "Mutable",
				},
				"LaunchTemplate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-launchtemplate",
					Required:      true,
					Type:          "LaunchTemplate",
					UpdateType:    "Mutable",
				},
				"MaxSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-maxsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"MinSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-minsize",
					PrimitiveType: "Double",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-tags",
					Type:          "Tags",
					UpdateType:    "Mutable",
				},
				"VpcSubnets": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-vpcsubnets",
					Type:          "VpcSubnets",
					UpdateType:    "Mutable",
				},
				"AutoScalingPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-autoscalingpolicy",
					Type:          "AutoScalingPolicy",
					UpdateType:    "Mutable",
				},
				"DeleteOption": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-deleteoption",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"GameServerGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-gameservergroupname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"GameServerProtectionPolicy": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-gameserverprotectionpolicy",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-rolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SES::ReceiptRule": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html",
			Properties: map[string]*models.Property{
				"After": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html#cfn-ses-receiptrule-after",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Rule": &models.Property{
					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": &models.Property{
					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::CodeDeploy::DeploymentConfig": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html",
			Properties: map[string]*models.Property{
				"DeploymentConfigName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-deploymentconfigname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MinimumHealthyHosts": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts",
					Type:          "MinimumHealthyHosts",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::Lambda::LayerVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html",
			Properties: map[string]*models.Property{
				"Content": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-description",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LayerName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-layername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"LicenseInfo": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-licenseinfo",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CompatibleRuntimes": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatibleruntimes",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
			},
		},
		"AWS::ECS::PrimaryTaskSet": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html",
			Properties: map[string]*models.Property{
				"Cluster": &models.Property{
					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": &models.Property{
					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": &models.Property{
					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::Redshift::Cluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Endpoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"Endpoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html",
			Properties: map[string]*models.Property{
				"MasterUserPassword": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masteruserpassword",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"NumberOfNodes": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ElasticIp": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-elasticip",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClusterSecurityGroups": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersecuritygroups",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Encrypted": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-encrypted",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"SnapshotIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-snapshotidentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClusterSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"HsmConfigurationIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-HsmConfigurationIdentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"IamRoles": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-iamroles",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"MasterUsername": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masterusername",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"HsmClientCertificateIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-hsmclientcertidentifier",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClusterParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusterparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"LoggingProperties": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-loggingproperties",
					Type:          "LoggingProperties",
					UpdateType:    "Mutable",
				},
				"AllowVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-allowversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ClusterType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustertype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"NodeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"OwnerAccount": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-owneraccount",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PubliclyAccessible": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-publiclyaccessible",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"SnapshotClusterIdentifier": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-snapshotclusteridentifier",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"VpcSecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-vpcsecuritygroupids",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AutomatedSnapshotRetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-automatedsnapshotretentionperiod",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"ClusterVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusterversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DBName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-dbname",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-port",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AvailabilityZone": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-availabilityzone",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::EC2::DHCPOptions": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html",
			Properties: map[string]*models.Property{
				"DomainName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DomainNameServers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainnameservers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"NetbiosNameServers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnameservers",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"NetbiosNodeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnodetype",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"NtpServers": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-ntpservers",
					DuplicatesAllowed: true,
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::ApiGatewayV2::Authorizer": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html",
			Properties: map[string]*models.Property{
				"IdentityValidationExpression": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identityvalidationexpression",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"JwtConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-jwtconfiguration",
					Type:          "JWTConfiguration",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-name",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"AuthorizerCredentialsArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizercredentialsarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizerPayloadFormatVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizerpayloadformatversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"AuthorizerType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizertype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"EnableSimpleResponses": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-enablesimpleresponses",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"IdentitySource": &models.Property{
					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",
				},
				"ApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-apiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"AuthorizerResultTtlInSeconds": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizerresultttlinseconds",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"AuthorizerUri": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizeruri",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::CloudFront::CachePolicy": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
				"LastModifiedTime": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html",
			Properties: map[string]*models.Property{
				"CachePolicyConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html#cfn-cloudfront-cachepolicy-cachepolicyconfig",
					Required:      true,
					Type:          "CachePolicyConfig",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::DAX::Cluster": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ClusterDiscoveryEndpoint": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html",
			Properties: map[string]*models.Property{
				"IAMRoleARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-iamrolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"NotificationTopicARN": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-parametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ReplicationFactor": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-replicationfactor",
					PrimitiveType: "Integer",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"SubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-subnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-tags",
					PrimitiveType: "Json",
					UpdateType:    "Mutable",
				},
				"AvailabilityZones": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-availabilityzones",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"ClusterName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-clustername",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"NodeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"SSESpecification": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-ssespecification",
					Type:          "SSESpecification",
					UpdateType:    "Immutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::IoTAnalytics::Datastore": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"DatastoreName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-datastorename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"DatastoreStorage": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-datastorestorage",
					Type:          "DatastoreStorage",
					UpdateType:    "Mutable",
				},
				"RetentionPeriod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-retentionperiod",
					Type:          "RetentionPeriod",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::SNS::Topic": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"TopicName": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html",
			Properties: map[string]*models.Property{
				"KmsMasterKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Subscription": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription",
					DuplicatesAllowed: true,
					ItemType:          "Subscription",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TopicName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-topicname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ContentBasedDeduplication": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-contentbaseddeduplication",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"DisplayName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::DocumentationVersion": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocumentationVersion": &models.Property{
					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": &models.Property{
					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::AppFlow::ConnectorProfile": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"CredentialsArn": &models.Attribute{
					PrimitiveType: "String",
				},
				"ConnectorProfileArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html",
			Properties: map[string]*models.Property{
				"ConnectionMode": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html#cfn-appflow-connectorprofile-connectionmode",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"ConnectorProfileConfig": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html#cfn-appflow-connectorprofile-connectorprofileconfig",
					Type:          "ConnectorProfileConfig",
					UpdateType:    "Mutable",
				},
				"ConnectorProfileName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html#cfn-appflow-connectorprofile-connectorprofilename",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"ConnectorType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html#cfn-appflow-connectorprofile-connectortype",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"KMSArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html#cfn-appflow-connectorprofile-kmsarn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::AppStream::DirectoryConfig": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html",
			Properties: map[string]*models.Property{
				"ServiceAccountCredentials": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-serviceaccountcredentials",
					Required:      true,
					Type:          "ServiceAccountCredentials",
					UpdateType:    "Mutable",
				},
				"DirectoryName": &models.Property{
					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": &models.Property{
					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",
				},
			},
		},
		"AWS::CodeBuild::ReportGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html",
			Properties: map[string]*models.Property{
				"DeleteReports": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-deletereports",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ExportConfig": &models.Property{
					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": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-name",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Type": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-type",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
		"AWS::IoT::ProvisioningTemplate": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"TemplateArn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html",
			Properties: map[string]*models.Property{
				"TemplateName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PreProvisioningHook": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-preprovisioninghook",
					Type:          "ProvisioningHook",
					UpdateType:    "Mutable",
				},
				"ProvisioningRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-provisioningrolearn",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-tags",
					PrimitiveItemType: "Json",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"TemplateBody": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html#cfn-iot-provisioningtemplate-templatebody",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::KinesisFirehose::DeliveryStream": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html",
			Properties: map[string]*models.Property{
				"DeliveryStreamType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamtype",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ElasticsearchDestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration",
					Type:          "ElasticsearchDestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"KinesisStreamSourceConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration",
					Type:          "KinesisStreamSourceConfiguration",
					UpdateType:    "Mutable",
				},
				"SplunkDestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration",
					Type:          "SplunkDestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"S3DestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration",
					Type:          "S3DestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"DeliveryStreamName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"ExtendedS3DestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration",
					Type:          "ExtendedS3DestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"HttpEndpointDestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration",
					Type:          "HttpEndpointDestinationConfiguration",
					UpdateType:    "Mutable",
				},
				"RedshiftDestinationConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration",
					Type:          "RedshiftDestinationConfiguration",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::ApiGateway::Stage": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html",
			Properties: map[string]*models.Property{
				"CacheClusterSize": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"MethodSettings": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings",
					ItemType:      "MethodSetting",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"TracingEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"Variables": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables",
					PrimitiveItemType: "String",
					Type:              "Map",
					UpdateType:        "Mutable",
				},
				"AccessLogSetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting",
					Type:          "AccessLogSetting",
					UpdateType:    "Mutable",
				},
				"CanarySetting": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting",
					Type:          "CanarySetting",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"StageName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"CacheClusterEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"ClientCertificateId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-clientcertificateid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DeploymentId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-deploymentid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"DocumentationVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-documentationversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RestApiId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-restapiid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::EC2::VPCPeeringConnection": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html",
			Properties: map[string]*models.Property{
				"PeerOwnerId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerownerid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PeerRegion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerregion",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PeerRoleArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerrolearn",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"PeerVpcId": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"VpcId": &models.Property{
					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::ElastiCache::ReplicationGroup": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"ConfigurationEndPoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
				"PrimaryEndPoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"PrimaryEndPoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReadEndPoint.Addresses.List": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"ReadEndPoint.Ports": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReadEndPoint.Ports.List": &models.Attribute{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"ConfigurationEndPoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReadEndPoint.Addresses": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReaderEndPoint.Address": &models.Attribute{
					PrimitiveType: "String",
				},
				"ReaderEndPoint.Port": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html",
			Properties: map[string]*models.Property{
				"PreferredMaintenanceWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-preferredmaintenancewindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnapshotArns": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotarns",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"AtRestEncryptionEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-atrestencryptionenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"CacheSubnetGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachesubnetgroupname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"NotificationTopicArn": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-notificationtopicarn",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"PreferredCacheClusterAZs": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-preferredcacheclusterazs",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Immutable",
				},
				"ReplicationGroupId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicationgroupid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SnapshotRetentionLimit": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotretentionlimit",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"Tags": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"AutoMinorVersionUpgrade": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-autominorversionupgrade",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"AutomaticFailoverEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-automaticfailoverenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PrimaryClusterId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-primaryclusterid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheSecurityGroupNames": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachesecuritygroupnames",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"NumCacheClusters": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-numcacheclusters",
					PrimitiveType: "Integer",
					UpdateType:    "Mutable",
				},
				"SnapshotName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotname",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"MultiAZEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-multiazenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"NumNodeGroups": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-numnodegroups",
					PrimitiveType: "Integer",
					UpdateType:    "Conditional",
				},
				"AuthToken": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-authtoken",
					PrimitiveType: "String",
					UpdateType:    "Conditional",
				},
				"CacheNodeType": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachenodetype",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"EngineVersion": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engineversion",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TransitEncryptionEnabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-transitencryptionenabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Immutable",
				},
				"KmsKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"Port": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-port",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"ReplicationGroupDescription": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicationgroupdescription",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
				"NodeGroupConfiguration": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-nodegroupconfiguration",
					ItemType:      "NodeGroupConfiguration",
					Type:          "List",
					UpdateType:    "Conditional",
				},
				"ReplicasPerNodeGroup": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicaspernodegroup",
					PrimitiveType: "Integer",
					UpdateType:    "Immutable",
				},
				"SnapshotWindow": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotwindow",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"SnapshottingClusterId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshottingclusterid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"CacheParameterGroupName": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cacheparametergroupname",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Engine": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engine",
					PrimitiveType: "String",
					UpdateType:    "Immutable",
				},
				"SecurityGroupIds": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-securitygroupids",
					PrimitiveItemType: "String",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::Pinpoint::APNSVoipChannel": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html",
			Properties: map[string]*models.Property{
				"ApplicationId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-applicationid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"DefaultAuthenticationMethod": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-defaultauthenticationmethod",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TeamId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-teamid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-tokenkey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"TokenKeyId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-tokenkeyid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"BundleId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-bundleid",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Certificate": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-certificate",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Enabled": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-enabled",
					PrimitiveType: "Boolean",
					UpdateType:    "Mutable",
				},
				"PrivateKey": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-privatekey",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Redshift::ClusterSubnetGroup": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html",
			Properties: map[string]*models.Property{
				"Description": &models.Property{
					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": &models.Property{
					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": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html#cfn-redshift-clustersubnetgroup-tags",
					DuplicatesAllowed: true,
					ItemType:          "Tag",
					Type:              "List",
					UpdateType:        "Mutable",
				},
			},
		},
		"AWS::WAFv2::RegexPatternSet": &models.ResourceType{
			Attributes: map[string]*models.Attribute{
				"Arn": &models.Attribute{
					PrimitiveType: "String",
				},
				"Id": &models.Attribute{
					PrimitiveType: "String",
				},
			},
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html",
			Properties: map[string]*models.Property{
				"Tags": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-tags",
					ItemType:      "Tag",
					Type:          "List",
					UpdateType:    "Mutable",
				},
				"Description": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-description",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"Name": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-name",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"RegularExpressionList": &models.Property{
					Documentation:     "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-regularexpressionlist",
					PrimitiveItemType: "String",
					Required:          true,
					Type:              "List",
					UpdateType:        "Mutable",
				},
				"Scope": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-scope",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Mutable",
				},
			},
		},
		"AWS::Cognito::UserPoolUICustomizationAttachment": &models.ResourceType{
			Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html",
			Properties: map[string]*models.Property{
				"UserPoolId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-userpoolid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
				"CSS": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-css",
					PrimitiveType: "String",
					UpdateType:    "Mutable",
				},
				"ClientId": &models.Property{
					Documentation: "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-clientid",
					PrimitiveType: "String",
					Required:      true,
					UpdateType:    "Immutable",
				},
			},
		},
	},
}

Cfn is generated from the specification file

View Source
var Iam = models.Spec{
	ResourceSpecificationVersion: "1.0.0",
	PropertyTypes: map[string]*models.PropertyType{
		"Policy": &models.PropertyType{
			Properties: map[string]*models.Property{
				"Id": &models.Property{
					PrimitiveType: "String",
				},
				"Statement": &models.Property{
					ItemType: "Statement",
					Type:     "List",
				},
				"Version": &models.Property{
					PrimitiveType: "String",
				},
			},
		},
		"Statement": &models.PropertyType{
			Properties: map[string]*models.Property{
				"Principal": &models.Property{
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Condition": &models.Property{
					PrimitiveItemType: "Json",
					Type:              "Map",
				},
				"NotAction": &models.Property{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"NotPrincipal": &models.Property{
					PrimitiveItemType: "String",
					Type:              "Map",
				},
				"Resource": &models.Property{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Sid": &models.Property{
					PrimitiveType: "String",
				},
				"Action": &models.Property{
					PrimitiveItemType: "String",
					Type:              "List",
				},
				"Effect": &models.Property{
					PrimitiveType: "String",
				},
				"NotResource": &models.Property{
					PrimitiveItemType: "String",
					Type:              "List",
				},
			},
		},
	},
}

Iam is generated from the specification file

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL