From a65ee719d53f05fd04f5ad6df128c4a7af23b600 Mon Sep 17 00:00:00 2001
From: lunarxlark <lunarxlark@gmail.com>
Date: Sat, 30 Mar 2019 16:49:17 +0900
Subject: [PATCH 1/3] update yaml snippets with AWS CloudFormation Resource
 Specification.

---
 snippets/yaml-snippets.json | 18567 +++++++++++++++++++++++++++++++---
 1 file changed, 17115 insertions(+), 1452 deletions(-)

diff --git a/snippets/yaml-snippets.json b/snippets/yaml-snippets.json
index d26fb47..2911d46 100644
--- a/snippets/yaml-snippets.json
+++ b/snippets/yaml-snippets.json
@@ -1,1454 +1,17117 @@
 {
-	
-	"autoscaling-group-vpc": {
-		"prefix": "autoscaling-group-vpc",
-		"body": [
-			"${1:myAutoscalingGroup}: ",
-			"  Type: AWS::AutoScaling::AutoScalingGroup",
-			"  Properties:",
-			"    AutoScalingGroupName: ${2:asg}",
-			"    AvailabilityZones: !GetAZs ''",
-			"    LaunchConfigurationName: ${3:!Ref LaunchConfig}",
-			"    LoadBalancerNames:",
-			"      - !Ref ElasticLoadBalancer",
-			"    MaxSize: ${4:0}",
-			"    MinSize: ${5:0}",
-			"    VPCZoneIdentifier: ",
-			"      - ${6:vpc-id}",
-			"    Tags: ",
-			"      - Key: ${7:keyname}",
-			"        Value: ${8:value}",
-			"        PropagateAtLaunch: 'true'"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"autoscaling-group": {
-		"prefix": "autoscaling-group",
-		"body": [
-			"${1:asg}:",
-			"  Type: AWS::AutoScaling::AutoScalingGroup",
-			"  Properties:",
-			"    AvailabilityZones: !GetAZs ''",
-			"    LaunchConfigurationName: ",
-			"    MaxSize: 0",
-			"    MinSize: 0",
-			"    Tags:",
-			"      - Key: keyname",
-			"        Value: value",
-			"        PropagateAtLaunch: True|False"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"availability-zone": {
-		"prefix": "availability-zone",
-		"body": [
-			"!Join",
-			"  - ''",
-			"  - - !Ref 'AWS::Region'",
-			"    - ${1:'a'}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"cloudfront-distribution": {
-		"prefix": "cloudfront-distribution",
-		"body": [
-			"${1:cloudfrontDistribution}:",
-			"  Type: AWS::CloudFront::Distribution",
-			"  Properties:",
-			"    DistributionConfig:",
-			"      CacheBehaviors:",
-			"        - ",
-			"          ${2:behavior}",
-			"      DefaultCacheBehavior: ${3}",
-			"      IPV6Enabled: ${4:true | false}",
-			"      Origins:",
-			"        - ",
-			"          ${5:origin}",
-			"    Tags:",
-			"      - Key: ${6:key}",
-			"        Value: ${7:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"cloudtrail": {
-		"prefix": "cloudtrail",
-		"body": [
-			"${1:cloudTrail}:",
-			"  Type: AWS::CloudTrail::Trail",
-			"  Properties:",
-			"    S3BucketName: ${2}",
-			"    IncludeGlobalServiceEvents: ${3:true | false}",
-			"    IsLogging: ${4:true | false}",
-			"    S3KeyPrefix: ${5}",
-			"    SnsTopicName: ${6}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"cloudwatch-alarm": {
-		"prefix": "cloudwatch-alarm",
-		"body": [
-			"${1:cloudWatchAlarm}:",
-			"  Type: AWS::CloudWatch::Alarm",
-			"  Properties:",
-			"    MetricName: ${2}",
-			"    Namespace: ${3}",
-			"    ComparisonOperator: ${4}",
-			"    EvaluationPeriods: ${5}",
-			"    Period: ${6}",
-			"    Statistic: ${7}",
-			"    Threshold: ${8}",
-			"    ActionsEnabled: ${9:true|false}",
-			"    AlarmActions: ${9}",
-			"    AlarmDescription: ${10}",
-			"    AlarmName: ${11}",
-			"    Dimensions: ${12}",
-			"    InsufficientDataActions: ${13}",
-			"    OKActions: ${14}",
-			"    Unit: ${15}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"cloudwatch-events-eventrule": {
-		"prefix": "cloudwatch-events-eventrule",
-		"body": [
-			"${1:eventRule}:",
-			"  Type: AWS::Events::Rule",
-			"  Properties:",
-			"    Description: ${2}",
-			"    EventPattern:",
-			"      source:",
-			"        - ${3:\"\"} # Example: \"aws.ec2\"",
-			"      detail-type:",
-			"        - ${4:\"\"} # Example: \"EC2 Instance State-change Notification\"",
-			"      detail:",
-			"        state:",
-			"          - ${5:\"\"} # Example: \"stopping\"",
-			"    State: ${6} # Example: \"ENABLED\"}",
-			"    Targets:",
-			"    - ",
-			"      Arn: ${7}",
-			"      Id: ${8}",
-			"      RoleArn: ${9}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"cloudwatch-events-scheduledrule": {
-		"prefix": "cloudwatch-events-scheduledrule",
-		"body": [
-			"${1:scheduledRule}:",
-			"  Type: AWS::Events::Rule",
-			"  Properties:",
-			"    Description: ${2}",
-			"    ScheduleExpression: \"rate(10 minutes)\"",
-			"    State: ${6} \"ENABLED\"",
-			"    Targets:",
-			"    - ",
-			"      Arn: ${7}",
-			"      Id: ${8}",
-			"      RoleArn: ${9}",
-			"${10:permissionForEventsToInvokeLambda}:",
-			"  Type: AWS::Lambda::Permission",
-			"  Properties:",
-			"    FunctionName: ${11}",
-			"    Action: ${12} # Example: \"lambda:InvokeFunction\"",
-			"    Principal: ${13} # Example: \"events.amazonaws.com\"",
-			"    SourceArn: ${14}",
-			"      Fn::GetAtt:",
-			"        - \"scheduledRule\"",
-			"        - \"Arn\""
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"codecommit-repository": {
-		"prefix": "codecommit-repository",
-		"body": [
-			"${1:codeCommitRepository}:",
-			"  Type: AWS::CodeCommit::Repository",
-			"  Properties:",
-			"    RepositoryDescription: ${2}",
-			"    RepositoryName: ${3}",
-			"    Triggers:",
-			"      - ${4:trigger}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"dynamodb-table": {
-		"prefix": "dynamodb-table",
-		"body": [
-			"${1:dynamodbTable}:",
-			"  Type: AWS::DynamoDB::Table",
-			"  Properties:",
-			"    AttributeDefinitions:",
-			"      - ",
-			"        ${2:attribute definition}",
-			"    GlobalSecondaryIndexes:",
-			"      - ",
-			"        ${3:global secondary indexes}",
-			"    LocalSecondaryIndexes:",
-			"      - ",
-			"        ${4:local secondary indexes}",
-			"    KeySchema:",
-			"      - ",
-			"        ${5:key schema}",
-			"    ProvisionedThroughput: ${6}",
-			"    TableName: ${7}",
-			"    Tags:",
-			"      - Key: ${8:key}",
-			"        Value: ${9:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"ec2-instance": {
-		"prefix": "ec2-instance",
-		"body": [
-			"${1:myEC2Instance}:",
-			"  Type: AWS::EC2::Instance",
-			"  Properties:",
-			"    KeyName: ${2}",
-			"    DisableApiTermination: ${3}",
-			"    ImageId: ${4}",
-			"    InstanceType: ${5}",
-			"    Monitoring: ${6:true|false}",
-			"    SecurityGroupIds:",
-			"      - ${7:sg-id}",
-			"    Userdata: !Base64 |",
-			"      #!/bin/bash -ex",
-			"      # put your script here",
-			"    Tags:",
-			"      - Key: ${8:key}",
-			"        Value: ${9:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"ec2-volume": {
-		"prefix": "ec2-volume",
-		"body": [
-			"${1:ec2Volume}:",
-			"  Type: AWS::EC2::Volume",
-			"  Properties:",
-			"    AutoEnableIO: ${2:true|false}",
-			"    AvailabilityZone: ${3}",
-			"    Encrypted: ${4:true|false}",
-			"    KmsKeyId: ${5}",
-			"    Size: ${6:0}",
-			"    SnapshotId: ${7:snap-}",
-			"    VolumeType: ${8:standard|io1|gp2}",
-			"    Tags:",
-			"      - Key: ${9:key}",
-			"        Value: ${10:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"eip-vpc": {
-		"prefix": "eip-vpc",
-		"body": [
-			"${1:eipName}:",
-			"  Type: AWS::EC2::EIP",
-			"  Properties:",
-			"  Domain: vpc",
-			"  InstanceId: ${2:instance-id}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"elastic-load-balancer-vpc-internal": {
-		"prefix": "elastic-load-balancer-vpc-internal",
-		"body": [
-			"${1:myELBname}:",
-			"  Type: AWS::ElasticLoadBalancing::LoadBalancer",
-			"  Properties:",
-			"    Scheme: internal",
-			"    SecurityGroups:",
-			"      - ${2:sg-id}",
-			"    Subnets:",
-			"      - ${3:subnet-id}",
-			"    Instances:",
-			"      - ${4:instance-id}",
-			"    Listeners:",
-			"      - LoadBalancerPort: ${5}",
-			"        InstancePort: ${6}",
-			"        Protocol: ${7:HTTP|HTTPS|TCP|SSL}",
-			"        InstanceProtocol: ${8:HTTP|HTTPS|TCP|SSL}",
-			"      - LoadBalancerPort: ${9:'443'}",
-			"        InstancePort: ${10:'443'}",
-			"        Protocol: ${11:HTTPS}",
-			"        InstanceProtocol: ${12:HTTPS}",
-			"        SSLCertificateId: ${13}",
-			"    HealthCheck:",
-			"      Target: TCP:port or HTTPS|HTTP:port/PathToPing",
-			"      HealthyThreshold: ${14}",
-			"      Interval: ${15}",
-			"      Timeout: ${16}",
-			"      UnhealthyThreshold: ${17}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"elb-listener": {
-		"prefix": "elb-listener",
-		"body": [
-			"InstancePort: ${1}",
-			"InstanceProtocol: ${2:HTTP|HTTPS|TCP|SSL}",
-			"LoadBalancerPort: ${3}",
-			"Protocol: ${4:HTTP|HTTPS|TCP|SSL}",
-			"SSLCertificateId: ${5}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-accesskey": {
-		"prefix": "iam-accesskey",
-		"body": [
-			"${1:iamAccessKey:}",
-			"  Type: AWS::IAM::AccessKey",
-			"  Properties:",
-			"  Status: ${2}",
-			"  UserName: ${3}",
-			"  Serial: ${4}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-group": {
-		"prefix": "iam-group",
-		"body": [
-			"${1:iamGroup}:",
-			"  Type: AWS::IAM::Group",
-			"  Properties:",
-			"    Path: ${2}",
-			"    Policies:",
-			"      - ${policy}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-instanceprofile": {
-		"prefix": "iam-instanceprofile",
-		"body": [
-			"${1:iamInstanceProfile}:",
-			"  Type: AWS::IAM::InstanceProfile",
-			"  Properties:",
-			"    Path: ${2:/}",
-			"    Roles:",
-			"      - ${3:rolename}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-policy": {
-		"prefix": "iam-policy",
-		"body": [
-			"${1:iamPolicy}:",
-			"  Type: AWS::IAM::Policy",
-			"  Properties:",
-			"    PolicyName:${2}",
-			"    Groups:",
-			"     - ${3:group}",
-			"    Roles:",
-			"     - ${4:role}",
-			"    Users:",
-			"     - ${5:user}",
-			"    PolicyDocument: ${6: # policy document - can be JSON or YAML}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-role": {
-		"prefix": "iam-role",
-		"body": [
-			"${1:iamRole}:",
-			"  Type: AWS::IAM::Role",
-			"  Properties:",
-			"    Path:",
-			"    AssumeRolePolicyDocument: ",
-			"    Policies:",
-			"      - ",
-			"       PolicyName: \"root\"",
-			"       PolicyDocument:",
-			"         Version: \"2012-10-17\"",
-			"         Statement:",
-			"            - ",
-			"              Effect: \"Allow\"",
-			"              Action: \"*\"",
-			"              Resource: \"*\""
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-user": {
-		"prefix": "iam-user",
-		"body": [
-			"${1:iamUser:}",
-			"  Type: AWS::IAM::User",
-			"  Properties:",
-			"    Path: ${2:/}",
-			"    Groups:",
-			"      - ${3:groupname}",
-			"    LoginProfile:",
-			"      Password: ${4}",
-			"      PasswordResetRequired: ${5:true|false}",
-			"    Policies:",
-			"      - ${6:}policyname",
-			"    ManagedPolicyArns:",
-			"      - ${7:managedpolicyarn}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"iam-usertogroupaddition": {
-		"prefix": "iam-usertogroupaddition",
-		"body": [
-			"${1:iamUserToGroupAddition}:",
-			"  Type: AWS::IAM::UserToGroupAddition",
-			"  Properties:",
-			"    GroupName:${2}",
-			"    Users:",
-			"      - ${3:username}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"internet-gateway": {
-		"prefix": "internet-gateway",
-		"body": [
-			"${1:igwName}:",
-			"  Type: AWS::EC2::InternetGateway",
-			"  Properties:",
-			"    Tags:",
-			"      - Key: ${2:keyname}",
-			"        Value: ${3:value}",
-			"${4:AttachGateway}:",
-			"  Type: AWS::EC2::VPCGatewayAttachment",
-			"  Properties:",
-			"    VpcId: ${4:vpc-id}",
-			"    InternetGatewayId: !Ref ${1:igwName}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"kinesis-stream": {
-		"prefix": "kinesis-stream",
-		"body": [
-			"${1:kinesisStream}:",
-			"  Type: AWS::Kinesis::Stream",
-			"  Properties:",
-			"    Name:${2}",
-			"    RetentionPeriodHours: ${3:0}",
-			"    ShardCount: ${4:0}",
-			"    StreamEncryption:",
-			"      EncryptionType: KMS",
-			"      KeyId: ${5: # The GUID for the customer-managed KMS key to use for encryption}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"lambda-alias": {
-		"prefix": "lambda-alias",
-		"body": [
-			"${1:lambdaAlias}:",
-			"  Type: AWS::Lambda::Alias",
-			"  Properties:",
-			"    Description:${2}",
-			"    FunctionName:${3: #The version of the Lambda function that you want to associate with this alias.}",
-			"    FunctionVersion:${4}",
-			"    Name:${5: #A name for the alias}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"lambda-function": {
-		"prefix": "lambda-function",
-		"body": [
-			"${1:lambdaFunction}:",
-			"  Type: AWS::Lambda::Function",
-			"  Properties:",
-			"    Description: ${2}",
-			"    FunctionName: ${3}",
-			"    Handler: ${4}",
-			"    KmsKeyArn: ${5}",
-			"    MemorySize: ${6:128}",
-			"    Role: ${7:role-arn}",
-			"    Runtime: ${8:nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | java8 | python2.7 | python3.6 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | nodejs4.3-edge | go1.x}",
-			"    Timeout: ${9}",
-			"    VpcConfig:",
-			"      SecurityGroupIds:",
-			"        - ${10:sg-id}",
-			"      SubnetIds:",
-			"        - ${11:subnet-id}",
-			"    Environment:",
-			"      Variables:",
-			"        ${12:key1}: ${13:value1} # A map of key-value pairs that the Lambda function can access",
-			"    Code:",
-			"      S3Bucket: ${14}",
-			"      S3Key: ${15}",
-			"      S3ObjectVersion: ${16}",
-			"      ZipFile: ${17}",
-			"    Tags:",
-			"      - Key: ${18:keyname}",
-			"        Value: ${19:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"lambda-permission": {
-		"prefix": "lambda-permission",
-		"body": [
-			"${1:lambdaPermission}:",
-			"  Type: AWS::Lambda::Permission",
-			"  Properties:",
-			"    Action: ${2}",
-			"    FunctionName: ${3}",
-			"    Principal: ${4}",
-			"    SourceAccount: ${5}",
-			"    SourceArn: ${6}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"lambda-version": {
-		"prefix": "lambda-version",
-		"body": [
-			"${1:lambdaVersion}:",
-			"  Type: AWS::Lambda::Version",
-			"  Properties:",
-			"    Description: ${2}",
-			"    FunctionName: ${3}",
-			"    CodeSha256: ${4}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"launch-config": {
-		"prefix": "launch-config",
-		"body": [
-			"${1:launchConfigName}:",
-			"  Type: AWS::AutoScaling::LaunchConfiguration",
-			"  Properties:",
-			"    LaunchConfigurationName: ${2}",
-			"    AssociatePublicIpAddress: ${3:true|false}",
-			"    IamInstanceProfile: ${4:}",
-			"    ImageId: ${5}",
-			"    EbsOptimized: ${6:true|false}",
-			"    InstanceMonitoring: ${7:true|false}",
-			"    InstanceType: ${8}",
-			"    KernelId: ${9}",
-			"    KeyName: ${10}",
-			"    SecurityGroups:",
-			"      - ${11:sg-id}",
-			"    UserData:",
-			"      Fn::Base64: !Sub",
-			"        #!/bin/bash -ex # your script here"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"launch-template": {
-		"prefix": "launch-template",
-		"body": [
-			"${1:launchTemplateName}:",
-			"  Type: AWS::EC2::LaunchTemplate",
-			"  Properties:",
-			"    LaunchTemplateName: ${2}",
-			"    LaunchTemplateData: ${3}"
-		]
-	},
-	"logs-loggroup": {
-		"prefix": "logs-loggroup",
-		"body": [
-			"${1:logLogGroup}:",
-			"  Type: AWS::Logs::LogGroup",
-			"  Properties:",
-			"    RetentionInDays: ${2}",
-			"    LogGroupName: ${3}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"logs-metricfilter": {
-		"prefix": "logs-metricfilter",
-		"body": [
-			"${1:logsMetricFilter}:",
-			"  Type: AWS::Logs::MetricFilter",
-			"  Properties:",
-			"    FilterPattern: ${2} # Example: [..., request=*.html*, status_code=4*,]",
-			"    LogGroupName: ${3}",
-			"    MetricTransformations:",
-			"      - ",
-			"        MetricValue: ${4} # Example: \"1\"",
-			"        MetricNamespace: ${5} # Example: \"WebServer/404s\"",
-			"        MetricName: ${6} # Example: \"404Count\""
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"rds-dbinstance": {
-		"prefix": "rds-dbinstance",
-		"body": [
-			"${1:rdsDBInstance}:",
-			"  Type: AWS::RDS::DBInstance",
-			"  Properties:",
-			"    AllocatedStorage: ${2}",
-			"    DBInstanceClass: ${3}",
-			"    AllowMajorVersionUpgrade: ${4:true|false}",
-			"    AutoMinorVersionUpgrade: ${5:true|false}",
-			"    AvailabilityZone: ${6}",
-			"    BackupRetentionPeriod: ${7}",
-			"    CharacterSetName: ${8}",
-			"    DBInstanceIdentifier: ${9}",
-			"    DBName: ${10}",
-			"    DBParameterGroupName: ${11}",
-			"    DBSecurityGroups: ",
-			"      - ${12:db-sg-group}",
-			"    DBSnapshotIdentifier: ${13}",
-			"    DBSubnetGroupName: ${14}",
-			"    Engine: ${15:mysql|oracle}",
-			"    EngineVersion: ${16}",
-			"    Iops: ${17}",
-			"    KmsKeyId: ${18}",
-			"    LicenseModel: ${19}",
-			"    MasterUsername: ${20}",
-			"    MasterUserPassword: ${21}",
-			"    MultiAZ: ${22:true|false}",
-			"    OptionGroupName: ${23}",
-			"    Port: ${24}",
-			"    PreferredBackupWindow: ${25}",
-			"    PreferredMaintenanceWindow: ${26}",
-			"    PubliclyAccessible: ${27:true|false}",
-			"    SourceDBInstanceIdentifier: ${28}",
-			"    StorageEncrypted: ${29:true|false}",
-			"    StorageType: ${30}",
-			"    VPCSecurityGroups:",
-			"      - ${31:vpc-sg-id}",
-			"    Tags:",
-			"      - Key: ${32:keyname}",
-			"        Value: ${33:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"rds-dbparametergroup": {
-		"prefix": "rds-dbparametergroup",
-		"body": [
-			"${1:rdsDBParameterGroup}:",
-			"  Type: AWS::RDS::DBParameterGroup",
-			"  Properties:",
-			"    Description: ${2}",
-			"    Family: ${3}",
-			"    Parameters:",
-			"      ${4:key1}: ${5:value1}",
-			"      ${6:key2}: ${7:value2}",
-			"    Tags:",
-			"      - Key: ${8:keyname}",
-			"        Value: ${9:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"rds-dbsecuritygroup": {
-		"prefix": "rds-dbsecuritygroup",
-		"body": [
-			"${1:rdsDBSecurityGroup}:",
-			"  Type: AWS::RDS::DBSecurityGroup",
-			"  Properties:",
-			"    EC2VpcId: ${2}",
-			"    GroupDescription: ${3}",
-			"    DBSecurityGroupIngress:",
-			"      - ",
-			"        CIDRIP: ${4:--.--.--.--/--}",
-			"        DBSecurityGroupName: ${5}",
-			"        EC2SecurityGroupId: ${6}",
-			"        EC2SecurityGroupName: ${7}",
-			"        EC2SecurityGroupOwnerId: ${8}",
-			"      - ",
-			"        ${9: RDS Security Group Rule}",
-			"  Tags:",
-			"    - Key: ${10:keyname}",
-			"      Value: ${11:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"rds-dbsecuritygroupingress": {
-		"prefix": "rds-dbsecuritygroupingress",
-		"body": [
-			"CIDRIP: ${1:--.--.--.--/--}",
-			"DBSecurityGroupName: ${2}",
-			"EC2SecurityGroupId: ${3}",
-			"EC2SecurityGroupName: ${4}",
-			"EC2SecurityGroupOwnerId: ${5}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"rds-dbsubnetgroup": {
-		"prefix": "rds-dbsubnetgroup",
-		"body": [
-			"${1:rdsDBSubnetGroup}:",
-			"  Type: AWS::RDS::DBSubnetGroup",
-			"  Properties:",
-			"    DBSubnetGroupDescription: ${2}",
-			"    SubnetIds:",
-			"      - ${3:subnet-id}",
-			"  Tags:",
-			"    - Key: ${4:keyname}",
-			"      Value: ${5:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"rds-eventsubscription": {
-		"prefix": "rds-eventsubscription",
-		"body": [
-			"${1:rdsEventSubscription}:",
-			"Type: AWS::RDS::EventSubscription",
-			"Properties:",
-			"  Enabled: ${2:true | false}",
-			"  EventCategories:",
-			"    - ${3:event-category}",
-			"  SnsTopicArn: ${4}",
-			"  SourceIds:",
-			"    - ${5:source-id}",
-			"  SourceType: ${6}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"redshift-cluster": {
-		"prefix": "redshift-cluster",
-		"body": [
-			"${1:redshiftCluster}:",
-			"  Type: AWS::Redshift::Cluster",
-			"  Properties:",
-			"    AllowVersionUpgrade: ${2:true | false}",
-			"    AutomatedSnapshotRetentionPeriod: ${3}",
-			"    AvailabilityZone: ${4}",
-			"    ClusterParameterGroupName: ${5}",
-			"    ClusterSecurityGroups:",
-			"      - ${6:sg-id}",
-			"    ClusterSubnetGroupName: ${7}",
-			"    ClusterType: ${8}",
-			"    ClusterVersion: ${9}",
-			"    DBName: ${10}",
-			"    ElasticIp: ${11}",
-			"    Encrypted: ${12:true | false}",
-			"    HsmClientCertificateIdentifier: ${13}",
-			"    HsmConfigurationIdentifier: ${14}",
-			"    MasterUsername: ${15}",
-			"    MasterUserPassword: ${16}",
-			"    NodeType: ${17}",
-			"    NumberOfNodes: ${18}",
-			"    OwnerAccount: ${19}",
-			"    Port: ${20}",
-			"    PreferredMaintenanceWindow: ${21}",
-			"    PubliclyAccessible: ${22:true | false}",
-			"    SnapshotClusterIdentifier: ${23}",
-			"    SnapshotIdentifier: ${24}",
-			"    VpcSecurityGroupIds:",
-			"      - ${25:sg-id}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"redshift-clusterparametergroup": {
-		"prefix": "redshift-clusterparametergroup",
-		"body": [
-			"${1:redshiftClusterParameterGroup}:",
-			"  Type: AWS::Redshift::ClusterParameterGroup",
-			"  Properties:",
-			"    Description: ${2}",
-			"    ParameterGroupFamily: ${3}",
-			"    Parameters:",
-			"      - ${4:parameter}",
-			"    Tags:",
-			"      - Key: ${5:keyname}",
-			"        Value: ${6:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"redshift-clustersecuritygroup": {
-		"prefix": "redshift-clustersecuritygroup",
-		"body": [
-			"${1:redshiftClusterSecurityGroup}:",
-			"  Type: AWS::Redshift::ClusterSecurityGroup",
-			"  Properties:",
-			"    Description: ${2}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"redshift-clustersecuritygroupingress": {
-		"prefix": "redshift-clustersecuritygroupingress",
-		"body": [
-			"${1:redshiftClusterSecurityGroupIngress}:",
-			"  Type: AWS::Redshift::ClusterSecurityGroupIngress",
-			"  Properties:",
-			"    ClusterSecurityGroupName: ${2}",
-			"    CIDRIP: ${3}",
-			"    EC2SecurityGroupName: ${4}",
-			"    EC2SecurityGroupOwnerId: ${5}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"redshift-clustersubnetgroup": {
-		"prefix": "redshift-clustersubnetgroup",
-		"body": [
-			"${1:redshiftClusterSubnetGroup}:",
-			"  Type: AWS::Redshift::ClusterSubnetGroup",
-			"  Properties:",
-			"    Description: ${2}",
-			"    SubnetIds:",
-			"      - ${3:subnet-id}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"start": {
-		"prefix": "start",
-		"body": [
-			"AWSTemplateFormatVersion: 2010-09-09",
-			"Description: ${1:---}",
-			"Metadata: ${2}",
-			"\r",
-			"Parameters: ${3}",
-			"\r",
-			"Mappings: ${4}",
-			"\r",
-			"Conditions: ${5}",
-			"\r",
-			"Resources: ${6}",
-			"\r",
-			"Outputs:"
-		]
-	},
-	"find-in-map": {
-		"prefix": "find-in-map",
-		"body": [
-			"!FindInMap [ MappingName, keyname, value ]"
-		],
-		"description": "!FindInMap [ MappingName, keyname, value ]",
-		"scope": "source.cloudformation"
-	},
-	"get-attr": {
-		"prefix": "get-attr",
-		"body": "!GetAtt logicalNameOfResource.attributeName",
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"get-azs": {
-		"prefix": "get-azs",
-		"body": "!GetAZs ''",
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"if": {
-		"prefix": "if",
-		"body": [
-			"!If [condition_name, value_if_true, value_if_false]"
-		],
-		"description": "Intrinsic Function - If",
-		"scope": "source.cloudformation"
-	},
-	"ref": {
-		"prefix": "ref",
-		"body": "!Ref logicalName",
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"parameter-type-availabilityzone-name-list": {
-		"prefix": "parameter-type-availabilityzone-name-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::AvailabilityZone::Name>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-availabilityzone-name": {
-		"prefix": "parameter-type-availabilityzone-name",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::AvailabilityZone::Name",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-image-id-list": {
-		"prefix": "parameter-type-ec2-image-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::Image::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-image-id": {
-		"prefix": "parameter-type-ec2-image-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::Image::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-instance-id-list": {
-		"prefix": "parameter-type-ec2-instance-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::Instance::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-instance-id": {
-		"prefix": "parameter-type-ec2-instance-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::Instance::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-security-group-name-list": {
-		"prefix": "parameter-type-ec2-security-group-name-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::SecurityGroup::GroupName>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-security-group-name": {
-		"prefix": "parameter-type-ec2-security-group-name",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::SecurityGroup::GroupName",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-volume-id-list": {
-		"prefix": "parameter-type-ec2-volume-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::Volume::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-ec2-volume-id": {
-		"prefix": "parameter-type-ec2-volume-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::Volume::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-keypair-keyname": {
-		"prefix": "parameter-type-keypair-keyname",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::KeyPair::KeyName",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-route53-hostedzone-id-list": {
-		"prefix": "parameter-type-route53-hostedzone-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::Route53::HostedZone::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-route53-hostedzone-id": {
-		"prefix": "parameter-type-route53-hostedzone-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::Route53::HostedZone::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-securitygroup-id-list": {
-		"prefix": "parameter-type-securitygroup-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::SecurityGroup::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-securitygroup-id": {
-		"prefix": "parameter-type-securitygroup-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::SecurityGroup::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-subnet-id-list": {
-		"prefix": "parameter-type-subnet-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::Subnet::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-subnet-id": {
-		"prefix": "parameter-type-subnet-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::Subnet::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-vpc-id-list": {
-		"prefix": "parameter-type-vpc-id-list",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: List<AWS::EC2::VPC::Id>",
-			"  Default: ${3}"
-		]
-	},
-	"parameter-type-vpc-id": {
-		"prefix": "parameter-type-vpc-id",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ${2}",
-			"  Type: AWS::EC2::VPC::Id",
-			"  Default: ${3}"
-		]
-	},
-	"parameter": {
-		"prefix": "parameter",
-		"body": [
-			"${1:paramName}:",
-			"  Description: ",
-			"  Type: ${3:String|Number|CommaDelimitedList}",
-			"  Default: ${4:-}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"output": {
-		"prefix": "output",
-		"body": [
-			"${1:LogicalID}:",
-			"  Description: ${2:Information about the value}",
-			"  Value:",
-			"  Export: ",
-			"    Name:"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"tag": {
-		"prefix": "tag",
-		"body": [
-			"Key: ${1:keyname}",
-			"Value: ${2:value}"
-		]
-	},
-	"map": {
-		"prefix": "map",
-		"body": [
-			"${1:mapName}:",
-			"  ${2:mapping01}:",
-			"    ${3:key01}:",
-			"      Name: ${4:value01}",
-			"  ${5:mapping02}:",
-			"    ${6:key02}:",
-			"      Name: ${7:value02}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route-table-assoc": {
-		"prefix": "route-table-assoc",
-		"body": [
-			"${1:routeTableAssocName}:",
-			"  Type: AWS::EC2::SubnetRouteTableAssociation",
-			"  Properties:",
-			"    SubnetId: ${2:subnet-id}",
-			"    RouteTableId: ${3:rtable-id}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route-table": {
-		"prefix": "route-table",
-		"body": [
-			"${1:routeTableName}:",
-			"  Type: AWS::EC2::RouteTable",
-			"  Properties:",
-			"    VpcId: ${2:vpc-id}",
-			"    Tags:",
-			"      - Key: ${3:keyname}",
-			"        Value: ${4:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route": {
-		"prefix": "route",
-		"body": [
-			"${1:routeName}:",
-			"  Type: AWS::EC2::Route",
-			"  Properties:",
-			"    RouteTableId: ${2:rtable-id}",
-			"    DestinationCidrBlock: ${3:--.--.--.--/--}",
-			"    GatewayId: ${4:gataway-id}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route53-healthcheck": {
-		"prefix": "route53-healthcheck",
-		"body": [
-			"${1:route53HealthCheck}:",
-			"  Type: AWS::Route53::HealthCheck",
-			"  Properties:",
-			"    HealthCheckConfig:",
-			"      IPAddress: ${2:'000.000.000.000'}",
-			"      Port: ${3:'80'}",
-			"      Type: ${4:HTTP}",
-			"      ResourcePath: ${5:'/example/index.html'}",
-			"      FullyQualifiedDomainName: ${6:'example.com'}",
-			"      RequestInterval: ${7:'30'}",
-			"      FailureThreshold: ${8:'3'}",
-			"    HealthCheckTags:",
-			"      - ",
-			"        Key: ${9:\"SampleKey1\"}",
-			"        Value: ${10:\"SampleValue1\"}",
-			"      - ",
-			"        Key: ${11:\"SampleKey2\"}",
-			"        Value: ${12:\"SampleValue2\"}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route53-hostedzone": {
-		"prefix": "route53-hostedzone",
-		"body": [
-			"${1:route53HostedZone}:",
-			"  Type: AWS::Route53::HostedZone",
-			"  Properties:",
-			"    Name: ${2}",
-			"    HostedZoneConfig:",
-			"      Comment: ${3:My hosted zone for example.com}",
-			"    VPCs:",
-			"      - ",
-			"        VPCId: ${4:\"vpc-id\"}",
-			"        VPCRegion: ${5:\"vpc-region\"}",
-			"    HostedZoneTags:",
-			"      - ",
-			"        Key: ${6:\"SampleKey1\"}",
-			"        Value: ${7:\"SampleValue1\"}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route53-recordsetgroup": {
-		"prefix": "route53-recordsetgroup",
-		"body": [
-			"${1:route53RSGroup}:",
-			"  Type: AWS::Route53::RecordSetGroup",
-			"  Properties:",
-			"    Comment: ${2}",
-			"    HostedZoneId: ${3}",
-			"    HostedZoneName: ${4}",
-			"    RecordSets: ",
-			"    - ${5:recordset}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"route53-recordset": {
-		"prefix": "route53-recordset",
-		"body": [
-			"${1:route53RS}:",
-			"  Type: AWS::Route53::RecordSet",
-			"  Properties:",
-			"    Name: ${2}",
-			"    Comment: ${3}",
-			"    Type: ${4:A | AAAA | CNAME | MX | NS | PTR | SOA | SPF | SRV | TXT}",
-			"    TTL: ${5}",
-			"    AliasTarget: ${6}",
-			"    Failover: ${7}",
-			"    GeoLocation: ${8}",
-			"    HealthCheckId: ${9}",
-			"    HostedZoneId: ${10}",
-			"    HostedZoneName: ${11}",
-			"    Region: ${12}",
-			"    ResourceRecords: ${13}",
-			"    - ${14:record}",
-			"    SetIdentifier: ${15}",
-			"    Weight: ${16}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"s3-bucket": {
-		"prefix": "s3-bucket",
-		"body": [
-			"${1:s3Bucket}:",
-			"  Type: AWS::S3::Bucket",
-			"  Properties: ",
-			"    AccessControl: ${2:Private | PublicRead | PublicReadWrite | AuthenticatedRead | LogDeliveryWrite | BucketOwnerRead | BucketOwnerFullControl}",
-			"    Bucketname: ${3}",
-			"    CorsConfiguration: ${4}",
-			"    LifecycleConfiguration: ${5}",
-			"    NotificationConfiguration: ${6}",
-			"    VersioningConfiguration: ${7}",
-			"    WebsiteConfiguration: ${8}",
-			"    Tags:",
-			"      - Key: ${9:key}",
-			"        Value: ${10:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"s3-bucketpolicy": {
-		"prefix": "s3-bucketpolicy",
-		"body": [
-			"${1:s3BucketPolicy}:",
-			"  Type: AWS::S3::BucketPolicy",
-			"  Properties:",
-			"    Bucket: ${2}",
-			"    PolicyDocument: ${3}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"security-group": {
-		"prefix": "security-group",
-		"body": [
-			"${1:secGroupName}:",
-			"  Type: AWS::EC2::SecurityGroup",
-			"  Properties:",
-			"    GroupName: ${2}",
-			"    GroupDescription: ${3}",
-			"    VpcId:${4}",
-			"    SecurityGroupIngress:",
-			"      - ${5:Security Group Rule}",
-			"    SecurityGroupEgress:",
-			"      - ${6:Security Group Rule}",
-			"    Tags:",
-			"      - Key:${7}",
-			"        Value:${8}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"security-group-egress-cidr": {
-		"prefix": "security-group-egress-cidr",
-		"body": [
-			"IpProtocol: ${1:[tcp|udp|ip]}",
-			"FromPort: ${2}",
-			"ToPort: ${3}",
-			"CidrIp: ${4:--.--.--.--/--}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"security-group-ingress-cidr": {
-		"prefix": "security-group-ingress-cidr",
-		"body": [
-			"IpProtocol: ${1:[tcp|udp|ip]}",
-			"FromPort: ${2}",
-			"ToPort: ${3}",
-			"CidrIp: ${4:--.--.--.--/--}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"subnet": {
-		"prefix": "subnet",
-		"body": [
-			"${1:subnetName}:",
-			"  Type: AWS::EC2::Subnet",
-			"  Properties:",
-			"    AvailabilityZone: ${2:zone-id}",
-			"    VpcId: ${3:vpc-id}",
-			"    CidrBlock: ${4:--.--.--.--/--}",
-			"    Tags:",
-			"      - Key: ${5:keyname}",
-			"        Value: ${6:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"sns-topic": {
-		"prefix": "sns-topic",
-		"body": [
-			"${1:snsTopic}:",
-			"  Type: AWS::SNS::Topic",
-			"  Properties:",
-			"    DisplayName: ${2}",
-			"    Subscription: ${3}",
-			"    TopicName: ${4}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"sns-topicpolicy": {
-		"prefix": "sns-topicpolicy",
-		"body": [
-			"${1:snsTopicPolicy}:",
-			"Type: AWS::SNS::TopicPolicy",
-			"Properties:",
-			"  Topics:",
-			"    - ",
-			"      ${2:sns-topic-arn}",
-			"  PolicyDocument: ${3:# A policy document. JSON or YAML}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"sqs-queuepolicy": {
-		"prefix": "sqs-queuepolicy",
-		"body": [
-			"${1:sqsQueuePolicy}:",
-			"  Type: AWS::SQS::QueuePolicy",
-			"  Properties:",
-			"    Queues:",
-			"      - ",
-			"        ${2:sqs-id}",
-			"    PolicyDocument: ${3:# include in JSON format}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"sqs-queue": {
-		"prefix": "sqs-queue",
-		"body": [
-			"${1:sqsQueue}:",
-			"  Type: AWS::SQS::Queue",
-			"  Properties:",
-			"    QueueName: ${2}",
-			"    DelaySeconds: ${3}",
-			"    MaximumMessageSize: ${4}",
-			"    MessageRetentionPeriod: ${5}",
-			"    ReceiveMessageWaitTimeSeconds: ${6}",
-			"    RedrivePolicy: ${6}",
-			"    VisibilityTimeout: ${7}",
-			"    FifoQueue: ${8: true | false}",
-			"    Tags:",
-			"      - Key: ${9:keyname}",
-			"        Value: ${10:value}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"vpc": {
-		"prefix": "vpc",
-		"body": [
-			"${1:myVPC}:",
-			"  Type: AWS::EC2::VPC",
-			"  Properties:",
-			"    CidrBlock: ${2:--.--.--.--/--}",
-			"    EnableDnsSupport: ${3:true}",
-			"    Tags:",
-			"      - Key: ${4:keyname}",
-			"        Value: ${5:value}"
-		]
-	},
-	"vpn-gateway": {
-		"prefix": "vpn-gateway",
-		"body": [
-			"${1:vgwName}:",
-			"  Type: AWS::EC2::VPNGateway",
-			"  Properties:",
-			"    Type: ipsec.1",
-			"    Tags:",
-			"      - Key: ${2:keyname}",
-			"        Value: ${3:value}",
-			"${4:AttachVpnGateway}:",
-			"  Type: AWS::EC2::VPCGatewayAttachment",
-			"  Properties:",
-			"    VpcId: ${4:vpc-id}",
-			"    VpnGatewayId: !Ref ${1:vgwName}"
-		],
-		"description": "",
-		"scope": "source.cloudformation"
-	},
-	"code-pipeline": {
-		"prefix": "code-pipeline",
-		"body": [
-			"${1:codepipeline}:",
-			"  Type: AWS::CodePipeline::Pipeline",
-			"  Properties:",
-			"    Name: ${2:name}",
-			"    RoleArn: ${3}",
-			"    ArtifactStore:",
-			"      Type: S3",
-			"      Location: ${4}",
-			"    Stages: ${5}",
-			"      - ",
-			"        Name: ${6:name}",
-			"        Actions:",
-			"          - ${7:actions}",
-			"        Blockers:",
-			"          - ${8:blockers}",
-			"    RestartExecutionOnUpdate: ${9:true | false}",
-			"    DisableInboundStageTransitions: ${10}"
-		],
-		"description": "",
-		"scope": "json"
-	},
-	"code-pipeline-stage": {
-		"prefix": "code-pipeline-stage",
-		"body": [
-			"Name: ${1:name}",
-			"Actions:",
-			"  - ${2:actions}",
-			"Blockers:",
-			"  - ${3:blockers}"
-		],
-		"description": "",
-		"scope": "json"
-	},
-	"code-pipeline-action": {
-		"prefix": "code-pipeline-action",
-		"body": [
-			"Name: ${1:\"actionName\"}",
-			"ActionTypeId:",
-			"  Category: ${2:Source | Build | Deploy | Test | Invoke | Approval}",
-			"  Owner: ${3:AWS | ThirdParty | Custom}",
-			"  Provider: ${4:S3|CodeCommit|GitHub|CloudFormation|CodeBuild|CodeDeploy|ElasticBeanstalk|Lambda|ECS|jenkinsProviderName}",
-			"  Version: \"1\"",
-			"Configuration:",
-			"    ${5:key: value}",
-			"InputArtifacts:",
-			"    - ",
-			"      ${6:inputartifact}",
-			"OutputArtifacts:",
-			"    - ",
-			"      ${7:outputartifact}",
-			"RoleArn: ${8:\"\"}",
-			"RunOrder: ${9:1|2|3|4}"
-		],
-		"description": "",
-		"scope": "json"
-	}
+    "template":{
+        "prefix":"template",
+        "body":[
+            "AWSTemplateFormatVersion: \"2010-09-09\"",
+            "Description: ${1:desc}",
+            "Parameters:",
+            "  ${2:param}",
+            "Mappings:",
+            "  ${3:map}",
+            "Resources:",
+            "  ${4:rsrc}",
+            "Outputs:",
+            "  ${5:out}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-configurationtemplate":{
+        "prefix":"aws-elasticbeanstalk-configurationtemplate",
+        "body":[
+            "${1:myAWSElasticBeanstalkConfigurationTemplate}:",
+            "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    EnvironmentId : ${4:String(O)}",
+            "    OptionSettings : [ ${5:aws-elasticbeanstalk-configurationtemplate.configurationoptionsetting(O)} ]",
+            "    PlatformArn : ${6:String(O)}",
+            "    SolutionStackName : ${7:String(O)}",
+            "    SourceConfiguration: ${8:aws-elasticbeanstalk-configurationtemplate.sourceconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-broker":{
+        "prefix":"aws-amazonmq-broker",
+        "body":[
+            "${1:myAWSAmazonMQBroker}:",
+            "  Type: AWS::AmazonMQ::Broker",
+            "  Properties:",
+            "    SecurityGroups : [ ${2:String(O)} ]",
+            "    EngineVersion : ${3:String(R)}",
+            "    Configuration: ${4:aws-amazonmq-broker.configurationid(O)}",
+            "    MaintenanceWindowStartTime: ${5:aws-amazonmq-broker.maintenancewindow(O)}",
+            "    HostInstanceType : ${6:String(R)}",
+            "    AutoMinorVersionUpgrade : ${7:Boolean(R)}",
+            "    Users : [ ${8:aws-amazonmq-broker.user(R)} ]",
+            "    Logs: ${9:aws-amazonmq-broker.loglist(O)}",
+            "    SubnetIds : [ ${10:String(O)} ]",
+            "    BrokerName : ${11:String(R)}",
+            "    DeploymentMode : ${12:String(R)}",
+            "    EngineType : ${13:String(R)}",
+            "    PubliclyAccessible : ${14:Boolean(R)}",
+            "    Tags : [ ${15:aws-amazonmq-broker.tagsentry(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-routetable":{
+        "prefix":"aws-ec2-routetable",
+        "body":[
+            "${1:myAWSEC2RouteTable}:",
+            "  Type: AWS::EC2::RouteTable",
+            "  Properties:",
+            "    Tags : [ ${2:aws-ec2-routetable.tag(O)} ]",
+            "    VpcId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource":{
+        "prefix":"aws-appsync-datasource",
+        "body":[
+            "${1:myAWSAppSyncDataSource}:",
+            "  Type: AWS::AppSync::DataSource",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    ServiceRoleArn : ${4:String(O)}",
+            "    HttpConfig: ${5:aws-appsync-datasource.httpconfig(O)}",
+            "    RelationalDatabaseConfig: ${6:aws-appsync-datasource.relationaldatabaseconfig(O)}",
+            "    LambdaConfig: ${7:aws-appsync-datasource.lambdaconfig(O)}",
+            "    ApiId : ${8:String(R)}",
+            "    Name : ${9:String(R)}",
+            "    DynamoDBConfig: ${10:aws-appsync-datasource.dynamodbconfig(O)}",
+            "    ElasticsearchConfig: ${11:aws-appsync-datasource.elasticsearchconfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-portfolioshare":{
+        "prefix":"aws-servicecatalog-portfolioshare",
+        "body":[
+            "${1:myAWSServiceCatalogPortfolioShare}:",
+            "  Type: AWS::ServiceCatalog::PortfolioShare",
+            "  Properties:",
+            "    AccountId : ${2:String(R)}",
+            "    AcceptLanguage : ${3:String(O)}",
+            "    PortfolioId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-group":{
+        "prefix":"aws-greengrass-group",
+        "body":[
+            "${1:myAWSGreengrassGroup}:",
+            "  Type: AWS::Greengrass::Group",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-group.groupversion(O)}",
+            "    RoleArn : ${3:String(O)}",
+            "    Name : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypoolroleattachment":{
+        "prefix":"aws-cognito-identitypoolroleattachment",
+        "body":[
+            "${1:myAWSCognitoIdentityPoolRoleAttachment}:",
+            "  Type: AWS::Cognito::IdentityPoolRoleAttachment",
+            "  Properties:",
+            "    RoleMappings : ${2:Json(O)}",
+            "    IdentityPoolId : ${3:String(R)}",
+            "    Roles : ${4:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule":{
+        "prefix":"aws-events-rule",
+        "body":[
+            "${1:myAWSEventsRule}:",
+            "  Type: AWS::Events::Rule",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    EventPattern : ${3:Json(O)}",
+            "    Name : ${4:String(O)}",
+            "    RoleArn : ${5:String(O)}",
+            "    ScheduleExpression : ${6:String(O)}",
+            "    State : ${7:String(O)}",
+            "    Targets : [ ${8:aws-events-rule.target(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-ipset":{
+        "prefix":"aws-waf-ipset",
+        "body":[
+            "${1:myAWSWAFIPSet}:",
+            "  Type: AWS::WAF::IPSet",
+            "  Properties:",
+            "    IPSetDescriptors : [ ${2:aws-waf-ipset.ipsetdescriptor(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-group":{
+        "prefix":"aws-iam-group",
+        "body":[
+            "${1:myAWSIAMGroup}:",
+            "  Type: AWS::IAM::Group",
+            "  Properties:",
+            "    GroupName : ${2:String(O)}",
+            "    ManagedPolicyArns : [ ${3:String(O)} ]",
+            "    Path : ${4:String(O)}",
+            "    Policies : [ ${5:aws-iam-group.policy(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-customactiontype":{
+        "prefix":"aws-codepipeline-customactiontype",
+        "body":[
+            "${1:myAWSCodePipelineCustomActionType}:",
+            "  Type: AWS::CodePipeline::CustomActionType",
+            "  Properties:",
+            "    Category : ${2:String(R)}",
+            "    ConfigurationProperties : [ ${3:aws-codepipeline-customactiontype.configurationproperties(O)} ]",
+            "    InputArtifactDetails: ${4:aws-codepipeline-customactiontype.artifactdetails(R)}",
+            "    OutputArtifactDetails: ${5:aws-codepipeline-customactiontype.artifactdetails(R)}",
+            "    Provider : ${6:String(R)}",
+            "    Settings: ${7:aws-codepipeline-customactiontype.settings(O)}",
+            "    Version : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode":{
+        "prefix":"aws-appmesh-virtualnode",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode}:",
+            "  Type: AWS::AppMesh::VirtualNode",
+            "  Properties:",
+            "    MeshName : ${2:String(R)}",
+            "    Spec: ${3:aws-appmesh-virtualnode.virtualnodespec(R)}",
+            "    VirtualNodeName : ${4:String(R)}",
+            "    Tags : [ ${5:aws-appmesh-virtualnode.tagref(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualrouter":{
+        "prefix":"aws-appmesh-virtualrouter",
+        "body":[
+            "${1:myAWSAppMeshVirtualRouter}:",
+            "  Type: AWS::AppMesh::VirtualRouter",
+            "  Properties:",
+            "    MeshName : ${2:String(R)}",
+            "    VirtualRouterName : ${3:String(R)}",
+            "    Spec: ${4:aws-appmesh-virtualrouter.virtualrouterspec(R)}",
+            "    Tags : [ ${5:aws-appmesh-virtualrouter.tagref(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-connectordefinition":{
+        "prefix":"aws-greengrass-connectordefinition",
+        "body":[
+            "${1:myAWSGreengrassConnectorDefinition}:",
+            "  Type: AWS::Greengrass::ConnectorDefinition",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-connectordefinition.connectordefinitionversion(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpcpeeringconnection":{
+        "prefix":"aws-ec2-vpcpeeringconnection",
+        "body":[
+            "${1:myAWSEC2VPCPeeringConnection}:",
+            "  Type: AWS::EC2::VPCPeeringConnection",
+            "  Properties:",
+            "    PeerOwnerId : ${2:String(O)}",
+            "    PeerRegion : ${3:String(O)}",
+            "    PeerRoleArn : ${4:String(O)}",
+            "    PeerVpcId : ${5:String(R)}",
+            "    Tags : [ ${6:aws-ec2-vpcpeeringconnection.tag(O)} ]",
+            "    VpcId : ${7:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-placementgroup":{
+        "prefix":"aws-ec2-placementgroup",
+        "body":[
+            "${1:myAWSEC2PlacementGroup}:",
+            "  Type: AWS::EC2::PlacementGroup",
+            "  Properties:",
+            "    Strategy : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain":{
+        "prefix":"aws-elasticsearch-domain",
+        "body":[
+            "${1:myAWSElasticsearchDomain}:",
+            "  Type: AWS::Elasticsearch::Domain",
+            "  Properties:",
+            "    AccessPolicies : ${2:Json(O)}",
+            "    AdvancedOptions : [ ${3:String(O)} ]",
+            "    DomainName : ${4:String(O)}",
+            "    EBSOptions: ${5:aws-elasticsearch-domain.ebsoptions(O)}",
+            "    ElasticsearchClusterConfig: ${6:aws-elasticsearch-domain.elasticsearchclusterconfig(O)}",
+            "    ElasticsearchVersion : ${7:String(O)}",
+            "    EncryptionAtRestOptions: ${8:aws-elasticsearch-domain.encryptionatrestoptions(O)}",
+            "    NodeToNodeEncryptionOptions: ${9:aws-elasticsearch-domain.nodetonodeencryptionoptions(O)}",
+            "    SnapshotOptions: ${10:aws-elasticsearch-domain.snapshotoptions(O)}",
+            "    Tags : [ ${11:aws-elasticsearch-domain.tag(O)} ]",
+            "    VPCOptions: ${12:aws-elasticsearch-domain.vpcoptions(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-requestvalidator":{
+        "prefix":"aws-apigateway-requestvalidator",
+        "body":[
+            "${1:myAWSApiGatewayRequestValidator}:",
+            "  Type: AWS::ApiGateway::RequestValidator",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    RestApiId : ${3:String(R)}",
+            "    ValidateRequestBody : ${4:Boolean(O)}",
+            "    ValidateRequestParameters : ${5:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-sizeconstraintset":{
+        "prefix":"aws-wafregional-sizeconstraintset",
+        "body":[
+            "${1:myAWSWAFRegionalSizeConstraintSet}:",
+            "  Type: AWS::WAFRegional::SizeConstraintSet",
+            "  Properties:",
+            "    SizeConstraints : [ ${2:aws-wafregional-sizeconstraintset.sizeconstraint(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualservice":{
+        "prefix":"aws-appmesh-virtualservice",
+        "body":[
+            "${1:myAWSAppMeshVirtualService}:",
+            "  Type: AWS::AppMesh::VirtualService",
+            "  Properties:",
+            "    MeshName : ${2:String(R)}",
+            "    VirtualServiceName : ${3:String(R)}",
+            "    Spec: ${4:aws-appmesh-virtualservice.virtualservicespec(R)}",
+            "    Tags : [ ${5:aws-appmesh-virtualservice.tagref(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbsecuritygroupingress":{
+        "prefix":"aws-rds-dbsecuritygroupingress",
+        "body":[
+            "${1:myAWSRDSDBSecurityGroupIngress}:",
+            "  Type: AWS::RDS::DBSecurityGroupIngress",
+            "  Properties:",
+            "    CIDRIP : ${2:String(O)}",
+            "    DBSecurityGroupName : ${3:String(R)}",
+            "    EC2SecurityGroupId : ${4:String(O)}",
+            "    EC2SecurityGroupName : ${5:String(O)}",
+            "    EC2SecurityGroupOwnerId : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-workspaces-workspace":{
+        "prefix":"aws-workspaces-workspace",
+        "body":[
+            "${1:myAWSWorkSpacesWorkspace}:",
+            "  Type: AWS::WorkSpaces::Workspace",
+            "  Properties:",
+            "    BundleId : ${2:String(R)}",
+            "    DirectoryId : ${3:String(R)}",
+            "    RootVolumeEncryptionEnabled : ${4:Boolean(O)}",
+            "    Tags : [ ${5:aws-workspaces-workspace.tag(O)} ]",
+            "    UserName : ${6:String(R)}",
+            "    UserVolumeEncryptionEnabled : ${7:Boolean(O)}",
+            "    VolumeEncryptionKey : ${8:String(O)}",
+            "    WorkspaceProperties: ${9:aws-workspaces-workspace.workspaceproperties(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig":{
+        "prefix":"aws-emr-instancefleetconfig",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig}:",
+            "  Type: AWS::EMR::InstanceFleetConfig",
+            "  Properties:",
+            "    ClusterId : ${2:String(R)}",
+            "    InstanceFleetType : ${3:String(R)}",
+            "    InstanceTypeConfigs : [ ${4:aws-emr-instancefleetconfig.instancetypeconfig(O)} ]",
+            "    LaunchSpecifications: ${5:aws-emr-instancefleetconfig.instancefleetprovisioningspecifications(O)}",
+            "    Name : ${6:String(O)}",
+            "    TargetOnDemandCapacity : ${7:Integer(O)}",
+            "    TargetSpotCapacity : ${8:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-sqlinjectionmatchset":{
+        "prefix":"aws-wafregional-sqlinjectionmatchset",
+        "body":[
+            "${1:myAWSWAFRegionalSqlInjectionMatchSet}:",
+            "  Type: AWS::WAFRegional::SqlInjectionMatchSet",
+            "  Properties:",
+            "    SqlInjectionMatchTuples : [ ${2:aws-wafregional-sqlinjectionmatchset.sqlinjectionmatchtuple(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-route":{
+        "prefix":"aws-apigatewayv2-route",
+        "body":[
+            "${1:myAWSApiGatewayV2Route}:",
+            "  Type: AWS::ApiGatewayV2::Route",
+            "  Properties:",
+            "    Target : ${2:String(O)}",
+            "    RouteResponseSelectionExpression : ${3:String(O)}",
+            "    AuthorizerId : ${4:String(O)}",
+            "    RequestModels : ${5:Json(O)}",
+            "    OperationName : ${6:String(O)}",
+            "    AuthorizationScopes : [ ${7:String(O)} ]",
+            "    ApiKeyRequired : ${8:Boolean(O)}",
+            "    RouteKey : ${9:String(R)}",
+            "    AuthorizationType : ${10:String(O)}",
+            "    ModelSelectionExpression : ${11:String(O)}",
+            "    ApiId : ${12:String(R)}",
+            "    RequestParameters : ${13:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-logs-loggroup":{
+        "prefix":"aws-logs-loggroup",
+        "body":[
+            "${1:myAWSLogsLogGroup}:",
+            "  Type: AWS::Logs::LogGroup",
+            "  Properties:",
+            "    LogGroupName : ${2:String(O)}",
+            "    RetentionInDays : ${3:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-webhook":{
+        "prefix":"aws-codepipeline-webhook",
+        "body":[
+            "${1:myAWSCodePipelineWebhook}:",
+            "  Type: AWS::CodePipeline::Webhook",
+            "  Properties:",
+            "    AuthenticationConfiguration: ${2:aws-codepipeline-webhook.webhookauthconfiguration(R)}",
+            "    Filters : [ ${3:aws-codepipeline-webhook.webhookfilterrule(R)} ]",
+            "    Authentication : ${4:String(R)}",
+            "    TargetPipeline : ${5:String(R)}",
+            "    TargetAction : ${6:String(R)}",
+            "    Name : ${7:String(O)}",
+            "    TargetPipelineVersion : ${8:Integer(R)}",
+            "    RegisterWithThirdParty : ${9:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ram-resourceshare":{
+        "prefix":"aws-ram-resourceshare",
+        "body":[
+            "${1:myAWSRAMResourceShare}:",
+            "  Type: AWS::RAM::ResourceShare",
+            "  Properties:",
+            "    Principals : [ ${2:String(O)} ]",
+            "    AllowExternalPrincipals : ${3:Boolean(O)}",
+            "    ResourceArns : [ ${4:String(O)} ]",
+            "    Tags : [ ${5:aws-ram-resourceshare.tag(O)} ]",
+            "    Name : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesis-stream":{
+        "prefix":"aws-kinesis-stream",
+        "body":[
+            "${1:myAWSKinesisStream}:",
+            "  Type: AWS::Kinesis::Stream",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    RetentionPeriodHours : ${3:Integer(O)}",
+            "    ShardCount : ${4:Integer(R)}",
+            "    StreamEncryption: ${5:aws-kinesis-stream.streamencryption(O)}",
+            "    Tags : [ ${6:aws-kinesis-stream.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-launchconfiguration":{
+        "prefix":"aws-autoscaling-launchconfiguration",
+        "body":[
+            "${1:myAWSAutoScalingLaunchConfiguration}:",
+            "  Type: AWS::AutoScaling::LaunchConfiguration",
+            "  Properties:",
+            "    AssociatePublicIpAddress : ${2:Boolean(O)}",
+            "    BlockDeviceMappings : [ ${3:aws-autoscaling-launchconfiguration.blockdevicemapping(O)} ]",
+            "    ClassicLinkVPCId : ${4:String(O)}",
+            "    ClassicLinkVPCSecurityGroups : [ ${5:String(O)} ]",
+            "    EbsOptimized : ${6:Boolean(O)}",
+            "    IamInstanceProfile : ${7:String(O)}",
+            "    ImageId : ${8:String(R)}",
+            "    InstanceId : ${9:String(O)}",
+            "    InstanceMonitoring : ${10:Boolean(O)}",
+            "    InstanceType : ${11:String(R)}",
+            "    KernelId : ${12:String(O)}",
+            "    KeyName : ${13:String(O)}",
+            "    LaunchConfigurationName : ${14:String(O)}",
+            "    PlacementTenancy : ${15:String(O)}",
+            "    RamDiskId : ${16:String(O)}",
+            "    SecurityGroups : [ ${17:String(O)} ]",
+            "    SpotPrice : ${18:String(O)}",
+            "    UserData : ${19:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-transitgateway":{
+        "prefix":"aws-ec2-transitgateway",
+        "body":[
+            "${1:myAWSEC2TransitGateway}:",
+            "  Type: AWS::EC2::TransitGateway",
+            "  Properties:",
+            "    DefaultRouteTablePropagation : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    AutoAcceptSharedAttachments : ${4:String(O)}",
+            "    DefaultRouteTableAssociation : ${5:String(O)}",
+            "    VpnEcmpSupport : ${6:String(O)}",
+            "    DnsSupport : ${7:String(O)}",
+            "    AmazonSideAsn : ${8:Integer(O)}",
+            "    Tags : [ ${9:aws-ec2-transitgateway.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sqs-queue":{
+        "prefix":"aws-sqs-queue",
+        "body":[
+            "${1:myAWSSQSQueue}:",
+            "  Type: AWS::SQS::Queue",
+            "  Properties:",
+            "    ContentBasedDeduplication : ${2:Boolean(O)}",
+            "    DelaySeconds : ${3:Integer(O)}",
+            "    FifoQueue : ${4:Boolean(O)}",
+            "    KmsDataKeyReusePeriodSeconds : ${5:Integer(O)}",
+            "    KmsMasterKeyId : ${6:String(O)}",
+            "    MaximumMessageSize : ${7:Integer(O)}",
+            "    MessageRetentionPeriod : ${8:Integer(O)}",
+            "    QueueName : ${9:String(O)}",
+            "    ReceiveMessageWaitTimeSeconds : ${10:Integer(O)}",
+            "    RedrivePolicy : ${11:Json(O)}",
+            "    Tags : [ ${12:aws-sqs-queue.tag(O)} ]",
+            "    VisibilityTimeout : ${13:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-resolver":{
+        "prefix":"aws-appsync-resolver",
+        "body":[
+            "${1:myAWSAppSyncResolver}:",
+            "  Type: AWS::AppSync::Resolver",
+            "  Properties:",
+            "    ResponseMappingTemplateS3Location : ${2:String(O)}",
+            "    TypeName : ${3:String(R)}",
+            "    PipelineConfig: ${4:aws-appsync-resolver.pipelineconfig(O)}",
+            "    DataSourceName : ${5:String(O)}",
+            "    RequestMappingTemplate : ${6:String(O)}",
+            "    ResponseMappingTemplate : ${7:String(O)}",
+            "    Kind : ${8:String(O)}",
+            "    RequestMappingTemplateS3Location : ${9:String(O)}",
+            "    ApiId : ${10:String(R)}",
+            "    FieldName : ${11:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan":{
+        "prefix":"aws-autoscalingplans-scalingplan",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan",
+            "  Properties:",
+            "    ApplicationSource: ${2:aws-autoscalingplans-scalingplan.applicationsource(R)}",
+            "    ScalingInstructions : [ ${3:aws-autoscalingplans-scalingplan.scalinginstruction(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-imagebuilder":{
+        "prefix":"aws-appstream-imagebuilder",
+        "body":[
+            "${1:myAWSAppStreamImageBuilder}:",
+            "  Type: AWS::AppStream::ImageBuilder",
+            "  Properties:",
+            "    ImageName : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    VpcConfig: ${4:aws-appstream-imagebuilder.vpcconfig(O)}",
+            "    EnableDefaultInternetAccess : ${5:Boolean(O)}",
+            "    DisplayName : ${6:String(O)}",
+            "    DomainJoinInfo: ${7:aws-appstream-imagebuilder.domainjoininfo(O)}",
+            "    AppstreamAgentVersion : ${8:String(O)}",
+            "    InstanceType : ${9:String(R)}",
+            "    Tags : [ ${10:aws-appstream-imagebuilder.tag(O)} ]",
+            "    Name : ${11:String(O)}",
+            "    ImageArn : ${12:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpcendpointservicepermissions":{
+        "prefix":"aws-ec2-vpcendpointservicepermissions",
+        "body":[
+            "${1:myAWSEC2VPCEndpointServicePermissions}:",
+            "  Type: AWS::EC2::VPCEndpointServicePermissions",
+            "  Properties:",
+            "    AllowedPrincipals : [ ${2:String(O)} ]",
+            "    ServiceId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-xssmatchset":{
+        "prefix":"aws-wafregional-xssmatchset",
+        "body":[
+            "${1:myAWSWAFRegionalXssMatchSet}:",
+            "  Type: AWS::WAFRegional::XssMatchSet",
+            "  Properties:",
+            "    XssMatchTuples : [ ${2:aws-wafregional-xssmatchset.xssmatchtuple(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordset":{
+        "prefix":"aws-route53-recordset",
+        "body":[
+            "${1:myAWSRoute53RecordSet}:",
+            "  Type: AWS::Route53::RecordSet",
+            "  Properties:",
+            "    AliasTarget: ${2:aws-route53-recordset.aliastarget(O)}",
+            "    Comment : ${3:String(O)}",
+            "    Failover : ${4:String(O)}",
+            "    GeoLocation: ${5:aws-route53-recordset.geolocation(O)}",
+            "    HealthCheckId : ${6:String(O)}",
+            "    HostedZoneId : ${7:String(O)}",
+            "    HostedZoneName : ${8:String(O)}",
+            "    MultiValueAnswer : ${9:Boolean(O)}",
+            "    Name : ${10:String(R)}",
+            "    Region : ${11:String(O)}",
+            "    ResourceRecords : [ ${12:String(O)} ]",
+            "    SetIdentifier : ${13:String(O)}",
+            "    TTL : ${14:String(O)}",
+            "    Type : ${15:String(R)}",
+            "    Weight : ${16:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-sizeconstraintset":{
+        "prefix":"aws-waf-sizeconstraintset",
+        "body":[
+            "${1:myAWSWAFSizeConstraintSet}:",
+            "  Type: AWS::WAF::SizeConstraintSet",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    SizeConstraints : [ ${3:aws-waf-sizeconstraintset.sizeconstraint(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkaclentry":{
+        "prefix":"aws-ec2-networkaclentry",
+        "body":[
+            "${1:myAWSEC2NetworkAclEntry}:",
+            "  Type: AWS::EC2::NetworkAclEntry",
+            "  Properties:",
+            "    CidrBlock : ${2:String(R)}",
+            "    Egress : ${3:Boolean(O)}",
+            "    Icmp: ${4:aws-ec2-networkaclentry.icmp(O)}",
+            "    Ipv6CidrBlock : ${5:String(O)}",
+            "    NetworkAclId : ${6:String(R)}",
+            "    PortRange: ${7:aws-ec2-networkaclentry.portrange(O)}",
+            "    Protocol : ${8:Integer(R)}",
+            "    RuleAction : ${9:String(R)}",
+            "    RuleNumber : ${10:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudwatch-dashboard":{
+        "prefix":"aws-cloudwatch-dashboard",
+        "body":[
+            "${1:myAWSCloudWatchDashboard}:",
+            "  Type: AWS::CloudWatch::Dashboard",
+            "  Properties:",
+            "    DashboardName : ${2:String(O)}",
+            "    DashboardBody : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-policy":{
+        "prefix":"aws-iam-policy",
+        "body":[
+            "${1:myAWSIAMPolicy}:",
+            "  Type: AWS::IAM::Policy",
+            "  Properties:",
+            "    Groups : [ ${2:String(O)} ]",
+            "    PolicyDocument : ${3:Json(R)}",
+            "    PolicyName : ${4:String(R)}",
+            "    Roles : [ ${5:String(O)} ]",
+            "    Users : [ ${6:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-internetgateway":{
+        "prefix":"aws-ec2-internetgateway",
+        "body":[
+            "${1:myAWSEC2InternetGateway}:",
+            "  Type: AWS::EC2::InternetGateway",
+            "  Properties:",
+            "    Tags : [ ${2:aws-ec2-internetgateway.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-cluster":{
+        "prefix":"aws-ecs-cluster",
+        "body":[
+            "${1:myAWSECSCluster}:",
+            "  Type: AWS::ECS::Cluster",
+            "  Properties:",
+            "    ClusterName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenercertificate":{
+        "prefix":"aws-elasticloadbalancingv2-listenercertificate",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerCertificate}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerCertificate",
+            "  Properties:",
+            "    Certificates : [ ${2:aws-elasticloadbalancingv2-listenercertificate.certificate(R)} ]",
+            "    ListenerArn : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-role":{
+        "prefix":"aws-iam-role",
+        "body":[
+            "${1:myAWSIAMRole}:",
+            "  Type: AWS::IAM::Role",
+            "  Properties:",
+            "    AssumeRolePolicyDocument : ${2:Json(R)}",
+            "    ManagedPolicyArns : [ ${3:String(O)} ]",
+            "    MaxSessionDuration : ${4:Integer(O)}",
+            "    Path : ${5:String(O)}",
+            "    PermissionsBoundary : ${6:String(O)}",
+            "    Policies : [ ${7:aws-iam-role.policy(O)} ]",
+            "    RoleName : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-neptune-dbparametergroup":{
+        "prefix":"aws-neptune-dbparametergroup",
+        "body":[
+            "${1:myAWSNeptuneDBParameterGroup}:",
+            "  Type: AWS::Neptune::DBParameterGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    Parameters : ${3:Json(R)}",
+            "    Family : ${4:String(R)}",
+            "    Tags : [ ${5:aws-neptune-dbparametergroup.tag(O)} ]",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-stepfunctions-activity":{
+        "prefix":"aws-stepfunctions-activity",
+        "body":[
+            "${1:myAWSStepFunctionsActivity}:",
+            "  Type: AWS::StepFunctions::Activity",
+            "  Properties:",
+            "    Tags : [ ${2:aws-stepfunctions-activity.tagsentry(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationoutput":{
+        "prefix":"aws-kinesisanalytics-applicationoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationOutput}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationOutput",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    Output: ${3:aws-kinesisanalytics-applicationoutput.output(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate":{
+        "prefix":"aws-ec2-launchtemplate",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate}:",
+            "  Type: AWS::EC2::LaunchTemplate",
+            "  Properties:",
+            "    LaunchTemplateName : ${2:String(O)}",
+            "    LaunchTemplateData: ${3:aws-ec2-launchtemplate.launchtemplatedata(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-volume":{
+        "prefix":"aws-opsworks-volume",
+        "body":[
+            "${1:myAWSOpsWorksVolume}:",
+            "  Type: AWS::OpsWorks::Volume",
+            "  Properties:",
+            "    Ec2VolumeId : ${2:String(R)}",
+            "    MountPoint : ${3:String(O)}",
+            "    Name : ${4:String(O)}",
+            "    StackId : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-tagoptionassociation":{
+        "prefix":"aws-servicecatalog-tagoptionassociation",
+        "body":[
+            "${1:myAWSServiceCatalogTagOptionAssociation}:",
+            "  Type: AWS::ServiceCatalog::TagOptionAssociation",
+            "  Properties:",
+            "    TagOptionId : ${2:String(R)}",
+            "    ResourceId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-stack":{
+        "prefix":"aws-appstream-stack",
+        "body":[
+            "${1:myAWSAppStreamStack}:",
+            "  Type: AWS::AppStream::Stack",
+            "  Properties:",
+            "    ApplicationSettings: ${2:aws-appstream-stack.applicationsettings(O)}",
+            "    Description : ${3:String(O)}",
+            "    StorageConnectors : [ ${4:aws-appstream-stack.storageconnector(O)} ]",
+            "    DeleteStorageConnectors : ${5:Boolean(O)}",
+            "    UserSettings : [ ${6:aws-appstream-stack.usersetting(O)} ]",
+            "    AttributesToDelete : [ ${7:String(O)} ]",
+            "    DisplayName : ${8:String(O)}",
+            "    RedirectURL : ${9:String(O)}",
+            "    Tags : [ ${10:aws-appstream-stack.tag(O)} ]",
+            "    Name : ${11:String(O)}",
+            "    FeedbackURL : ${12:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-transitgatewayroutetableassociation":{
+        "prefix":"aws-ec2-transitgatewayroutetableassociation",
+        "body":[
+            "${1:myAWSEC2TransitGatewayRouteTableAssociation}:",
+            "  Type: AWS::EC2::TransitGatewayRouteTableAssociation",
+            "  Properties:",
+            "    TransitGatewayRouteTableId : ${2:String(R)}",
+            "    TransitGatewayAttachmentId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-graphqlschema":{
+        "prefix":"aws-appsync-graphqlschema",
+        "body":[
+            "${1:myAWSAppSyncGraphQLSchema}:",
+            "  Type: AWS::AppSync::GraphQLSchema",
+            "  Properties:",
+            "    Definition : ${2:String(O)}",
+            "    DefinitionS3Location : ${3:String(O)}",
+            "    ApiId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-volume":{
+        "prefix":"aws-ec2-volume",
+        "body":[
+            "${1:myAWSEC2Volume}:",
+            "  Type: AWS::EC2::Volume",
+            "  Properties:",
+            "    AutoEnableIO : ${2:Boolean(O)}",
+            "    AvailabilityZone : ${3:String(R)}",
+            "    Encrypted : ${4:Boolean(O)}",
+            "    Iops : ${5:Integer(O)}",
+            "    KmsKeyId : ${6:String(O)}",
+            "    Size : ${7:Integer(O)}",
+            "    SnapshotId : ${8:String(O)}",
+            "    Tags : [ ${9:aws-ec2-volume.tag(O)} ]",
+            "    VolumeType : ${10:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-servicelinkedrole":{
+        "prefix":"aws-iam-servicelinkedrole",
+        "body":[
+            "${1:myAWSIAMServiceLinkedRole}:",
+            "  Type: AWS::IAM::ServiceLinkedRole",
+            "  Properties:",
+            "    CustomSuffix : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    AWSServiceName : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-launchtemplateconstraint":{
+        "prefix":"aws-servicecatalog-launchtemplateconstraint",
+        "body":[
+            "${1:myAWSServiceCatalogLaunchTemplateConstraint}:",
+            "  Type: AWS::ServiceCatalog::LaunchTemplateConstraint",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    AcceptLanguage : ${3:String(O)}",
+            "    PortfolioId : ${4:String(R)}",
+            "    ProductId : ${5:String(R)}",
+            "    Rules : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-connectordefinitionversion":{
+        "prefix":"aws-greengrass-connectordefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassConnectorDefinitionVersion}:",
+            "  Type: AWS::Greengrass::ConnectorDefinitionVersion",
+            "  Properties:",
+            "    Connectors : [ ${2:aws-greengrass-connectordefinitionversion.connector(R)} ]",
+            "    ConnectorDefinitionId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster":{
+        "prefix":"aws-emr-cluster",
+        "body":[
+            "${1:myAWSEMRCluster}:",
+            "  Type: AWS::EMR::Cluster",
+            "  Properties:",
+            "    AdditionalInfo : ${2:Json(O)}",
+            "    Applications : [ ${3:aws-emr-cluster.application(O)} ]",
+            "    AutoScalingRole : ${4:String(O)}",
+            "    BootstrapActions : [ ${5:aws-emr-cluster.bootstrapactionconfig(O)} ]",
+            "    Configurations : [ ${6:aws-emr-cluster.configuration(O)} ]",
+            "    CustomAmiId : ${7:String(O)}",
+            "    EbsRootVolumeSize : ${8:Integer(O)}",
+            "    Instances: ${9:aws-emr-cluster.jobflowinstancesconfig(R)}",
+            "    JobFlowRole : ${10:String(R)}",
+            "    KerberosAttributes: ${11:aws-emr-cluster.kerberosattributes(O)}",
+            "    LogUri : ${12:String(O)}",
+            "    Name : ${13:String(R)}",
+            "    ReleaseLabel : ${14:String(O)}",
+            "    ScaleDownBehavior : ${15:String(O)}",
+            "    SecurityConfiguration : ${16:String(O)}",
+            "    ServiceRole : ${17:String(R)}",
+            "    Steps : [ ${18:aws-emr-cluster.stepconfig(O)} ]",
+            "    Tags : [ ${19:aws-emr-cluster.tag(O)} ]",
+            "    VisibleToAllUsers : ${20:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet":{
+        "prefix":"aws-ec2-spotfleet",
+        "body":[
+            "${1:myAWSEC2SpotFleet}:",
+            "  Type: AWS::EC2::SpotFleet",
+            "  Properties:",
+            "    SpotFleetRequestConfigData: ${2:aws-ec2-spotfleet.spotfleetrequestconfigdata(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-graphqlapi":{
+        "prefix":"aws-appsync-graphqlapi",
+        "body":[
+            "${1:myAWSAppSyncGraphQLApi}:",
+            "  Type: AWS::AppSync::GraphQLApi",
+            "  Properties:",
+            "    OpenIDConnectConfig: ${2:aws-appsync-graphqlapi.openidconnectconfig(O)}",
+            "    UserPoolConfig: ${3:aws-appsync-graphqlapi.userpoolconfig(O)}",
+            "    Name : ${4:String(R)}",
+            "    AuthenticationType : ${5:String(R)}",
+            "    LogConfig: ${6:aws-appsync-graphqlapi.logconfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-streamingdistribution":{
+        "prefix":"aws-cloudfront-streamingdistribution",
+        "body":[
+            "${1:myAWSCloudFrontStreamingDistribution}:",
+            "  Type: AWS::CloudFront::StreamingDistribution",
+            "  Properties:",
+            "    StreamingDistributionConfig: ${2:aws-cloudfront-streamingdistribution.streamingdistributionconfig(R)}",
+            "    Tags : [ ${3:aws-cloudfront-streamingdistribution.tag(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-gamelift-alias":{
+        "prefix":"aws-gamelift-alias",
+        "body":[
+            "${1:myAWSGameLiftAlias}:",
+            "  Type: AWS::GameLift::Alias",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Name : ${3:String(R)}",
+            "    RoutingStrategy: ${4:aws-gamelift-alias.routingstrategy(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-filter":{
+        "prefix":"aws-guardduty-filter",
+        "body":[
+            "${1:myAWSGuardDutyFilter}:",
+            "  Type: AWS::GuardDuty::Filter",
+            "  Properties:",
+            "    Action : ${2:String(R)}",
+            "    Description : ${3:String(R)}",
+            "    DetectorId : ${4:String(R)}",
+            "    FindingCriteria: ${5:aws-guardduty-filter.findingcriteria(R)}",
+            "    Rank : ${6:Integer(R)}",
+            "    Name : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpnconnectionroute":{
+        "prefix":"aws-ec2-vpnconnectionroute",
+        "body":[
+            "${1:myAWSEC2VPNConnectionRoute}:",
+            "  Type: AWS::EC2::VPNConnectionRoute",
+            "  Properties:",
+            "    DestinationCidrBlock : ${2:String(R)}",
+            "    VpnConnectionId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-directoryservice-microsoftad":{
+        "prefix":"aws-directoryservice-microsoftad",
+        "body":[
+            "${1:myAWSDirectoryServiceMicrosoftAD}:",
+            "  Type: AWS::DirectoryService::MicrosoftAD",
+            "  Properties:",
+            "    CreateAlias : ${2:Boolean(O)}",
+            "    Edition : ${3:String(O)}",
+            "    EnableSso : ${4:Boolean(O)}",
+            "    Name : ${5:String(R)}",
+            "    Password : ${6:String(R)}",
+            "    ShortName : ${7:String(O)}",
+            "    VpcSettings: ${8:aws-directoryservice-microsoftad.vpcsettings(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-rule":{
+        "prefix":"aws-waf-rule",
+        "body":[
+            "${1:myAWSWAFRule}:",
+            "  Type: AWS::WAF::Rule",
+            "  Properties:",
+            "    MetricName : ${2:String(R)}",
+            "    Name : ${3:String(R)}",
+            "    Predicates : [ ${4:aws-waf-rule.predicate(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sns-subscription":{
+        "prefix":"aws-sns-subscription",
+        "body":[
+            "${1:myAWSSNSSubscription}:",
+            "  Type: AWS::SNS::Subscription",
+            "  Properties:",
+            "    DeliveryPolicy : ${2:Json(O)}",
+            "    Endpoint : ${3:String(O)}",
+            "    FilterPolicy : ${4:Json(O)}",
+            "    Protocol : ${5:String(R)}",
+            "    RawMessageDelivery : ${6:Boolean(O)}",
+            "    Region : ${7:String(O)}",
+            "    TopicArn : ${8:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-efs-mounttarget":{
+        "prefix":"aws-efs-mounttarget",
+        "body":[
+            "${1:myAWSEFSMountTarget}:",
+            "  Type: AWS::EFS::MountTarget",
+            "  Properties:",
+            "    FileSystemId : ${2:String(R)}",
+            "    IpAddress : ${3:String(O)}",
+            "    SecurityGroups : [ ${4:String(R)} ]",
+            "    SubnetId : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition":{
+        "prefix":"aws-greengrass-functiondefinition",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition}:",
+            "  Type: AWS::Greengrass::FunctionDefinition",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-functiondefinition.functiondefinitionversion(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-document":{
+        "prefix":"aws-ssm-document",
+        "body":[
+            "${1:myAWSSSMDocument}:",
+            "  Type: AWS::SSM::Document",
+            "  Properties:",
+            "    Content : ${2:Json(R)}",
+            "    DocumentType : ${3:String(O)}",
+            "    Tags : [ ${4:aws-ssm-document.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sns-topic":{
+        "prefix":"aws-sns-topic",
+        "body":[
+            "${1:myAWSSNSTopic}:",
+            "  Type: AWS::SNS::Topic",
+            "  Properties:",
+            "    DisplayName : ${2:String(O)}",
+            "    KmsMasterKeyId : ${3:String(O)}",
+            "    Subscription : [ ${4:aws-sns-topic.subscription(O)} ]",
+            "    TopicName : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkinterfacepermission":{
+        "prefix":"aws-ec2-networkinterfacepermission",
+        "body":[
+            "${1:myAWSEC2NetworkInterfacePermission}:",
+            "  Type: AWS::EC2::NetworkInterfacePermission",
+            "  Properties:",
+            "    AwsAccountId : ${2:String(R)}",
+            "    NetworkInterfaceId : ${3:String(R)}",
+            "    Permission : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-model":{
+        "prefix":"aws-sagemaker-model",
+        "body":[
+            "${1:myAWSSageMakerModel}:",
+            "  Type: AWS::SageMaker::Model",
+            "  Properties:",
+            "    ExecutionRoleArn : ${2:String(R)}",
+            "    PrimaryContainer: ${3:aws-sagemaker-model.containerdefinition(O)}",
+            "    ModelName : ${4:String(O)}",
+            "    VpcConfig: ${5:aws-sagemaker-model.vpcconfig(O)}",
+            "    Containers : [ ${6:aws-sagemaker-model.containerdefinition(O)} ]",
+            "    Tags : [ ${7:aws-sagemaker-model.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-deliverychannel":{
+        "prefix":"aws-config-deliverychannel",
+        "body":[
+            "${1:myAWSConfigDeliveryChannel}:",
+            "  Type: AWS::Config::DeliveryChannel",
+            "  Properties:",
+            "    ConfigSnapshotDeliveryProperties: ${2:aws-config-deliverychannel.configsnapshotdeliveryproperties(O)}",
+            "    Name : ${3:String(O)}",
+            "    S3BucketName : ${4:String(R)}",
+            "    S3KeyPrefix : ${5:String(O)}",
+            "    SnsTopicARN : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-gamelift-build":{
+        "prefix":"aws-gamelift-build",
+        "body":[
+            "${1:myAWSGameLiftBuild}:",
+            "  Type: AWS::GameLift::Build",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    StorageLocation: ${3:aws-gamelift-build.s3location(O)}",
+            "    Version : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-tagoption":{
+        "prefix":"aws-servicecatalog-tagoption",
+        "body":[
+            "${1:myAWSServiceCatalogTagOption}:",
+            "  Type: AWS::ServiceCatalog::TagOption",
+            "  Properties:",
+            "    Active : ${2:Boolean(O)}",
+            "    Value : ${3:String(R)}",
+            "    Key : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-notebookinstancelifecycleconfig":{
+        "prefix":"aws-sagemaker-notebookinstancelifecycleconfig",
+        "body":[
+            "${1:myAWSSageMakerNotebookInstanceLifecycleConfig}:",
+            "  Type: AWS::SageMaker::NotebookInstanceLifecycleConfig",
+            "  Properties:",
+            "    OnStart : [ ${2:aws-sagemaker-notebookinstancelifecycleconfig.notebookinstancelifecyclehook(O)} ]",
+            "    NotebookInstanceLifecycleConfigName : ${3:String(O)}",
+            "    OnCreate : [ ${4:aws-sagemaker-notebookinstancelifecycleconfig.notebookinstancelifecyclehook(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-deployment":{
+        "prefix":"aws-apigateway-deployment",
+        "body":[
+            "${1:myAWSApiGatewayDeployment}:",
+            "  Type: AWS::ApiGateway::Deployment",
+            "  Properties:",
+            "    DeploymentCanarySettings: ${2:aws-apigateway-deployment.deploymentcanarysettings(O)}",
+            "    Description : ${3:String(O)}",
+            "    RestApiId : ${4:String(R)}",
+            "    StageDescription: ${5:aws-apigateway-deployment.stagedescription(O)}",
+            "    StageName : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpoolgroup":{
+        "prefix":"aws-cognito-userpoolgroup",
+        "body":[
+            "${1:myAWSCognitoUserPoolGroup}:",
+            "  Type: AWS::Cognito::UserPoolGroup",
+            "  Properties:",
+            "    GroupName : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    UserPoolId : ${4:String(R)}",
+            "    Precedence : ${5:Double(O)}",
+            "    RoleArn : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-integration":{
+        "prefix":"aws-apigatewayv2-integration",
+        "body":[
+            "${1:myAWSApiGatewayV2Integration}:",
+            "  Type: AWS::ApiGatewayV2::Integration",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    TemplateSelectionExpression : ${3:String(O)}",
+            "    ConnectionType : ${4:String(O)}",
+            "    IntegrationMethod : ${5:String(O)}",
+            "    PassthroughBehavior : ${6:String(O)}",
+            "    RequestParameters : ${7:Json(O)}",
+            "    IntegrationUri : ${8:String(O)}",
+            "    CredentialsArn : ${9:String(O)}",
+            "    RequestTemplates : ${10:Json(O)}",
+            "    TimeoutInMillis : ${11:Integer(O)}",
+            "    ContentHandlingStrategy : ${12:String(O)}",
+            "    ApiId : ${13:String(R)}",
+            "    IntegrationType : ${14:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kms-key":{
+        "prefix":"aws-kms-key",
+        "body":[
+            "${1:myAWSKMSKey}:",
+            "  Type: AWS::KMS::Key",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    EnableKeyRotation : ${3:Boolean(O)}",
+            "    Enabled : ${4:Boolean(O)}",
+            "    KeyPolicy : ${5:Json(R)}",
+            "    KeyUsage : ${6:String(O)}",
+            "    PendingWindowInDays : ${7:Integer(O)}",
+            "    Tags : [ ${8:aws-kms-key.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-cluster":{
+        "prefix":"aws-redshift-cluster",
+        "body":[
+            "${1:myAWSRedshiftCluster}:",
+            "  Type: AWS::Redshift::Cluster",
+            "  Properties:",
+            "    AllowVersionUpgrade : ${2:Boolean(O)}",
+            "    AutomatedSnapshotRetentionPeriod : ${3:Integer(O)}",
+            "    AvailabilityZone : ${4:String(O)}",
+            "    ClusterIdentifier : ${5:String(O)}",
+            "    ClusterParameterGroupName : ${6:String(O)}",
+            "    ClusterSecurityGroups : [ ${7:String(O)} ]",
+            "    ClusterSubnetGroupName : ${8:String(O)}",
+            "    ClusterType : ${9:String(R)}",
+            "    ClusterVersion : ${10:String(O)}",
+            "    DBName : ${11:String(R)}",
+            "    ElasticIp : ${12:String(O)}",
+            "    Encrypted : ${13:Boolean(O)}",
+            "    HsmClientCertificateIdentifier : ${14:String(O)}",
+            "    HsmConfigurationIdentifier : ${15:String(O)}",
+            "    IamRoles : [ ${16:String(O)} ]",
+            "    KmsKeyId : ${17:String(O)}",
+            "    LoggingProperties: ${18:aws-redshift-cluster.loggingproperties(O)}",
+            "    MasterUserPassword : ${19:String(R)}",
+            "    MasterUsername : ${20:String(R)}",
+            "    NodeType : ${21:String(R)}",
+            "    NumberOfNodes : ${22:Integer(O)}",
+            "    OwnerAccount : ${23:String(O)}",
+            "    Port : ${24:Integer(O)}",
+            "    PreferredMaintenanceWindow : ${25:String(O)}",
+            "    PubliclyAccessible : ${26:Boolean(O)}",
+            "    SnapshotClusterIdentifier : ${27:String(O)}",
+            "    SnapshotIdentifier : ${28:String(O)}",
+            "    Tags : [ ${29:aws-redshift-cluster.tag(O)} ]",
+            "    VpcSecurityGroupIds : [ ${30:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudwatch-alarm":{
+        "prefix":"aws-cloudwatch-alarm",
+        "body":[
+            "${1:myAWSCloudWatchAlarm}:",
+            "  Type: AWS::CloudWatch::Alarm",
+            "  Properties:",
+            "    ActionsEnabled : ${2:Boolean(O)}",
+            "    AlarmActions : [ ${3:String(O)} ]",
+            "    AlarmDescription : ${4:String(O)}",
+            "    AlarmName : ${5:String(O)}",
+            "    ComparisonOperator : ${6:String(R)}",
+            "    DatapointsToAlarm : ${7:Integer(O)}",
+            "    Dimensions : [ ${8:aws-cloudwatch-alarm.dimension(O)} ]",
+            "    EvaluateLowSampleCountPercentile : ${9:String(O)}",
+            "    EvaluationPeriods : ${10:Integer(R)}",
+            "    ExtendedStatistic : ${11:String(O)}",
+            "    InsufficientDataActions : [ ${12:String(O)} ]",
+            "    MetricName : ${13:String(O)}",
+            "    Metrics : [ ${14:aws-cloudwatch-alarm.metricdataquery(O)} ]",
+            "    Namespace : ${15:String(O)}",
+            "    OKActions : [ ${16:String(O)} ]",
+            "    Period : ${17:Integer(O)}",
+            "    Statistic : ${18:String(O)}",
+            "    Threshold : ${19:Double(R)}",
+            "    TreatMissingData : ${20:String(O)}",
+            "    Unit : ${21:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-app":{
+        "prefix":"aws-opsworks-app",
+        "body":[
+            "${1:myAWSOpsWorksApp}:",
+            "  Type: AWS::OpsWorks::App",
+            "  Properties:",
+            "    AppSource: ${2:aws-opsworks-app.source(O)}",
+            "    Attributes : [ ${3:String(O)} ]",
+            "    DataSources : [ ${4:aws-opsworks-app.datasource(O)} ]",
+            "    Description : ${5:String(O)}",
+            "    Domains : [ ${6:String(O)} ]",
+            "    EnableSsl : ${7:Boolean(O)}",
+            "    Environment : [ ${8:aws-opsworks-app.environmentvariable(O)} ]",
+            "    Name : ${9:String(R)}",
+            "    Shortname : ${10:String(O)}",
+            "    SslConfiguration: ${11:aws-opsworks-app.sslconfiguration(O)}",
+            "    StackId : ${12:String(R)}",
+            "    Type : ${13:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route":{
+        "prefix":"aws-appmesh-route",
+        "body":[
+            "${1:myAWSAppMeshRoute}:",
+            "  Type: AWS::AppMesh::Route",
+            "  Properties:",
+            "    MeshName : ${2:String(R)}",
+            "    VirtualRouterName : ${3:String(R)}",
+            "    RouteName : ${4:String(R)}",
+            "    Spec: ${5:aws-appmesh-route.routespec(R)}",
+            "    Tags : [ ${6:aws-appmesh-route.tagref(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-eventsourcemapping":{
+        "prefix":"aws-lambda-eventsourcemapping",
+        "body":[
+            "${1:myAWSLambdaEventSourceMapping}:",
+            "  Type: AWS::Lambda::EventSourceMapping",
+            "  Properties:",
+            "    BatchSize : ${2:Integer(O)}",
+            "    Enabled : ${3:Boolean(O)}",
+            "    EventSourceArn : ${4:String(R)}",
+            "    FunctionName : ${5:String(R)}",
+            "    StartingPosition : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-certificatemanager-certificate":{
+        "prefix":"aws-certificatemanager-certificate",
+        "body":[
+            "${1:myAWSCertificateManagerCertificate}:",
+            "  Type: AWS::CertificateManager::Certificate",
+            "  Properties:",
+            "    DomainName : ${2:String(R)}",
+            "    DomainValidationOptions : [ ${3:aws-certificatemanager-certificate.domainvalidationoption(O)} ]",
+            "    SubjectAlternativeNames : [ ${4:String(O)} ]",
+            "    Tags : [ ${5:aws-certificatemanager-certificate.tag(O)} ]",
+            "    ValidationMethod : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-subscriptiondefinitionversion":{
+        "prefix":"aws-greengrass-subscriptiondefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassSubscriptionDefinitionVersion}:",
+            "  Type: AWS::Greengrass::SubscriptionDefinitionVersion",
+            "  Properties:",
+            "    SubscriptionDefinitionId : ${2:String(R)}",
+            "    Subscriptions : [ ${3:aws-greengrass-subscriptiondefinitionversion.subscription(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-coredefinitionversion":{
+        "prefix":"aws-greengrass-coredefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassCoreDefinitionVersion}:",
+            "  Type: AWS::Greengrass::CoreDefinitionVersion",
+            "  Properties:",
+            "    Cores : [ ${2:aws-greengrass-coredefinitionversion.core(R)} ]",
+            "    CoreDefinitionId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-authorizer":{
+        "prefix":"aws-apigateway-authorizer",
+        "body":[
+            "${1:myAWSApiGatewayAuthorizer}:",
+            "  Type: AWS::ApiGateway::Authorizer",
+            "  Properties:",
+            "    AuthType : ${2:String(O)}",
+            "    AuthorizerCredentials : ${3:String(O)}",
+            "    AuthorizerResultTtlInSeconds : ${4:Integer(O)}",
+            "    AuthorizerUri : ${5:String(O)}",
+            "    IdentitySource : ${6:String(O)}",
+            "    IdentityValidationExpression : ${7:String(O)}",
+            "    Name : ${8:String(O)}",
+            "    ProviderARNs : [ ${9:String(O)} ]",
+            "    RestApiId : ${10:String(R)}",
+            "    Type : ${11:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-inspector-resourcegroup":{
+        "prefix":"aws-inspector-resourcegroup",
+        "body":[
+            "${1:myAWSInspectorResourceGroup}:",
+            "  Type: AWS::Inspector::ResourceGroup",
+            "  Properties:",
+            "    ResourceGroupTags : [ ${2:aws-inspector-resourcegroup.tag(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot1click-project":{
+        "prefix":"aws-iot1click-project",
+        "body":[
+            "${1:myAWSIoT1ClickProject}:",
+            "  Type: AWS::IoT1Click::Project",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    PlacementTemplate: ${3:aws-iot1click-project.placementtemplate(R)}",
+            "    ProjectName : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-eip":{
+        "prefix":"aws-ec2-eip",
+        "body":[
+            "${1:myAWSEC2EIP}:",
+            "  Type: AWS::EC2::EIP",
+            "  Properties:",
+            "    Domain : ${2:String(O)}",
+            "    InstanceId : ${3:String(O)}",
+            "    PublicIpv4Pool : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset":{
+        "prefix":"aws-iotanalytics-dataset",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset}:",
+            "  Type: AWS::IoTAnalytics::Dataset",
+            "  Properties:",
+            "    Actions : [ ${2:aws-iotanalytics-dataset.action(R)} ]",
+            "    DatasetName : ${3:String(O)}",
+            "    Triggers : [ ${4:aws-iotanalytics-dataset.trigger(O)} ]",
+            "    RetentionPeriod: ${5:aws-iotanalytics-dataset.retentionperiod(O)}",
+            "    Tags : [ ${6:aws-iotanalytics-dataset.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-domainname":{
+        "prefix":"aws-apigateway-domainname",
+        "body":[
+            "${1:myAWSApiGatewayDomainName}:",
+            "  Type: AWS::ApiGateway::DomainName",
+            "  Properties:",
+            "    CertificateArn : ${2:String(O)}",
+            "    DomainName : ${3:String(R)}",
+            "    EndpointConfiguration: ${4:aws-apigateway-domainname.endpointconfiguration(O)}",
+            "    RegionalCertificateArn : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition":{
+        "prefix":"aws-batch-jobdefinition",
+        "body":[
+            "${1:myAWSBatchJobDefinition}:",
+            "  Type: AWS::Batch::JobDefinition",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Parameters : ${3:Json(O)}",
+            "    NodeProperties: ${4:aws-batch-jobdefinition.nodeproperties(O)}",
+            "    Timeout: ${5:aws-batch-jobdefinition.timeout(O)}",
+            "    ContainerProperties: ${6:aws-batch-jobdefinition.containerproperties(O)}",
+            "    JobDefinitionName : ${7:String(O)}",
+            "    RetryStrategy: ${8:aws-batch-jobdefinition.retrystrategy(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-docdb-dbsubnetgroup":{
+        "prefix":"aws-docdb-dbsubnetgroup",
+        "body":[
+            "${1:myAWSDocDBDBSubnetGroup}:",
+            "  Type: AWS::DocDB::DBSubnetGroup",
+            "  Properties:",
+            "    DBSubnetGroupName : ${2:String(O)}",
+            "    DBSubnetGroupDescription : ${3:String(R)}",
+            "    SubnetIds : [ ${4:String(R)} ]",
+            "    Tags : [ ${5:aws-docdb-dbsubnetgroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-portfolioprincipalassociation":{
+        "prefix":"aws-servicecatalog-portfolioprincipalassociation",
+        "body":[
+            "${1:myAWSServiceCatalogPortfolioPrincipalAssociation}:",
+            "  Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation",
+            "  Properties:",
+            "    PrincipalARN : ${2:String(R)}",
+            "    AcceptLanguage : ${3:String(O)}",
+            "    PortfolioId : ${4:String(R)}",
+            "    PrincipalType : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-gamelift-fleet":{
+        "prefix":"aws-gamelift-fleet",
+        "body":[
+            "${1:myAWSGameLiftFleet}:",
+            "  Type: AWS::GameLift::Fleet",
+            "  Properties:",
+            "    BuildId : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    DesiredEC2Instances : ${4:Integer(R)}",
+            "    EC2InboundPermissions : [ ${5:aws-gamelift-fleet.ippermission(O)} ]",
+            "    EC2InstanceType : ${6:String(R)}",
+            "    LogPaths : [ ${7:String(O)} ]",
+            "    MaxSize : ${8:Integer(O)}",
+            "    MinSize : ${9:Integer(O)}",
+            "    Name : ${10:String(R)}",
+            "    ServerLaunchParameters : ${11:String(O)}",
+            "    ServerLaunchPath : ${12:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpcendpointconnectionnotification":{
+        "prefix":"aws-ec2-vpcendpointconnectionnotification",
+        "body":[
+            "${1:myAWSEC2VPCEndpointConnectionNotification}:",
+            "  Type: AWS::EC2::VPCEndpointConnectionNotification",
+            "  Properties:",
+            "    ConnectionEvents : [ ${2:String(R)} ]",
+            "    VPCEndpointId : ${3:String(O)}",
+            "    ServiceId : ${4:String(O)}",
+            "    ConnectionNotificationArn : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-securitygroupingress":{
+        "prefix":"aws-ec2-securitygroupingress",
+        "body":[
+            "${1:myAWSEC2SecurityGroupIngress}:",
+            "  Type: AWS::EC2::SecurityGroupIngress",
+            "  Properties:",
+            "    CidrIp : ${2:String(O)}",
+            "    CidrIpv6 : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    FromPort : ${5:Integer(O)}",
+            "    GroupId : ${6:String(O)}",
+            "    GroupName : ${7:String(O)}",
+            "    IpProtocol : ${8:String(R)}",
+            "    SourcePrefixListId : ${9:String(O)}",
+            "    SourceSecurityGroupId : ${10:String(O)}",
+            "    SourceSecurityGroupName : ${11:String(O)}",
+            "    SourceSecurityGroupOwnerId : ${12:String(O)}",
+            "    ToPort : ${13:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-layerversion":{
+        "prefix":"aws-lambda-layerversion",
+        "body":[
+            "${1:myAWSLambdaLayerVersion}:",
+            "  Type: AWS::Lambda::LayerVersion",
+            "  Properties:",
+            "    CompatibleRuntimes : [ ${2:String(O)} ]",
+            "    LicenseInfo : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    LayerName : ${5:String(O)}",
+            "    Content: ${6:aws-lambda-layerversion.content(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-documentationpart":{
+        "prefix":"aws-apigateway-documentationpart",
+        "body":[
+            "${1:myAWSApiGatewayDocumentationPart}:",
+            "  Type: AWS::ApiGateway::DocumentationPart",
+            "  Properties:",
+            "    Location: ${2:aws-apigateway-documentationpart.location(R)}",
+            "    Properties : ${3:String(R)}",
+            "    RestApiId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbcluster":{
+        "prefix":"aws-rds-dbcluster",
+        "body":[
+            "${1:myAWSRDSDBCluster}:",
+            "  Type: AWS::RDS::DBCluster",
+            "  Properties:",
+            "    AvailabilityZones : [ ${2:String(O)} ]",
+            "    BacktrackWindow : ${3:Long(O)}",
+            "    BackupRetentionPeriod : ${4:Integer(O)}",
+            "    DBClusterIdentifier : ${5:String(O)}",
+            "    DBClusterParameterGroupName : ${6:String(O)}",
+            "    DBSubnetGroupName : ${7:String(O)}",
+            "    DatabaseName : ${8:String(O)}",
+            "    DeletionProtection : ${9:Boolean(O)}",
+            "    EnableCloudwatchLogsExports : [ ${10:String(O)} ]",
+            "    EnableIAMDatabaseAuthentication : ${11:Boolean(O)}",
+            "    Engine : ${12:String(R)}",
+            "    EngineMode : ${13:String(O)}",
+            "    EngineVersion : ${14:String(O)}",
+            "    KmsKeyId : ${15:String(O)}",
+            "    MasterUserPassword : ${16:String(O)}",
+            "    MasterUsername : ${17:String(O)}",
+            "    Port : ${18:Integer(O)}",
+            "    PreferredBackupWindow : ${19:String(O)}",
+            "    PreferredMaintenanceWindow : ${20:String(O)}",
+            "    ReplicationSourceIdentifier : ${21:String(O)}",
+            "    ScalingConfiguration: ${22:aws-rds-dbcluster.scalingconfiguration(O)}",
+            "    SnapshotIdentifier : ${23:String(O)}",
+            "    SourceRegion : ${24:String(O)}",
+            "    StorageEncrypted : ${25:Boolean(O)}",
+            "    Tags : [ ${26:aws-rds-dbcluster.tag(O)} ]",
+            "    VpcSecurityGroupIds : [ ${27:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "alexa-ask-skill":{
+        "prefix":"alexa-ask-skill",
+        "body":[
+            "${1:myAlexaASKSkill}:",
+            "  Type: Alexa::ASK::Skill",
+            "  Properties:",
+            "    AuthenticationConfiguration: ${2:alexa-ask-skill.authenticationconfiguration(R)}",
+            "    VendorId : ${3:String(R)}",
+            "    SkillPackage: ${4:alexa-ask-skill.skillpackage(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service":{
+        "prefix":"aws-ecs-service",
+        "body":[
+            "${1:myAWSECSService}:",
+            "  Type: AWS::ECS::Service",
+            "  Properties:",
+            "    Cluster : ${2:String(O)}",
+            "    DeploymentConfiguration: ${3:aws-ecs-service.deploymentconfiguration(O)}",
+            "    DesiredCount : ${4:Integer(O)}",
+            "    HealthCheckGracePeriodSeconds : ${5:Integer(O)}",
+            "    LaunchType : ${6:String(O)}",
+            "    LoadBalancers : [ ${7:aws-ecs-service.loadbalancer(O)} ]",
+            "    NetworkConfiguration: ${8:aws-ecs-service.networkconfiguration(O)}",
+            "    PlacementConstraints : [ ${9:aws-ecs-service.placementconstraint(O)} ]",
+            "    PlacementStrategies : [ ${10:aws-ecs-service.placementstrategy(O)} ]",
+            "    PlatformVersion : ${11:String(O)}",
+            "    Role : ${12:String(O)}",
+            "    SchedulingStrategy : ${13:String(O)}",
+            "    ServiceName : ${14:String(O)}",
+            "    ServiceRegistries : [ ${15:aws-ecs-service.serviceregistry(O)} ]",
+            "    TaskDefinition : ${16:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-usertogroupaddition":{
+        "prefix":"aws-iam-usertogroupaddition",
+        "body":[
+            "${1:myAWSIAMUserToGroupAddition}:",
+            "  Type: AWS::IAM::UserToGroupAddition",
+            "  Properties:",
+            "    GroupName : ${2:String(R)}",
+            "    Users : [ ${3:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbsubnetgroup":{
+        "prefix":"aws-rds-dbsubnetgroup",
+        "body":[
+            "${1:myAWSRDSDBSubnetGroup}:",
+            "  Type: AWS::RDS::DBSubnetGroup",
+            "  Properties:",
+            "    DBSubnetGroupDescription : ${2:String(R)}",
+            "    DBSubnetGroupName : ${3:String(O)}",
+            "    SubnetIds : [ ${4:String(R)} ]",
+            "    Tags : [ ${5:aws-rds-dbsubnetgroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworkscm-server":{
+        "prefix":"aws-opsworkscm-server",
+        "body":[
+            "${1:myAWSOpsWorksCMServer}:",
+            "  Type: AWS::OpsWorksCM::Server",
+            "  Properties:",
+            "    KeyPair : ${2:String(O)}",
+            "    EngineVersion : ${3:String(O)}",
+            "    ServiceRoleArn : ${4:String(R)}",
+            "    DisableAutomatedBackup : ${5:Boolean(O)}",
+            "    BackupId : ${6:String(O)}",
+            "    EngineModel : ${7:String(O)}",
+            "    PreferredMaintenanceWindow : ${8:String(O)}",
+            "    AssociatePublicIpAddress : ${9:Boolean(O)}",
+            "    InstanceProfileArn : ${10:String(R)}",
+            "    PreferredBackupWindow : ${11:String(O)}",
+            "    SecurityGroupIds : [ ${12:String(O)} ]",
+            "    SubnetIds : [ ${13:String(O)} ]",
+            "    ServerName : ${14:String(O)}",
+            "    EngineAttributes : [ ${15:aws-opsworkscm-server.engineattribute(O)} ]",
+            "    BackupRetentionCount : ${16:Integer(O)}",
+            "    InstanceType : ${17:String(R)}",
+            "    Engine : ${18:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer",
+            "  Properties:",
+            "    AccessLoggingPolicy: ${2:aws-elasticloadbalancing-loadbalancer.accessloggingpolicy(O)}",
+            "    AppCookieStickinessPolicy : [ ${3:aws-elasticloadbalancing-loadbalancer.appcookiestickinesspolicy(O)} ]",
+            "    AvailabilityZones : [ ${4:String(O)} ]",
+            "    ConnectionDrainingPolicy: ${5:aws-elasticloadbalancing-loadbalancer.connectiondrainingpolicy(O)}",
+            "    ConnectionSettings: ${6:aws-elasticloadbalancing-loadbalancer.connectionsettings(O)}",
+            "    CrossZone : ${7:Boolean(O)}",
+            "    HealthCheck: ${8:aws-elasticloadbalancing-loadbalancer.healthcheck(O)}",
+            "    Instances : [ ${9:String(O)} ]",
+            "    LBCookieStickinessPolicy : [ ${10:aws-elasticloadbalancing-loadbalancer.lbcookiestickinesspolicy(O)} ]",
+            "    Listeners : [ ${11:aws-elasticloadbalancing-loadbalancer.listeners(R)} ]",
+            "    LoadBalancerName : ${12:String(O)}",
+            "    Policies : [ ${13:aws-elasticloadbalancing-loadbalancer.policies(O)} ]",
+            "    Scheme : ${14:String(O)}",
+            "    SecurityGroups : [ ${15:String(O)} ]",
+            "    Subnets : [ ${16:String(O)} ]",
+            "    Tags : [ ${17:aws-elasticloadbalancing-loadbalancer.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobqueue":{
+        "prefix":"aws-batch-jobqueue",
+        "body":[
+            "${1:myAWSBatchJobQueue}:",
+            "  Type: AWS::Batch::JobQueue",
+            "  Properties:",
+            "    ComputeEnvironmentOrder : [ ${2:aws-batch-jobqueue.computeenvironmentorder(R)} ]",
+            "    Priority : ${3:Integer(R)}",
+            "    State : ${4:String(O)}",
+            "    JobQueueName : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-thing":{
+        "prefix":"aws-iot-thing",
+        "body":[
+            "${1:myAWSIoTThing}:",
+            "  Type: AWS::IoT::Thing",
+            "  Properties:",
+            "    AttributePayload: ${2:aws-iot-thing.attributepayload(O)}",
+            "    ThingName : ${3:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer":{
+        "prefix":"aws-opsworks-layer",
+        "body":[
+            "${1:myAWSOpsWorksLayer}:",
+            "  Type: AWS::OpsWorks::Layer",
+            "  Properties:",
+            "    Attributes : [ ${2:String(O)} ]",
+            "    AutoAssignElasticIps : ${3:Boolean(R)}",
+            "    AutoAssignPublicIps : ${4:Boolean(R)}",
+            "    CustomInstanceProfileArn : ${5:String(O)}",
+            "    CustomJson : ${6:Json(O)}",
+            "    CustomRecipes: ${7:aws-opsworks-layer.recipes(O)}",
+            "    CustomSecurityGroupIds : [ ${8:String(O)} ]",
+            "    EnableAutoHealing : ${9:Boolean(R)}",
+            "    InstallUpdatesOnBoot : ${10:Boolean(O)}",
+            "    LifecycleEventConfiguration: ${11:aws-opsworks-layer.lifecycleeventconfiguration(O)}",
+            "    LoadBasedAutoScaling: ${12:aws-opsworks-layer.loadbasedautoscaling(O)}",
+            "    Name : ${13:String(R)}",
+            "    Packages : [ ${14:String(O)} ]",
+            "    Shortname : ${15:String(R)}",
+            "    StackId : ${16:String(R)}",
+            "    Tags : [ ${17:aws-opsworks-layer.tag(O)} ]",
+            "    Type : ${18:String(R)}",
+            "    UseEbsOptimizedInstances : ${19:Boolean(O)}",
+            "    VolumeConfigurations : [ ${20:aws-opsworks-layer.volumeconfiguration(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-certificate":{
+        "prefix":"aws-dms-certificate",
+        "body":[
+            "${1:myAWSDMSCertificate}:",
+            "  Type: AWS::DMS::Certificate",
+            "  Properties:",
+            "    CertificateIdentifier : ${2:String(O)}",
+            "    CertificatePem : ${3:String(O)}",
+            "    CertificateWallet : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-apikey":{
+        "prefix":"aws-apigateway-apikey",
+        "body":[
+            "${1:myAWSApiGatewayApiKey}:",
+            "  Type: AWS::ApiGateway::ApiKey",
+            "  Properties:",
+            "    CustomerId : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    Enabled : ${4:Boolean(O)}",
+            "    GenerateDistinctId : ${5:Boolean(O)}",
+            "    Name : ${6:String(O)}",
+            "    StageKeys : [ ${7:aws-apigateway-apikey.stagekey(O)} ]",
+            "    Value : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table":{
+        "prefix":"aws-glue-table",
+        "body":[
+            "${1:myAWSGlueTable}:",
+            "  Type: AWS::Glue::Table",
+            "  Properties:",
+            "    TableInput: ${2:aws-glue-table.tableinput(R)}",
+            "    DatabaseName : ${3:String(R)}",
+            "    CatalogId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-subnetroutetableassociation":{
+        "prefix":"aws-ec2-subnetroutetableassociation",
+        "body":[
+            "${1:myAWSEC2SubnetRouteTableAssociation}:",
+            "  Type: AWS::EC2::SubnetRouteTableAssociation",
+            "  Properties:",
+            "    RouteTableId : ${2:String(R)}",
+            "    SubnetId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-securitygroup":{
+        "prefix":"aws-elasticache-securitygroup",
+        "body":[
+            "${1:myAWSElastiCacheSecurityGroup}:",
+            "  Type: AWS::ElastiCache::SecurityGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-instanceprofile":{
+        "prefix":"aws-iam-instanceprofile",
+        "body":[
+            "${1:myAWSIAMInstanceProfile}:",
+            "  Type: AWS::IAM::InstanceProfile",
+            "  Properties:",
+            "    InstanceProfileName : ${2:String(O)}",
+            "    Path : ${3:String(O)}",
+            "    Roles : [ ${4:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-policy":{
+        "prefix":"aws-iot-policy",
+        "body":[
+            "${1:myAWSIoTPolicy}:",
+            "  Type: AWS::IoT::Policy",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(R)}",
+            "    PolicyName : ${3:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-stage":{
+        "prefix":"aws-apigatewayv2-stage",
+        "body":[
+            "${1:myAWSApiGatewayV2Stage}:",
+            "  Type: AWS::ApiGatewayV2::Stage",
+            "  Properties:",
+            "    ClientCertificateId : ${2:String(O)}",
+            "    DeploymentId : ${3:String(R)}",
+            "    Description : ${4:String(O)}",
+            "    AccessLogSettings: ${5:aws-apigatewayv2-stage.accesslogsettings(O)}",
+            "    RouteSettings : ${6:Json(O)}",
+            "    StageName : ${7:String(R)}",
+            "    StageVariables : ${8:Json(O)}",
+            "    ApiId : ${9:String(R)}",
+            "    DefaultRouteSettings: ${10:aws-apigatewayv2-stage.routesettings(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-computeenvironment":{
+        "prefix":"aws-batch-computeenvironment",
+        "body":[
+            "${1:myAWSBatchComputeEnvironment}:",
+            "  Type: AWS::Batch::ComputeEnvironment",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    ServiceRole : ${3:String(R)}",
+            "    ComputeEnvironmentName : ${4:String(O)}",
+            "    ComputeResources: ${5:aws-batch-computeenvironment.computeresources(O)}",
+            "    State : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup":{
+        "prefix":"aws-codedeploy-deploymentgroup",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup",
+            "  Properties:",
+            "    AlarmConfiguration: ${2:aws-codedeploy-deploymentgroup.alarmconfiguration(O)}",
+            "    ApplicationName : ${3:String(R)}",
+            "    AutoRollbackConfiguration: ${4:aws-codedeploy-deploymentgroup.autorollbackconfiguration(O)}",
+            "    AutoScalingGroups : [ ${5:String(O)} ]",
+            "    Deployment: ${6:aws-codedeploy-deploymentgroup.deployment(O)}",
+            "    DeploymentConfigName : ${7:String(O)}",
+            "    DeploymentGroupName : ${8:String(O)}",
+            "    DeploymentStyle: ${9:aws-codedeploy-deploymentgroup.deploymentstyle(O)}",
+            "    Ec2TagFilters : [ ${10:aws-codedeploy-deploymentgroup.ec2tagfilter(O)} ]",
+            "    Ec2TagSet: ${11:aws-codedeploy-deploymentgroup.ec2tagset(O)}",
+            "    LoadBalancerInfo: ${12:aws-codedeploy-deploymentgroup.loadbalancerinfo(O)}",
+            "    OnPremisesInstanceTagFilters : [ ${13:aws-codedeploy-deploymentgroup.tagfilter(O)} ]",
+            "    OnPremisesTagSet: ${14:aws-codedeploy-deploymentgroup.onpremisestagset(O)}",
+            "    ServiceRoleArn : ${15:String(R)}",
+            "    TriggerConfigurations : [ ${16:aws-codedeploy-deploymentgroup.triggerconfig(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-model":{
+        "prefix":"aws-apigateway-model",
+        "body":[
+            "${1:myAWSApiGatewayModel}:",
+            "  Type: AWS::ApiGateway::Model",
+            "  Properties:",
+            "    ContentType : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    Name : ${4:String(O)}",
+            "    RestApiId : ${5:String(R)}",
+            "    Schema : ${6:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-route":{
+        "prefix":"aws-ec2-route",
+        "body":[
+            "${1:myAWSEC2Route}:",
+            "  Type: AWS::EC2::Route",
+            "  Properties:",
+            "    DestinationCidrBlock : ${2:String(O)}",
+            "    DestinationIpv6CidrBlock : ${3:String(O)}",
+            "    EgressOnlyInternetGatewayId : ${4:String(O)}",
+            "    GatewayId : ${5:String(O)}",
+            "    InstanceId : ${6:String(O)}",
+            "    NatGatewayId : ${7:String(O)}",
+            "    NetworkInterfaceId : ${8:String(O)}",
+            "    RouteTableId : ${9:String(R)}",
+            "    VpcPeeringConnectionId : ${10:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-directoryconfig":{
+        "prefix":"aws-appstream-directoryconfig",
+        "body":[
+            "${1:myAWSAppStreamDirectoryConfig}:",
+            "  Type: AWS::AppStream::DirectoryConfig",
+            "  Properties:",
+            "    OrganizationalUnitDistinguishedNames : [ ${2:String(R)} ]",
+            "    ServiceAccountCredentials: ${3:aws-appstream-directoryconfig.serviceaccountcredentials(R)}",
+            "    DirectoryName : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-threatintelset":{
+        "prefix":"aws-guardduty-threatintelset",
+        "body":[
+            "${1:myAWSGuardDutyThreatIntelSet}:",
+            "  Type: AWS::GuardDuty::ThreatIntelSet",
+            "  Properties:",
+            "    Format : ${2:String(R)}",
+            "    Activate : ${3:Boolean(R)}",
+            "    DetectorId : ${4:String(R)}",
+            "    Name : ${5:String(O)}",
+            "    Location : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-logs-metricfilter":{
+        "prefix":"aws-logs-metricfilter",
+        "body":[
+            "${1:myAWSLogsMetricFilter}:",
+            "  Type: AWS::Logs::MetricFilter",
+            "  Properties:",
+            "    FilterPattern : ${2:String(R)}",
+            "    LogGroupName : ${3:String(R)}",
+            "    MetricTransformations : [ ${4:aws-logs-metricfilter.metrictransformation(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-resource":{
+        "prefix":"aws-apigateway-resource",
+        "body":[
+            "${1:myAWSApiGatewayResource}:",
+            "  Type: AWS::ApiGateway::Resource",
+            "  Properties:",
+            "    ParentId : ${2:String(R)}",
+            "    PathPart : ${3:String(R)}",
+            "    RestApiId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot1click-device":{
+        "prefix":"aws-iot1click-device",
+        "body":[
+            "${1:myAWSIoT1ClickDevice}:",
+            "  Type: AWS::IoT1Click::Device",
+            "  Properties:",
+            "    DeviceId : ${2:String(R)}",
+            "    Enabled : ${3:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-connection":{
+        "prefix":"aws-glue-connection",
+        "body":[
+            "${1:myAWSGlueConnection}:",
+            "  Type: AWS::Glue::Connection",
+            "  Properties:",
+            "    ConnectionInput: ${2:aws-glue-connection.connectioninput(R)}",
+            "    CatalogId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptfilter":{
+        "prefix":"aws-ses-receiptfilter",
+        "body":[
+            "${1:myAWSSESReceiptFilter}:",
+            "  Type: AWS::SES::ReceiptFilter",
+            "  Properties:",
+            "    Filter: ${2:aws-ses-receiptfilter.filter(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-flowlog":{
+        "prefix":"aws-ec2-flowlog",
+        "body":[
+            "${1:myAWSEC2FlowLog}:",
+            "  Type: AWS::EC2::FlowLog",
+            "  Properties:",
+            "    DeliverLogsPermissionArn : ${2:String(O)}",
+            "    LogDestination : ${3:String(O)}",
+            "    LogDestinationType : ${4:String(O)}",
+            "    LogGroupName : ${5:String(O)}",
+            "    ResourceId : ${6:String(R)}",
+            "    ResourceType : ${7:String(R)}",
+            "    TrafficType : ${8:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-secretsmanager-rotationschedule":{
+        "prefix":"aws-secretsmanager-rotationschedule",
+        "body":[
+            "${1:myAWSSecretsManagerRotationSchedule}:",
+            "  Type: AWS::SecretsManager::RotationSchedule",
+            "  Properties:",
+            "    SecretId : ${2:String(R)}",
+            "    RotationLambdaARN : ${3:String(O)}",
+            "    RotationRules: ${4:aws-secretsmanager-rotationschedule.rotationrules(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypool":{
+        "prefix":"aws-cognito-identitypool",
+        "body":[
+            "${1:myAWSCognitoIdentityPool}:",
+            "  Type: AWS::Cognito::IdentityPool",
+            "  Properties:",
+            "    PushSync: ${2:aws-cognito-identitypool.pushsync(O)}",
+            "    CognitoIdentityProviders : [ ${3:aws-cognito-identitypool.cognitoidentityprovider(O)} ]",
+            "    CognitoEvents : ${4:Json(O)}",
+            "    DeveloperProviderName : ${5:String(O)}",
+            "    CognitoStreams: ${6:aws-cognito-identitypool.cognitostreams(O)}",
+            "    IdentityPoolName : ${7:String(O)}",
+            "    AllowUnauthenticatedIdentities : ${8:Boolean(R)}",
+            "    SupportedLoginProviders : ${9:Json(O)}",
+            "    SamlProviderARNs : [ ${10:String(O)} ]",
+            "    OpenIdConnectProviderARNs : [ ${11:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-loadbalancer":{
+        "prefix":"aws-elasticloadbalancingv2-loadbalancer",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2LoadBalancer}:",
+            "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer",
+            "  Properties:",
+            "    IpAddressType : ${2:String(O)}",
+            "    LoadBalancerAttributes : [ ${3:aws-elasticloadbalancingv2-loadbalancer.loadbalancerattribute(O)} ]",
+            "    Name : ${4:String(O)}",
+            "    Scheme : ${5:String(O)}",
+            "    SecurityGroups : [ ${6:String(O)} ]",
+            "    SubnetMappings : [ ${7:aws-elasticloadbalancingv2-loadbalancer.subnetmapping(O)} ]",
+            "    Subnets : [ ${8:String(O)} ]",
+            "    Tags : [ ${9:aws-elasticloadbalancingv2-loadbalancer.tag(O)} ]",
+            "    Type : ${10:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-accesskey":{
+        "prefix":"aws-iam-accesskey",
+        "body":[
+            "${1:myAWSIAMAccessKey}:",
+            "  Type: AWS::IAM::AccessKey",
+            "  Properties:",
+            "    Serial : ${2:Integer(O)}",
+            "    Status : ${3:String(O)}",
+            "    UserName : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-application":{
+        "prefix":"aws-elasticbeanstalk-application",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplication}:",
+            "  Type: AWS::ElasticBeanstalk::Application",
+            "  Properties:",
+            "    ApplicationName : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    ResourceLifecycleConfig: ${4:aws-elasticbeanstalk-application.applicationresourcelifecycleconfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule":{
+        "prefix":"aws-ses-receiptrule",
+        "body":[
+            "${1:myAWSSESReceiptRule}:",
+            "  Type: AWS::SES::ReceiptRule",
+            "  Properties:",
+            "    After : ${2:String(O)}",
+            "    Rule: ${3:aws-ses-receiptrule.rule(R)}",
+            "    RuleSetName : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-configurationassociation":{
+        "prefix":"aws-amazonmq-configurationassociation",
+        "body":[
+            "${1:myAWSAmazonMQConfigurationAssociation}:",
+            "  Type: AWS::AmazonMQ::ConfigurationAssociation",
+            "  Properties:",
+            "    Broker : ${2:String(R)}",
+            "    Configuration: ${3:aws-amazonmq-configurationassociation.configurationid(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-replicationsubnetgroup":{
+        "prefix":"aws-dms-replicationsubnetgroup",
+        "body":[
+            "${1:myAWSDMSReplicationSubnetGroup}:",
+            "  Type: AWS::DMS::ReplicationSubnetGroup",
+            "  Properties:",
+            "    ReplicationSubnetGroupDescription : ${2:String(R)}",
+            "    ReplicationSubnetGroupIdentifier : ${3:String(O)}",
+            "    SubnetIds : [ ${4:String(R)} ]",
+            "    Tags : [ ${5:aws-dms-replicationsubnetgroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-configurationseteventdestination":{
+        "prefix":"aws-ses-configurationseteventdestination",
+        "body":[
+            "${1:myAWSSESConfigurationSetEventDestination}:",
+            "  Type: AWS::SES::ConfigurationSetEventDestination",
+            "  Properties:",
+            "    ConfigurationSetName : ${2:String(R)}",
+            "    EventDestination: ${3:aws-ses-configurationseteventdestination.eventdestination(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-subnetgroup":{
+        "prefix":"aws-elasticache-subnetgroup",
+        "body":[
+            "${1:myAWSElastiCacheSubnetGroup}:",
+            "  Type: AWS::ElastiCache::SubnetGroup",
+            "  Properties:",
+            "    CacheSubnetGroupName : ${2:String(O)}",
+            "    Description : ${3:String(R)}",
+            "    SubnetIds : [ ${4:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project":{
+        "prefix":"aws-codebuild-project",
+        "body":[
+            "${1:myAWSCodeBuildProject}:",
+            "  Type: AWS::CodeBuild::Project",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    VpcConfig: ${3:aws-codebuild-project.vpcconfig(O)}",
+            "    SecondarySources : [ ${4:aws-codebuild-project.source(O)} ]",
+            "    EncryptionKey : ${5:String(O)}",
+            "    Triggers: ${6:aws-codebuild-project.projecttriggers(O)}",
+            "    SecondaryArtifacts : [ ${7:aws-codebuild-project.artifacts(O)} ]",
+            "    Source: ${8:aws-codebuild-project.source(R)}",
+            "    Name : ${9:String(O)}",
+            "    Artifacts: ${10:aws-codebuild-project.artifacts(R)}",
+            "    BadgeEnabled : ${11:Boolean(O)}",
+            "    LogsConfig: ${12:aws-codebuild-project.logsconfig(O)}",
+            "    ServiceRole : ${13:String(R)}",
+            "    QueuedTimeoutInMinutes : ${14:Integer(O)}",
+            "    Environment: ${15:aws-codebuild-project.environment(R)}",
+            "    Tags : [ ${16:aws-codebuild-project.tag(O)} ]",
+            "    TimeoutInMinutes : ${17:Integer(O)}",
+            "    Cache: ${18:aws-codebuild-project.projectcache(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-transitgatewayroutetablepropagation":{
+        "prefix":"aws-ec2-transitgatewayroutetablepropagation",
+        "body":[
+            "${1:myAWSEC2TransitGatewayRouteTablePropagation}:",
+            "  Type: AWS::EC2::TransitGatewayRouteTablePropagation",
+            "  Properties:",
+            "    TransitGatewayRouteTableId : ${2:String(R)}",
+            "    TransitGatewayAttachmentId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget":{
+        "prefix":"aws-budgets-budget",
+        "body":[
+            "${1:myAWSBudgetsBudget}:",
+            "  Type: AWS::Budgets::Budget",
+            "  Properties:",
+            "    NotificationsWithSubscribers : [ ${2:aws-budgets-budget.notificationwithsubscribers(O)} ]",
+            "    Budget: ${3:aws-budgets-budget.budgetdata(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sns-topicpolicy":{
+        "prefix":"aws-sns-topicpolicy",
+        "body":[
+            "${1:myAWSSNSTopicPolicy}:",
+            "  Type: AWS::SNS::TopicPolicy",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(R)}",
+            "    Topics : [ ${3:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-alias":{
+        "prefix":"aws-lambda-alias",
+        "body":[
+            "${1:myAWSLambdaAlias}:",
+            "  Type: AWS::Lambda::Alias",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    FunctionName : ${3:String(R)}",
+            "    FunctionVersion : ${4:String(R)}",
+            "    Name : ${5:String(R)}",
+            "    RoutingConfig: ${6:aws-lambda-alias.aliasroutingconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-bytematchset":{
+        "prefix":"aws-wafregional-bytematchset",
+        "body":[
+            "${1:myAWSWAFRegionalByteMatchSet}:",
+            "  Type: AWS::WAFRegional::ByteMatchSet",
+            "  Properties:",
+            "    ByteMatchTuples : [ ${2:aws-wafregional-bytematchset.bytematchtuple(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener":{
+        "prefix":"aws-elasticloadbalancingv2-listener",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener",
+            "  Properties:",
+            "    Certificates : [ ${2:aws-elasticloadbalancingv2-listener.certificate(O)} ]",
+            "    DefaultActions : [ ${3:aws-elasticloadbalancingv2-listener.action(R)} ]",
+            "    LoadBalancerArn : ${4:String(R)}",
+            "    Port : ${5:Integer(R)}",
+            "    Protocol : ${6:String(R)}",
+            "    SslPolicy : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-securitygroupegress":{
+        "prefix":"aws-ec2-securitygroupegress",
+        "body":[
+            "${1:myAWSEC2SecurityGroupEgress}:",
+            "  Type: AWS::EC2::SecurityGroupEgress",
+            "  Properties:",
+            "    CidrIp : ${2:String(O)}",
+            "    CidrIpv6 : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    DestinationPrefixListId : ${5:String(O)}",
+            "    DestinationSecurityGroupId : ${6:String(O)}",
+            "    FromPort : ${7:Integer(O)}",
+            "    GroupId : ${8:String(R)}",
+            "    IpProtocol : ${9:String(R)}",
+            "    ToPort : ${10:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkinterface":{
+        "prefix":"aws-ec2-networkinterface",
+        "body":[
+            "${1:myAWSEC2NetworkInterface}:",
+            "  Type: AWS::EC2::NetworkInterface",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    GroupSet : [ ${3:String(O)} ]",
+            "    InterfaceType : ${4:String(O)}",
+            "    Ipv6AddressCount : ${5:Integer(O)}",
+            "    Ipv6Addresses: ${6:aws-ec2-networkinterface.instanceipv6address(O)}",
+            "    PrivateIpAddress : ${7:String(O)}",
+            "    PrivateIpAddresses : [ ${8:aws-ec2-networkinterface.privateipaddressspecification(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${9:Integer(O)}",
+            "    SourceDestCheck : ${10:Boolean(O)}",
+            "    SubnetId : ${11:String(R)}",
+            "    Tags : [ ${12:aws-ec2-networkinterface.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-deployment":{
+        "prefix":"aws-apigatewayv2-deployment",
+        "body":[
+            "${1:myAWSApiGatewayV2Deployment}:",
+            "  Type: AWS::ApiGatewayV2::Deployment",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    StageName : ${3:String(O)}",
+            "    ApiId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dax-subnetgroup":{
+        "prefix":"aws-dax-subnetgroup",
+        "body":[
+            "${1:myAWSDAXSubnetGroup}:",
+            "  Type: AWS::DAX::SubnetGroup",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    SubnetGroupName : ${3:String(O)}",
+            "    SubnetIds : [ ${4:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-fsx-filesystem":{
+        "prefix":"aws-fsx-filesystem",
+        "body":[
+            "${1:myAWSFSxFileSystem}:",
+            "  Type: AWS::FSx::FileSystem",
+            "  Properties:",
+            "    KmsKeyId : ${2:String(O)}",
+            "    StorageCapacity : ${3:Integer(O)}",
+            "    FileSystemType : ${4:String(O)}",
+            "    LustreConfiguration: ${5:aws-fsx-filesystem.lustreconfiguration(O)}",
+            "    BackupId : ${6:String(O)}",
+            "    SubnetIds : [ ${7:String(O)} ]",
+            "    SecurityGroupIds : [ ${8:String(O)} ]",
+            "    Tags : [ ${9:aws-fsx-filesystem.tagentry(O)} ]",
+            "    WindowsConfiguration: ${10:aws-fsx-filesystem.windowsconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-layerversionpermission":{
+        "prefix":"aws-lambda-layerversionpermission",
+        "body":[
+            "${1:myAWSLambdaLayerVersionPermission}:",
+            "  Type: AWS::Lambda::LayerVersionPermission",
+            "  Properties:",
+            "    Action : ${2:String(R)}",
+            "    LayerVersionArn : ${3:String(R)}",
+            "    OrganizationId : ${4:String(O)}",
+            "    Principal : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-endpointconfig":{
+        "prefix":"aws-sagemaker-endpointconfig",
+        "body":[
+            "${1:myAWSSageMakerEndpointConfig}:",
+            "  Type: AWS::SageMaker::EndpointConfig",
+            "  Properties:",
+            "    ProductionVariants : [ ${2:aws-sagemaker-endpointconfig.productionvariant(R)} ]",
+            "    KmsKeyId : ${3:String(O)}",
+            "    EndpointConfigName : ${4:String(O)}",
+            "    Tags : [ ${5:aws-sagemaker-endpointconfig.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-stack":{
+        "prefix":"aws-opsworks-stack",
+        "body":[
+            "${1:myAWSOpsWorksStack}:",
+            "  Type: AWS::OpsWorks::Stack",
+            "  Properties:",
+            "    AgentVersion : ${2:String(O)}",
+            "    Attributes : [ ${3:String(O)} ]",
+            "    ChefConfiguration: ${4:aws-opsworks-stack.chefconfiguration(O)}",
+            "    CloneAppIds : [ ${5:String(O)} ]",
+            "    ClonePermissions : ${6:Boolean(O)}",
+            "    ConfigurationManager: ${7:aws-opsworks-stack.stackconfigurationmanager(O)}",
+            "    CustomCookbooksSource: ${8:aws-opsworks-stack.source(O)}",
+            "    CustomJson : ${9:Json(O)}",
+            "    DefaultAvailabilityZone : ${10:String(O)}",
+            "    DefaultInstanceProfileArn : ${11:String(R)}",
+            "    DefaultOs : ${12:String(O)}",
+            "    DefaultRootDeviceType : ${13:String(O)}",
+            "    DefaultSshKeyName : ${14:String(O)}",
+            "    DefaultSubnetId : ${15:String(O)}",
+            "    EcsClusterArn : ${16:String(O)}",
+            "    ElasticIps : [ ${17:aws-opsworks-stack.elasticip(O)} ]",
+            "    HostnameTheme : ${18:String(O)}",
+            "    Name : ${19:String(R)}",
+            "    RdsDbInstances : [ ${20:aws-opsworks-stack.rdsdbinstance(O)} ]",
+            "    ServiceRoleArn : ${21:String(R)}",
+            "    SourceStackId : ${22:String(O)}",
+            "    Tags : [ ${23:aws-opsworks-stack.tag(O)} ]",
+            "    UseCustomCookbooks : ${24:Boolean(O)}",
+            "    UseOpsworksSecurityGroups : ${25:Boolean(O)}",
+            "    VpcId : ${26:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline":{
+        "prefix":"aws-datapipeline-pipeline",
+        "body":[
+            "${1:myAWSDataPipelinePipeline}:",
+            "  Type: AWS::DataPipeline::Pipeline",
+            "  Properties:",
+            "    Activate : ${2:Boolean(O)}",
+            "    Description : ${3:String(O)}",
+            "    Name : ${4:String(R)}",
+            "    ParameterObjects : [ ${5:aws-datapipeline-pipeline.parameterobject(R)} ]",
+            "    ParameterValues : [ ${6:aws-datapipeline-pipeline.parametervalue(O)} ]",
+            "    PipelineObjects : [ ${7:aws-datapipeline-pipeline.pipelineobject(O)} ]",
+            "    PipelineTags : [ ${8:aws-datapipeline-pipeline.pipelinetag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-devicedefinition":{
+        "prefix":"aws-greengrass-devicedefinition",
+        "body":[
+            "${1:myAWSGreengrassDeviceDefinition}:",
+            "  Type: AWS::Greengrass::DeviceDefinition",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-devicedefinition.devicedefinitionversion(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-stepfunctions-statemachine":{
+        "prefix":"aws-stepfunctions-statemachine",
+        "body":[
+            "${1:myAWSStepFunctionsStateMachine}:",
+            "  Type: AWS::StepFunctions::StateMachine",
+            "  Properties:",
+            "    DefinitionString : ${2:String(R)}",
+            "    StateMachineName : ${3:String(O)}",
+            "    RoleArn : ${4:String(R)}",
+            "    Tags : [ ${5:aws-stepfunctions-statemachine.tagsentry(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentconfig":{
+        "prefix":"aws-codedeploy-deploymentconfig",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentConfig}:",
+            "  Type: AWS::CodeDeploy::DeploymentConfig",
+            "  Properties:",
+            "    DeploymentConfigName : ${2:String(O)}",
+            "    MinimumHealthyHosts: ${3:aws-codedeploy-deploymentconfig.minimumhealthyhosts(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-eventsubscription":{
+        "prefix":"aws-dms-eventsubscription",
+        "body":[
+            "${1:myAWSDMSEventSubscription}:",
+            "  Type: AWS::DMS::EventSubscription",
+            "  Properties:",
+            "    SourceType : ${2:String(O)}",
+            "    EventCategories : [ ${3:String(O)} ]",
+            "    Enabled : ${4:Boolean(O)}",
+            "    SubscriptionName : ${5:String(O)}",
+            "    SnsTopicArn : ${6:String(R)}",
+            "    SourceIds : [ ${7:String(O)} ]",
+            "    Tags : [ ${8:aws-dms-eventsubscription.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-transitgatewayattachment":{
+        "prefix":"aws-ec2-transitgatewayattachment",
+        "body":[
+            "${1:myAWSEC2TransitGatewayAttachment}:",
+            "  Type: AWS::EC2::TransitGatewayAttachment",
+            "  Properties:",
+            "    TransitGatewayId : ${2:String(R)}",
+            "    VpcId : ${3:String(R)}",
+            "    SubnetIds : [ ${4:String(R)} ]",
+            "    Tags : [ ${5:aws-ec2-transitgatewayattachment.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53resolver-resolverrule":{
+        "prefix":"aws-route53resolver-resolverrule",
+        "body":[
+            "${1:myAWSRoute53ResolverResolverRule}:",
+            "  Type: AWS::Route53Resolver::ResolverRule",
+            "  Properties:",
+            "    ResolverEndpointId : ${2:String(O)}",
+            "    DomainName : ${3:String(R)}",
+            "    RuleType : ${4:String(R)}",
+            "    TargetIps : [ ${5:aws-route53resolver-resolverrule.targetaddress(O)} ]",
+            "    Tags : [ ${6:aws-route53resolver-resolverrule.tag(O)} ]",
+            "    Name : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dax-parametergroup":{
+        "prefix":"aws-dax-parametergroup",
+        "body":[
+            "${1:myAWSDAXParameterGroup}:",
+            "  Type: AWS::DAX::ParameterGroup",
+            "  Properties:",
+            "    ParameterNameValues : ${2:Json(O)}",
+            "    Description : ${3:String(O)}",
+            "    ParameterGroupName : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-subnetnetworkaclassociation":{
+        "prefix":"aws-ec2-subnetnetworkaclassociation",
+        "body":[
+            "${1:myAWSEC2SubnetNetworkAclAssociation}:",
+            "  Type: AWS::EC2::SubnetNetworkAclAssociation",
+            "  Properties:",
+            "    NetworkAclId : ${2:String(R)}",
+            "    SubnetId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configurationaggregator":{
+        "prefix":"aws-config-configurationaggregator",
+        "body":[
+            "${1:myAWSConfigConfigurationAggregator}:",
+            "  Type: AWS::Config::ConfigurationAggregator",
+            "  Properties:",
+            "    AccountAggregationSources : [ ${2:aws-config-configurationaggregator.accountaggregationsource(O)} ]",
+            "    ConfigurationAggregatorName : ${3:String(R)}",
+            "    OrganizationAggregationSource: ${4:aws-config-configurationaggregator.organizationaggregationsource(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-account":{
+        "prefix":"aws-apigateway-account",
+        "body":[
+            "${1:myAWSApiGatewayAccount}:",
+            "  Type: AWS::ApiGateway::Account",
+            "  Properties:",
+            "    CloudWatchRoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-template":{
+        "prefix":"aws-ses-template",
+        "body":[
+            "${1:myAWSSESTemplate}:",
+            "  Type: AWS::SES::Template",
+            "  Properties:",
+            "    Template: ${2:aws-ses-template.template(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution":{
+        "prefix":"aws-cloudfront-distribution",
+        "body":[
+            "${1:myAWSCloudFrontDistribution}:",
+            "  Type: AWS::CloudFront::Distribution",
+            "  Properties:",
+            "    DistributionConfig: ${2:aws-cloudfront-distribution.distributionconfig(R)}",
+            "    Tags : [ ${3:aws-cloudfront-distribution.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-clusterparametergroup":{
+        "prefix":"aws-redshift-clusterparametergroup",
+        "body":[
+            "${1:myAWSRedshiftClusterParameterGroup}:",
+            "  Type: AWS::Redshift::ClusterParameterGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    ParameterGroupFamily : ${3:String(R)}",
+            "    Parameters : [ ${4:aws-redshift-clusterparametergroup.parameter(O)} ]",
+            "    Tags : [ ${5:aws-redshift-clusterparametergroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-loggerdefinition":{
+        "prefix":"aws-greengrass-loggerdefinition",
+        "body":[
+            "${1:myAWSGreengrassLoggerDefinition}:",
+            "  Type: AWS::Greengrass::LoggerDefinition",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-loggerdefinition.loggerdefinitionversion(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudtrail-trail":{
+        "prefix":"aws-cloudtrail-trail",
+        "body":[
+            "${1:myAWSCloudTrailTrail}:",
+            "  Type: AWS::CloudTrail::Trail",
+            "  Properties:",
+            "    CloudWatchLogsLogGroupArn : ${2:String(O)}",
+            "    CloudWatchLogsRoleArn : ${3:String(O)}",
+            "    EnableLogFileValidation : ${4:Boolean(O)}",
+            "    EventSelectors : [ ${5:aws-cloudtrail-trail.eventselector(O)} ]",
+            "    IncludeGlobalServiceEvents : ${6:Boolean(O)}",
+            "    IsLogging : ${7:Boolean(R)}",
+            "    IsMultiRegionTrail : ${8:Boolean(O)}",
+            "    KMSKeyId : ${9:String(O)}",
+            "    S3BucketName : ${10:String(R)}",
+            "    S3KeyPrefix : ${11:String(O)}",
+            "    SnsTopicName : ${12:String(O)}",
+            "    Tags : [ ${13:aws-cloudtrail-trail.tag(O)} ]",
+            "    TrailName : ${14:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-cloudformationprovisionedproduct":{
+        "prefix":"aws-servicecatalog-cloudformationprovisionedproduct",
+        "body":[
+            "${1:myAWSServiceCatalogCloudFormationProvisionedProduct}:",
+            "  Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct",
+            "  Properties:",
+            "    PathId : ${2:String(O)}",
+            "    ProvisioningParameters : [ ${3:aws-servicecatalog-cloudformationprovisionedproduct.provisioningparameter(O)} ]",
+            "    ProductName : ${4:String(O)}",
+            "    ProvisioningArtifactName : ${5:String(O)}",
+            "    NotificationArns : [ ${6:String(O)} ]",
+            "    AcceptLanguage : ${7:String(O)}",
+            "    ProductId : ${8:String(O)}",
+            "    Tags : [ ${9:aws-servicecatalog-cloudformationprovisionedproduct.tag(O)} ]",
+            "    ProvisionedProductName : ${10:String(O)}",
+            "    ProvisioningArtifactId : ${11:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-launchroleconstraint":{
+        "prefix":"aws-servicecatalog-launchroleconstraint",
+        "body":[
+            "${1:myAWSServiceCatalogLaunchRoleConstraint}:",
+            "  Type: AWS::ServiceCatalog::LaunchRoleConstraint",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    AcceptLanguage : ${3:String(O)}",
+            "    PortfolioId : ${4:String(R)}",
+            "    ProductId : ${5:String(R)}",
+            "    RoleArn : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig":{
+        "prefix":"aws-emr-instancegroupconfig",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig}:",
+            "  Type: AWS::EMR::InstanceGroupConfig",
+            "  Properties:",
+            "    AutoScalingPolicy: ${2:aws-emr-instancegroupconfig.autoscalingpolicy(O)}",
+            "    BidPrice : ${3:String(O)}",
+            "    Configurations : [ ${4:aws-emr-instancegroupconfig.configuration(O)} ]",
+            "    EbsConfiguration: ${5:aws-emr-instancegroupconfig.ebsconfiguration(O)}",
+            "    InstanceCount : ${6:Integer(R)}",
+            "    InstanceRole : ${7:String(R)}",
+            "    InstanceType : ${8:String(R)}",
+            "    JobFlowId : ${9:String(R)}",
+            "    Market : ${10:String(O)}",
+            "    Name : ${11:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-neptune-dbclusterparametergroup":{
+        "prefix":"aws-neptune-dbclusterparametergroup",
+        "body":[
+            "${1:myAWSNeptuneDBClusterParameterGroup}:",
+            "  Type: AWS::Neptune::DBClusterParameterGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    Parameters : ${3:Json(R)}",
+            "    Family : ${4:String(R)}",
+            "    Tags : [ ${5:aws-neptune-dbclusterparametergroup.tag(O)} ]",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-subnetcidrblock":{
+        "prefix":"aws-ec2-subnetcidrblock",
+        "body":[
+            "${1:myAWSEC2SubnetCidrBlock}:",
+            "  Type: AWS::EC2::SubnetCidrBlock",
+            "  Properties:",
+            "    Ipv6CidrBlock : ${2:String(R)}",
+            "    SubnetId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-lifecyclehook":{
+        "prefix":"aws-autoscaling-lifecyclehook",
+        "body":[
+            "${1:myAWSAutoScalingLifecycleHook}:",
+            "  Type: AWS::AutoScaling::LifecycleHook",
+            "  Properties:",
+            "    AutoScalingGroupName : ${2:String(R)}",
+            "    DefaultResult : ${3:String(O)}",
+            "    HeartbeatTimeout : ${4:Integer(O)}",
+            "    LifecycleHookName : ${5:String(O)}",
+            "    LifecycleTransition : ${6:String(R)}",
+            "    NotificationMetadata : ${7:String(O)}",
+            "    NotificationTargetARN : ${8:String(O)}",
+            "    RoleARN : ${9:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule",
+            "  Properties:",
+            "    Actions : [ ${2:aws-elasticloadbalancingv2-listenerrule.action(R)} ]",
+            "    Conditions : [ ${3:aws-elasticloadbalancingv2-listenerrule.rulecondition(R)} ]",
+            "    ListenerArn : ${4:String(R)}",
+            "    Priority : ${5:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline":{
+        "prefix":"aws-codepipeline-pipeline",
+        "body":[
+            "${1:myAWSCodePipelinePipeline}:",
+            "  Type: AWS::CodePipeline::Pipeline",
+            "  Properties:",
+            "    ArtifactStore: ${2:aws-codepipeline-pipeline.artifactstore(O)}",
+            "    ArtifactStores : [ ${3:aws-codepipeline-pipeline.artifactstoremap(O)} ]",
+            "    DisableInboundStageTransitions : [ ${4:aws-codepipeline-pipeline.stagetransition(O)} ]",
+            "    Name : ${5:String(O)}",
+            "    RestartExecutionOnUpdate : ${6:Boolean(O)}",
+            "    RoleArn : ${7:String(R)}",
+            "    Stages : [ ${8:aws-codepipeline-pipeline.stagedeclaration(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-clustersecuritygroupingress":{
+        "prefix":"aws-redshift-clustersecuritygroupingress",
+        "body":[
+            "${1:myAWSRedshiftClusterSecurityGroupIngress}:",
+            "  Type: AWS::Redshift::ClusterSecurityGroupIngress",
+            "  Properties:",
+            "    CIDRIP : ${2:String(O)}",
+            "    ClusterSecurityGroupName : ${3:String(R)}",
+            "    EC2SecurityGroupName : ${4:String(O)}",
+            "    EC2SecurityGroupOwnerId : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-securitygroupingress":{
+        "prefix":"aws-elasticache-securitygroupingress",
+        "body":[
+            "${1:myAWSElastiCacheSecurityGroupIngress}:",
+            "  Type: AWS::ElastiCache::SecurityGroupIngress",
+            "  Properties:",
+            "    CacheSecurityGroupName : ${2:String(R)}",
+            "    EC2SecurityGroupName : ${3:String(R)}",
+            "    EC2SecurityGroupOwnerId : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-natgateway":{
+        "prefix":"aws-ec2-natgateway",
+        "body":[
+            "${1:myAWSEC2NatGateway}:",
+            "  Type: AWS::EC2::NatGateway",
+            "  Properties:",
+            "    AllocationId : ${2:String(R)}",
+            "    SubnetId : ${3:String(R)}",
+            "    Tags : [ ${4:aws-ec2-natgateway.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-optiongroup":{
+        "prefix":"aws-rds-optiongroup",
+        "body":[
+            "${1:myAWSRDSOptionGroup}:",
+            "  Type: AWS::RDS::OptionGroup",
+            "  Properties:",
+            "    EngineName : ${2:String(R)}",
+            "    MajorEngineVersion : ${3:String(R)}",
+            "    OptionConfigurations : [ ${4:aws-rds-optiongroup.optionconfiguration(R)} ]",
+            "    OptionGroupDescription : ${5:String(R)}",
+            "    Tags : [ ${6:aws-rds-optiongroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule":{
+        "prefix":"aws-iot-topicrule",
+        "body":[
+            "${1:myAWSIoTTopicRule}:",
+            "  Type: AWS::IoT::TopicRule",
+            "  Properties:",
+            "    RuleName : ${2:String(O)}",
+            "    TopicRulePayload: ${3:aws-iot-topicrule.topicrulepayload(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-elasticloadbalancerattachment":{
+        "prefix":"aws-opsworks-elasticloadbalancerattachment",
+        "body":[
+            "${1:myAWSOpsWorksElasticLoadBalancerAttachment}:",
+            "  Type: AWS::OpsWorks::ElasticLoadBalancerAttachment",
+            "  Properties:",
+            "    ElasticLoadBalancerName : ${2:String(R)}",
+            "    LayerId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-replicationgroup":{
+        "prefix":"aws-elasticache-replicationgroup",
+        "body":[
+            "${1:myAWSElastiCacheReplicationGroup}:",
+            "  Type: AWS::ElastiCache::ReplicationGroup",
+            "  Properties:",
+            "    AtRestEncryptionEnabled : ${2:Boolean(O)}",
+            "    AuthToken : ${3:String(O)}",
+            "    AutoMinorVersionUpgrade : ${4:Boolean(O)}",
+            "    AutomaticFailoverEnabled : ${5:Boolean(O)}",
+            "    CacheNodeType : ${6:String(O)}",
+            "    CacheParameterGroupName : ${7:String(O)}",
+            "    CacheSecurityGroupNames : [ ${8:String(O)} ]",
+            "    CacheSubnetGroupName : ${9:String(O)}",
+            "    Engine : ${10:String(O)}",
+            "    EngineVersion : ${11:String(O)}",
+            "    NodeGroupConfiguration : [ ${12:aws-elasticache-replicationgroup.nodegroupconfiguration(O)} ]",
+            "    NotificationTopicArn : ${13:String(O)}",
+            "    NumCacheClusters : ${14:Integer(O)}",
+            "    NumNodeGroups : ${15:Integer(O)}",
+            "    Port : ${16:Integer(O)}",
+            "    PreferredCacheClusterAZs : [ ${17:String(O)} ]",
+            "    PreferredMaintenanceWindow : ${18:String(O)}",
+            "    PrimaryClusterId : ${19:String(O)}",
+            "    ReplicasPerNodeGroup : ${20:Integer(O)}",
+            "    ReplicationGroupDescription : ${21:String(R)}",
+            "    ReplicationGroupId : ${22:String(O)}",
+            "    SecurityGroupIds : [ ${23:String(O)} ]",
+            "    SnapshotArns : [ ${24:String(O)} ]",
+            "    SnapshotName : ${25:String(O)}",
+            "    SnapshotRetentionLimit : ${26:Integer(O)}",
+            "    SnapshotWindow : ${27:String(O)}",
+            "    SnapshottingClusterId : ${28:String(O)}",
+            "    Tags : [ ${29:aws-elasticache-replicationgroup.tag(O)} ]",
+            "    TransitEncryptionEnabled : ${30:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-docdb-dbinstance":{
+        "prefix":"aws-docdb-dbinstance",
+        "body":[
+            "${1:myAWSDocDBDBInstance}:",
+            "  Type: AWS::DocDB::DBInstance",
+            "  Properties:",
+            "    DBInstanceClass : ${2:String(R)}",
+            "    DBClusterIdentifier : ${3:String(R)}",
+            "    AvailabilityZone : ${4:String(O)}",
+            "    PreferredMaintenanceWindow : ${5:String(O)}",
+            "    AutoMinorVersionUpgrade : ${6:Boolean(O)}",
+            "    DBInstanceIdentifier : ${7:String(O)}",
+            "    Tags : [ ${8:aws-docdb-dbinstance.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpooluser":{
+        "prefix":"aws-cognito-userpooluser",
+        "body":[
+            "${1:myAWSCognitoUserPoolUser}:",
+            "  Type: AWS::Cognito::UserPoolUser",
+            "  Properties:",
+            "    ValidationData : [ ${2:aws-cognito-userpooluser.attributetype(O)} ]",
+            "    UserPoolId : ${3:String(R)}",
+            "    Username : ${4:String(O)}",
+            "    MessageAction : ${5:String(O)}",
+            "    DesiredDeliveryMediums : [ ${6:String(O)} ]",
+            "    ForceAliasCreation : ${7:Boolean(O)}",
+            "    UserAttributes : [ ${8:aws-cognito-userpooluser.attributetype(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-webaclassociation":{
+        "prefix":"aws-wafregional-webaclassociation",
+        "body":[
+            "${1:myAWSWAFRegionalWebACLAssociation}:",
+            "  Type: AWS::WAFRegional::WebACLAssociation",
+            "  Properties:",
+            "    ResourceArn : ${2:String(R)}",
+            "    WebACLId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-cloudformationproduct":{
+        "prefix":"aws-servicecatalog-cloudformationproduct",
+        "body":[
+            "${1:myAWSServiceCatalogCloudFormationProduct}:",
+            "  Type: AWS::ServiceCatalog::CloudFormationProduct",
+            "  Properties:",
+            "    Owner : ${2:String(R)}",
+            "    SupportDescription : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    Distributor : ${5:String(O)}",
+            "    SupportEmail : ${6:String(O)}",
+            "    AcceptLanguage : ${7:String(O)}",
+            "    SupportUrl : ${8:String(O)}",
+            "    Tags : [ ${9:aws-servicecatalog-cloudformationproduct.tag(O)} ]",
+            "    Name : ${10:String(R)}",
+            "    ProvisioningArtifactParameters : [ ${11:aws-servicecatalog-cloudformationproduct.provisioningartifactproperties(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-functionconfiguration":{
+        "prefix":"aws-appsync-functionconfiguration",
+        "body":[
+            "${1:myAWSAppSyncFunctionConfiguration}:",
+            "  Type: AWS::AppSync::FunctionConfiguration",
+            "  Properties:",
+            "    ResponseMappingTemplateS3Location : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    DataSourceName : ${4:String(O)}",
+            "    RequestMappingTemplate : ${5:String(O)}",
+            "    ResponseMappingTemplate : ${6:String(O)}",
+            "    FunctionVersion : ${7:String(O)}",
+            "    RequestMappingTemplateS3Location : ${8:String(O)}",
+            "    ApiId : ${9:String(R)}",
+            "    Name : ${10:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-model":{
+        "prefix":"aws-apigatewayv2-model",
+        "body":[
+            "${1:myAWSApiGatewayV2Model}:",
+            "  Type: AWS::ApiGatewayV2::Model",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    ContentType : ${3:String(O)}",
+            "    Schema : ${4:Json(R)}",
+            "    ApiId : ${5:String(R)}",
+            "    Name : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-simulationapplication":{
+        "prefix":"aws-robomaker-simulationapplication",
+        "body":[
+            "${1:myAWSRoboMakerSimulationApplication}:",
+            "  Type: AWS::RoboMaker::SimulationApplication",
+            "  Properties:",
+            "    RenderingEngine: ${2:aws-robomaker-simulationapplication.renderingengine(R)}",
+            "    SimulationSoftwareSuite: ${3:aws-robomaker-simulationapplication.simulationsoftwaresuite(R)}",
+            "    CurrentRevisionId : ${4:String(O)}",
+            "    RobotSoftwareSuite: ${5:aws-robomaker-simulationapplication.robotsoftwaresuite(R)}",
+            "    Sources : [ ${6:aws-robomaker-simulationapplication.sourceconfig(R)} ]",
+            "    Tags : ${7:Json(O)}",
+            "    Name : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-channel":{
+        "prefix":"aws-iotanalytics-channel",
+        "body":[
+            "${1:myAWSIoTAnalyticsChannel}:",
+            "  Type: AWS::IoTAnalytics::Channel",
+            "  Properties:",
+            "    ChannelName : ${2:String(O)}",
+            "    RetentionPeriod: ${3:aws-iotanalytics-channel.retentionperiod(O)}",
+            "    Tags : [ ${4:aws-iotanalytics-channel.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudformation-waitcondition":{
+        "prefix":"aws-cloudformation-waitcondition",
+        "body":[
+            "${1:myAWSCloudFormationWaitCondition}:",
+            "  Type: AWS::CloudFormation::WaitCondition",
+            "  Properties:",
+            "    Count : ${2:Integer(O)}",
+            "    Handle : ${3:String(O)}",
+            "    Timeout : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-securitygroup":{
+        "prefix":"aws-ec2-securitygroup",
+        "body":[
+            "${1:myAWSEC2SecurityGroup}:",
+            "  Type: AWS::EC2::SecurityGroup",
+            "  Properties:",
+            "    GroupDescription : ${2:String(R)}",
+            "    GroupName : ${3:String(O)}",
+            "    SecurityGroupEgress : [ ${4:aws-ec2-securitygroup.egress(O)} ]",
+            "    SecurityGroupIngress : [ ${5:aws-ec2-securitygroup.ingress(O)} ]",
+            "    Tags : [ ${6:aws-ec2-securitygroup.tag(O)} ]",
+            "    VpcId : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloud9-environmentec2":{
+        "prefix":"aws-cloud9-environmentec2",
+        "body":[
+            "${1:myAWSCloud9EnvironmentEC2}:",
+            "  Type: AWS::Cloud9::EnvironmentEC2",
+            "  Properties:",
+            "    Repositories : [ ${2:aws-cloud9-environmentec2.repository(O)} ]",
+            "    OwnerArn : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    AutomaticStopTimeMinutes : ${5:Integer(O)}",
+            "    SubnetId : ${6:String(O)}",
+            "    InstanceType : ${7:String(R)}",
+            "    Name : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-webacl":{
+        "prefix":"aws-wafregional-webacl",
+        "body":[
+            "${1:myAWSWAFRegionalWebACL}:",
+            "  Type: AWS::WAFRegional::WebACL",
+            "  Properties:",
+            "    MetricName : ${2:String(R)}",
+            "    DefaultAction: ${3:aws-wafregional-webacl.action(R)}",
+            "    Rules : [ ${4:aws-wafregional-webacl.rule(O)} ]",
+            "    Name : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-rule":{
+        "prefix":"aws-wafregional-rule",
+        "body":[
+            "${1:myAWSWAFRegionalRule}:",
+            "  Type: AWS::WAFRegional::Rule",
+            "  Properties:",
+            "    MetricName : ${2:String(R)}",
+            "    Predicates : [ ${3:aws-wafregional-rule.predicate(O)} ]",
+            "    Name : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-cloudfrontoriginaccessidentity":{
+        "prefix":"aws-cloudfront-cloudfrontoriginaccessidentity",
+        "body":[
+            "${1:myAWSCloudFrontCloudFrontOriginAccessIdentity}:",
+            "  Type: AWS::CloudFront::CloudFrontOriginAccessIdentity",
+            "  Properties:",
+            "    CloudFrontOriginAccessIdentityConfig: ${2:aws-cloudfront-cloudfrontoriginaccessidentity.cloudfrontoriginaccessidentityconfig(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-endpoint":{
+        "prefix":"aws-sagemaker-endpoint",
+        "body":[
+            "${1:myAWSSageMakerEndpoint}:",
+            "  Type: AWS::SageMaker::Endpoint",
+            "  Properties:",
+            "    EndpointName : ${2:String(O)}",
+            "    EndpointConfigName : ${3:String(R)}",
+            "    Tags : [ ${4:aws-sagemaker-endpoint.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-apikey":{
+        "prefix":"aws-appsync-apikey",
+        "body":[
+            "${1:myAWSAppSyncApiKey}:",
+            "  Type: AWS::AppSync::ApiKey",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Expires : ${3:Double(O)}",
+            "    ApiId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-hostedzone":{
+        "prefix":"aws-route53-hostedzone",
+        "body":[
+            "${1:myAWSRoute53HostedZone}:",
+            "  Type: AWS::Route53::HostedZone",
+            "  Properties:",
+            "    HostedZoneConfig: ${2:aws-route53-hostedzone.hostedzoneconfig(O)}",
+            "    HostedZoneTags : [ ${3:aws-route53-hostedzone.hostedzonetag(O)} ]",
+            "    Name : ${4:String(R)}",
+            "    QueryLoggingConfig: ${5:aws-route53-hostedzone.queryloggingconfig(O)}",
+            "    VPCs : [ ${6:aws-route53-hostedzone.vpc(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-restapi":{
+        "prefix":"aws-apigateway-restapi",
+        "body":[
+            "${1:myAWSApiGatewayRestApi}:",
+            "  Type: AWS::ApiGateway::RestApi",
+            "  Properties:",
+            "    ApiKeySourceType : ${2:String(O)}",
+            "    BinaryMediaTypes : [ ${3:String(O)} ]",
+            "    Body : ${4:Json(O)}",
+            "    BodyS3Location: ${5:aws-apigateway-restapi.s3location(O)}",
+            "    CloneFrom : ${6:String(O)}",
+            "    Description : ${7:String(O)}",
+            "    EndpointConfiguration: ${8:aws-apigateway-restapi.endpointconfiguration(O)}",
+            "    FailOnWarnings : ${9:Boolean(O)}",
+            "    MinimumCompressionSize : ${10:Integer(O)}",
+            "    Name : ${11:String(O)}",
+            "    Parameters : [ ${12:String(O)} ]",
+            "    Policy : ${13:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-subnet":{
+        "prefix":"aws-ec2-subnet",
+        "body":[
+            "${1:myAWSEC2Subnet}:",
+            "  Type: AWS::EC2::Subnet",
+            "  Properties:",
+            "    AssignIpv6AddressOnCreation : ${2:Boolean(O)}",
+            "    AvailabilityZone : ${3:String(O)}",
+            "    CidrBlock : ${4:String(R)}",
+            "    Ipv6CidrBlock : ${5:String(O)}",
+            "    MapPublicIpOnLaunch : ${6:Boolean(O)}",
+            "    Tags : [ ${7:aws-ec2-subnet.tag(O)} ]",
+            "    VpcId : ${8:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-application":{
+        "prefix":"aws-codedeploy-application",
+        "body":[
+            "${1:myAWSCodeDeployApplication}:",
+            "  Type: AWS::CodeDeploy::Application",
+            "  Properties:",
+            "    ApplicationName : ${2:String(O)}",
+            "    ComputePlatform : ${3:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-portfolioproductassociation":{
+        "prefix":"aws-servicecatalog-portfolioproductassociation",
+        "body":[
+            "${1:myAWSServiceCatalogPortfolioProductAssociation}:",
+            "  Type: AWS::ServiceCatalog::PortfolioProductAssociation",
+            "  Properties:",
+            "    SourcePortfolioId : ${2:String(O)}",
+            "    AcceptLanguage : ${3:String(O)}",
+            "    PortfolioId : ${4:String(R)}",
+            "    ProductId : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpc":{
+        "prefix":"aws-ec2-vpc",
+        "body":[
+            "${1:myAWSEC2VPC}:",
+            "  Type: AWS::EC2::VPC",
+            "  Properties:",
+            "    CidrBlock : ${2:String(R)}",
+            "    EnableDnsHostnames : ${3:Boolean(O)}",
+            "    EnableDnsSupport : ${4:Boolean(O)}",
+            "    InstanceTenancy : ${5:String(O)}",
+            "    Tags : [ ${6:aws-ec2-vpc.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-instance":{
+        "prefix":"aws-servicediscovery-instance",
+        "body":[
+            "${1:myAWSServiceDiscoveryInstance}:",
+            "  Type: AWS::ServiceDiscovery::Instance",
+            "  Properties:",
+            "    InstanceAttributes : ${2:Map(R)}",
+            "    InstanceId : ${3:String(O)}",
+            "    ServiceId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance":{
+        "prefix":"aws-ec2-instance",
+        "body":[
+            "${1:myAWSEC2Instance}:",
+            "  Type: AWS::EC2::Instance",
+            "  Properties:",
+            "    AdditionalInfo : ${2:String(O)}",
+            "    Affinity : ${3:String(O)}",
+            "    AvailabilityZone : ${4:String(O)}",
+            "    BlockDeviceMappings : [ ${5:aws-ec2-instance.blockdevicemapping(O)} ]",
+            "    CreditSpecification: ${6:aws-ec2-instance.creditspecification(O)}",
+            "    DisableApiTermination : ${7:Boolean(O)}",
+            "    EbsOptimized : ${8:Boolean(O)}",
+            "    ElasticGpuSpecifications : [ ${9:aws-ec2-instance.elasticgpuspecification(O)} ]",
+            "    ElasticInferenceAccelerators : [ ${10:aws-ec2-instance.elasticinferenceaccelerator(O)} ]",
+            "    HostId : ${11:String(O)}",
+            "    IamInstanceProfile : ${12:String(O)}",
+            "    ImageId : ${13:String(O)}",
+            "    InstanceInitiatedShutdownBehavior : ${14:String(O)}",
+            "    InstanceType : ${15:String(O)}",
+            "    Ipv6AddressCount : ${16:Integer(O)}",
+            "    Ipv6Addresses : [ ${17:aws-ec2-instance.instanceipv6address(O)} ]",
+            "    KernelId : ${18:String(O)}",
+            "    KeyName : ${19:String(O)}",
+            "    LaunchTemplate: ${20:aws-ec2-instance.launchtemplatespecification(O)}",
+            "    LicenseSpecifications : [ ${21:aws-ec2-instance.licensespecification(O)} ]",
+            "    Monitoring : ${22:Boolean(O)}",
+            "    NetworkInterfaces : [ ${23:aws-ec2-instance.networkinterface(O)} ]",
+            "    PlacementGroupName : ${24:String(O)}",
+            "    PrivateIpAddress : ${25:String(O)}",
+            "    RamdiskId : ${26:String(O)}",
+            "    SecurityGroupIds : [ ${27:String(O)} ]",
+            "    SecurityGroups : [ ${28:String(O)} ]",
+            "    SourceDestCheck : ${29:Boolean(O)}",
+            "    SsmAssociations : [ ${30:aws-ec2-instance.ssmassociation(O)} ]",
+            "    SubnetId : ${31:String(O)}",
+            "    Tags : [ ${32:aws-ec2-instance.tag(O)} ]",
+            "    Tenancy : ${33:String(O)}",
+            "    UserData : ${34:String(O)}",
+            "    Volumes : [ ${35:aws-ec2-instance.volume(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationoutput":{
+        "prefix":"aws-kinesisanalyticsv2-applicationoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationOutput}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    Output: ${3:aws-kinesisanalyticsv2-applicationoutput.output(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-eventbuspolicy":{
+        "prefix":"aws-events-eventbuspolicy",
+        "body":[
+            "${1:myAWSEventsEventBusPolicy}:",
+            "  Type: AWS::Events::EventBusPolicy",
+            "  Properties:",
+            "    Condition: ${2:aws-events-eventbuspolicy.condition(O)}",
+            "    Action : ${3:String(R)}",
+            "    StatementId : ${4:String(R)}",
+            "    Principal : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-eks-cluster":{
+        "prefix":"aws-eks-cluster",
+        "body":[
+            "${1:myAWSEKSCluster}:",
+            "  Type: AWS::EKS::Cluster",
+            "  Properties:",
+            "    Version : ${2:String(O)}",
+            "    RoleArn : ${3:String(R)}",
+            "    ResourcesVpcConfig: ${4:aws-eks-cluster.resourcesvpcconfig(R)}",
+            "    Name : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudformation-stack":{
+        "prefix":"aws-cloudformation-stack",
+        "body":[
+            "${1:myAWSCloudFormationStack}:",
+            "  Type: AWS::CloudFormation::Stack",
+            "  Properties:",
+            "    NotificationARNs : [ ${2:String(O)} ]",
+            "    Parameters : [ ${3:String(O)} ]",
+            "    Tags : [ ${4:aws-cloudformation-stack.tag(O)} ]",
+            "    TemplateURL : ${5:String(R)}",
+            "    TimeoutInMinutes : ${6:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-aggregationauthorization":{
+        "prefix":"aws-config-aggregationauthorization",
+        "body":[
+            "${1:myAWSConfigAggregationAuthorization}:",
+            "  Type: AWS::Config::AggregationAuthorization",
+            "  Properties:",
+            "    AuthorizedAccountId : ${2:String(R)}",
+            "    AuthorizedAwsRegion : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-parametergroup":{
+        "prefix":"aws-elasticache-parametergroup",
+        "body":[
+            "${1:myAWSElastiCacheParameterGroup}:",
+            "  Type: AWS::ElastiCache::ParameterGroup",
+            "  Properties:",
+            "    CacheParameterGroupFamily : ${2:String(R)}",
+            "    Description : ${3:String(R)}",
+            "    Properties : [ ${4:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-bytematchset":{
+        "prefix":"aws-waf-bytematchset",
+        "body":[
+            "${1:myAWSWAFByteMatchSet}:",
+            "  Type: AWS::WAF::ByteMatchSet",
+            "  Properties:",
+            "    ByteMatchTuples : [ ${2:aws-waf-bytematchset.bytematchtuple(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sqs-queuepolicy":{
+        "prefix":"aws-sqs-queuepolicy",
+        "body":[
+            "${1:myAWSSQSQueuePolicy}:",
+            "  Type: AWS::SQS::QueuePolicy",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(R)}",
+            "    Queues : [ ${3:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-docdb-dbcluster":{
+        "prefix":"aws-docdb-dbcluster",
+        "body":[
+            "${1:myAWSDocDBDBCluster}:",
+            "  Type: AWS::DocDB::DBCluster",
+            "  Properties:",
+            "    StorageEncrypted : ${2:Boolean(O)}",
+            "    EngineVersion : ${3:String(O)}",
+            "    KmsKeyId : ${4:String(O)}",
+            "    AvailabilityZones : [ ${5:String(O)} ]",
+            "    SnapshotIdentifier : ${6:String(O)}",
+            "    Port : ${7:Integer(O)}",
+            "    DBClusterIdentifier : ${8:String(O)}",
+            "    PreferredMaintenanceWindow : ${9:String(O)}",
+            "    DBSubnetGroupName : ${10:String(O)}",
+            "    PreferredBackupWindow : ${11:String(O)}",
+            "    MasterUserPassword : ${12:String(O)}",
+            "    VpcSecurityGroupIds : [ ${13:String(O)} ]",
+            "    MasterUsername : ${14:String(O)}",
+            "    DBClusterParameterGroupName : ${15:String(O)}",
+            "    BackupRetentionPeriod : ${16:Integer(O)}",
+            "    Tags : [ ${17:aws-docdb-dbcluster.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-sqlinjectionmatchset":{
+        "prefix":"aws-waf-sqlinjectionmatchset",
+        "body":[
+            "${1:myAWSWAFSqlInjectionMatchSet}:",
+            "  Type: AWS::WAF::SqlInjectionMatchSet",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    SqlInjectionMatchTuples : [ ${3:aws-waf-sqlinjectionmatchset.sqlinjectionmatchtuple(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy",
+            "  Properties:",
+            "    PolicyName : ${2:String(R)}",
+            "    PolicyType : ${3:String(R)}",
+            "    ResourceId : ${4:String(O)}",
+            "    ScalableDimension : ${5:String(O)}",
+            "    ScalingTargetId : ${6:String(O)}",
+            "    ServiceNamespace : ${7:String(O)}",
+            "    StepScalingPolicyConfiguration: ${8:aws-applicationautoscaling-scalingpolicy.stepscalingpolicyconfiguration(O)}",
+            "    TargetTrackingScalingPolicyConfiguration: ${9:aws-applicationautoscaling-scalingpolicy.targettrackingscalingpolicyconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-efs-filesystem":{
+        "prefix":"aws-efs-filesystem",
+        "body":[
+            "${1:myAWSEFSFileSystem}:",
+            "  Type: AWS::EFS::FileSystem",
+            "  Properties:",
+            "    Encrypted : ${2:Boolean(O)}",
+            "    FileSystemTags : [ ${3:aws-efs-filesystem.elasticfilesystemtag(O)} ]",
+            "    KmsKeyId : ${4:String(O)}",
+            "    PerformanceMode : ${5:String(O)}",
+            "    ProvisionedThroughputInMibps : ${6:Double(O)}",
+            "    ThroughputMode : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dax-cluster":{
+        "prefix":"aws-dax-cluster",
+        "body":[
+            "${1:myAWSDAXCluster}:",
+            "  Type: AWS::DAX::Cluster",
+            "  Properties:",
+            "    SSESpecification: ${2:aws-dax-cluster.ssespecification(O)}",
+            "    Description : ${3:String(O)}",
+            "    ReplicationFactor : ${4:Integer(R)}",
+            "    ParameterGroupName : ${5:String(O)}",
+            "    AvailabilityZones : [ ${6:String(O)} ]",
+            "    IAMRoleARN : ${7:String(R)}",
+            "    SubnetGroupName : ${8:String(O)}",
+            "    PreferredMaintenanceWindow : ${9:String(O)}",
+            "    NotificationTopicARN : ${10:String(O)}",
+            "    SecurityGroupIds : [ ${11:String(O)} ]",
+            "    NodeType : ${12:String(R)}",
+            "    ClusterName : ${13:String(O)}",
+            "    Tags : ${14:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codecommit-repository":{
+        "prefix":"aws-codecommit-repository",
+        "body":[
+            "${1:myAWSCodeCommitRepository}:",
+            "  Type: AWS::CodeCommit::Repository",
+            "  Properties:",
+            "    RepositoryName : ${2:String(R)}",
+            "    Triggers : [ ${3:aws-codecommit-repository.repositorytrigger(O)} ]",
+            "    RepositoryDescription : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-patchbaseline":{
+        "prefix":"aws-ssm-patchbaseline",
+        "body":[
+            "${1:myAWSSSMPatchBaseline}:",
+            "  Type: AWS::SSM::PatchBaseline",
+            "  Properties:",
+            "    OperatingSystem : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    ApprovalRules: ${4:aws-ssm-patchbaseline.rulegroup(O)}",
+            "    Sources : [ ${5:aws-ssm-patchbaseline.patchsource(O)} ]",
+            "    Name : ${6:String(R)}",
+            "    RejectedPatches : [ ${7:String(O)} ]",
+            "    ApprovedPatches : [ ${8:String(O)} ]",
+            "    RejectedPatchesAction : ${9:String(O)}",
+            "    PatchGroups : [ ${10:String(O)} ]",
+            "    ApprovedPatchesComplianceLevel : ${11:String(O)}",
+            "    ApprovedPatchesEnableNonSecurity : ${12:Boolean(O)}",
+            "    GlobalFilters: ${13:aws-ssm-patchbaseline.patchfiltergroup(O)}",
+            "    Tags : [ ${14:aws-ssm-patchbaseline.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-secretsmanager-secret":{
+        "prefix":"aws-secretsmanager-secret",
+        "body":[
+            "${1:myAWSSecretsManagerSecret}:",
+            "  Type: AWS::SecretsManager::Secret",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    KmsKeyId : ${3:String(O)}",
+            "    SecretString : ${4:String(O)}",
+            "    GenerateSecretString: ${5:aws-secretsmanager-secret.generatesecretstring(O)}",
+            "    Tags : [ ${6:aws-secretsmanager-secret.tag(O)} ]",
+            "    Name : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-portfolio":{
+        "prefix":"aws-servicecatalog-portfolio",
+        "body":[
+            "${1:myAWSServiceCatalogPortfolio}:",
+            "  Type: AWS::ServiceCatalog::Portfolio",
+            "  Properties:",
+            "    ProviderName : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    DisplayName : ${4:String(R)}",
+            "    AcceptLanguage : ${5:String(O)}",
+            "    Tags : [ ${6:aws-servicecatalog-portfolio.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-coredefinition":{
+        "prefix":"aws-greengrass-coredefinition",
+        "body":[
+            "${1:myAWSGreengrassCoreDefinition}:",
+            "  Type: AWS::Greengrass::CoreDefinition",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-coredefinition.coredefinitionversion(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationcloudwatchloggingoption":{
+        "prefix":"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    CloudWatchLoggingOption: ${3:aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.cloudwatchloggingoption(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-member":{
+        "prefix":"aws-guardduty-member",
+        "body":[
+            "${1:myAWSGuardDutyMember}:",
+            "  Type: AWS::GuardDuty::Member",
+            "  Properties:",
+            "    Status : ${2:String(O)}",
+            "    MemberId : ${3:String(R)}",
+            "    Email : ${4:String(R)}",
+            "    Message : ${5:String(O)}",
+            "    DisableEmailNotification : ${6:Boolean(O)}",
+            "    DetectorId : ${7:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbparametergroup":{
+        "prefix":"aws-rds-dbparametergroup",
+        "body":[
+            "${1:myAWSRDSDBParameterGroup}:",
+            "  Type: AWS::RDS::DBParameterGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    Family : ${3:String(R)}",
+            "    Parameters : [ ${4:String(O)} ]",
+            "    Tags : [ ${5:aws-rds-dbparametergroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-stackfleetassociation":{
+        "prefix":"aws-appstream-stackfleetassociation",
+        "body":[
+            "${1:myAWSAppStreamStackFleetAssociation}:",
+            "  Type: AWS::AppStream::StackFleetAssociation",
+            "  Properties:",
+            "    FleetName : ${2:String(R)}",
+            "    StackName : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-service":{
+        "prefix":"aws-servicediscovery-service",
+        "body":[
+            "${1:myAWSServiceDiscoveryService}:",
+            "  Type: AWS::ServiceDiscovery::Service",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    HealthCheckCustomConfig: ${3:aws-servicediscovery-service.healthcheckcustomconfig(O)}",
+            "    DnsConfig: ${4:aws-servicediscovery-service.dnsconfig(O)}",
+            "    NamespaceId : ${5:String(O)}",
+            "    HealthCheckConfig: ${6:aws-servicediscovery-service.healthcheckconfig(O)}",
+            "    Name : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-acceptedportfolioshare":{
+        "prefix":"aws-servicecatalog-acceptedportfolioshare",
+        "body":[
+            "${1:myAWSServiceCatalogAcceptedPortfolioShare}:",
+            "  Type: AWS::ServiceCatalog::AcceptedPortfolioShare",
+            "  Properties:",
+            "    AcceptLanguage : ${2:String(O)}",
+            "    PortfolioId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-logs-logstream":{
+        "prefix":"aws-logs-logstream",
+        "body":[
+            "${1:myAWSLogsLogStream}:",
+            "  Type: AWS::Logs::LogStream",
+            "  Properties:",
+            "    LogGroupName : ${2:String(R)}",
+            "    LogStreamName : ${3:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-secretsmanager-resourcepolicy":{
+        "prefix":"aws-secretsmanager-resourcepolicy",
+        "body":[
+            "${1:myAWSSecretsManagerResourcePolicy}:",
+            "  Type: AWS::SecretsManager::ResourcePolicy",
+            "  Properties:",
+            "    SecretId : ${2:String(R)}",
+            "    ResourcePolicy : ${3:Json(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-simulationapplicationversion":{
+        "prefix":"aws-robomaker-simulationapplicationversion",
+        "body":[
+            "${1:myAWSRoboMakerSimulationApplicationVersion}:",
+            "  Type: AWS::RoboMaker::SimulationApplicationVersion",
+            "  Properties:",
+            "    CurrentRevisionId : ${2:String(O)}",
+            "    Application : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-robotapplicationversion":{
+        "prefix":"aws-robomaker-robotapplicationversion",
+        "body":[
+            "${1:myAWSRoboMakerRobotApplicationVersion}:",
+            "  Type: AWS::RoboMaker::RobotApplicationVersion",
+            "  Properties:",
+            "    CurrentRevisionId : ${2:String(O)}",
+            "    Application : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scalingpolicy":{
+        "prefix":"aws-autoscaling-scalingpolicy",
+        "body":[
+            "${1:myAWSAutoScalingScalingPolicy}:",
+            "  Type: AWS::AutoScaling::ScalingPolicy",
+            "  Properties:",
+            "    AdjustmentType : ${2:String(O)}",
+            "    AutoScalingGroupName : ${3:String(R)}",
+            "    Cooldown : ${4:String(O)}",
+            "    EstimatedInstanceWarmup : ${5:Integer(O)}",
+            "    MetricAggregationType : ${6:String(O)}",
+            "    MinAdjustmentMagnitude : ${7:Integer(O)}",
+            "    PolicyType : ${8:String(O)}",
+            "    ScalingAdjustment : ${9:Integer(O)}",
+            "    StepAdjustments : [ ${10:aws-autoscaling-scalingpolicy.stepadjustment(O)} ]",
+            "    TargetTrackingConfiguration: ${11:aws-autoscaling-scalingpolicy.targettrackingconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-step":{
+        "prefix":"aws-emr-step",
+        "body":[
+            "${1:myAWSEMRStep}:",
+            "  Type: AWS::EMR::Step",
+            "  Properties:",
+            "    ActionOnFailure : ${2:String(R)}",
+            "    HadoopJarStep: ${3:aws-emr-step.hadoopjarstepconfig(R)}",
+            "    JobFlowId : ${4:String(R)}",
+            "    Name : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configurationrecorder":{
+        "prefix":"aws-config-configurationrecorder",
+        "body":[
+            "${1:myAWSConfigConfigurationRecorder}:",
+            "  Type: AWS::Config::ConfigurationRecorder",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    RecordingGroup: ${3:aws-config-configurationrecorder.recordinggroup(O)}",
+            "    RoleARN : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-eventsubscription":{
+        "prefix":"aws-rds-eventsubscription",
+        "body":[
+            "${1:myAWSRDSEventSubscription}:",
+            "  Type: AWS::RDS::EventSubscription",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}",
+            "    EventCategories : [ ${3:String(O)} ]",
+            "    SnsTopicArn : ${4:String(R)}",
+            "    SourceIds : [ ${5:String(O)} ]",
+            "    SourceType : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-environment":{
+        "prefix":"aws-elasticbeanstalk-environment",
+        "body":[
+            "${1:myAWSElasticBeanstalkEnvironment}:",
+            "  Type: AWS::ElasticBeanstalk::Environment",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    CNAMEPrefix : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    EnvironmentName : ${5:String(O)}",
+            "    OptionSettings : [ ${6:aws-elasticbeanstalk-environment.optionsetting(O)} ]",
+            "    PlatformArn : ${7:String(O)}",
+            "    SolutionStackName : ${8:String(O)}",
+            "    Tags : [ ${9:aws-elasticbeanstalk-environment.tag(O)} ]",
+            "    TemplateName : ${10:String(O)}",
+            "    Tier: ${11:aws-elasticbeanstalk-environment.tier(O)}",
+            "    VersionLabel : ${12:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline":{
+        "prefix":"aws-iotanalytics-pipeline",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline}:",
+            "  Type: AWS::IoTAnalytics::Pipeline",
+            "  Properties:",
+            "    PipelineName : ${2:String(O)}",
+            "    Tags : [ ${3:aws-iotanalytics-pipeline.tag(O)} ]",
+            "    PipelineActivities : [ ${4:aws-iotanalytics-pipeline.activity(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot1click-placement":{
+        "prefix":"aws-iot1click-placement",
+        "body":[
+            "${1:myAWSIoT1ClickPlacement}:",
+            "  Type: AWS::IoT1Click::Placement",
+            "  Properties:",
+            "    PlacementName : ${2:String(O)}",
+            "    ProjectName : ${3:String(R)}",
+            "    AssociatedDevices : ${4:Json(O)}",
+            "    Attributes : ${5:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-function":{
+        "prefix":"aws-lambda-function",
+        "body":[
+            "${1:myAWSLambdaFunction}:",
+            "  Type: AWS::Lambda::Function",
+            "  Properties:",
+            "    Code: ${2:aws-lambda-function.code(R)}",
+            "    DeadLetterConfig: ${3:aws-lambda-function.deadletterconfig(O)}",
+            "    Description : ${4:String(O)}",
+            "    Environment: ${5:aws-lambda-function.environment(O)}",
+            "    FunctionName : ${6:String(O)}",
+            "    Handler : ${7:String(R)}",
+            "    KmsKeyArn : ${8:String(O)}",
+            "    Layers : [ ${9:String(O)} ]",
+            "    MemorySize : ${10:Integer(O)}",
+            "    ReservedConcurrentExecutions : ${11:Integer(O)}",
+            "    Role : ${12:String(R)}",
+            "    Runtime : ${13:String(R)}",
+            "    Tags : [ ${14:aws-lambda-function.tag(O)} ]",
+            "    Timeout : ${15:Integer(O)}",
+            "    TracingConfig: ${16:aws-lambda-function.tracingconfig(O)}",
+            "    VpcConfig: ${17:aws-lambda-function.vpcconfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-transitgatewayroute":{
+        "prefix":"aws-ec2-transitgatewayroute",
+        "body":[
+            "${1:myAWSEC2TransitGatewayRoute}:",
+            "  Type: AWS::EC2::TransitGatewayRoute",
+            "  Properties:",
+            "    TransitGatewayRouteTableId : ${2:String(R)}",
+            "    DestinationCidrBlock : ${3:String(O)}",
+            "    Blackhole : ${4:Boolean(O)}",
+            "    TransitGatewayAttachmentId : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-dhcpoptions":{
+        "prefix":"aws-ec2-dhcpoptions",
+        "body":[
+            "${1:myAWSEC2DHCPOptions}:",
+            "  Type: AWS::EC2::DHCPOptions",
+            "  Properties:",
+            "    DomainName : ${2:String(O)}",
+            "    DomainNameServers : [ ${3:String(O)} ]",
+            "    NetbiosNameServers : [ ${4:String(O)} ]",
+            "    NetbiosNodeType : ${5:Integer(O)}",
+            "    NtpServers : [ ${6:String(O)} ]",
+            "    Tags : [ ${7:aws-ec2-dhcpoptions.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-usageplan":{
+        "prefix":"aws-apigateway-usageplan",
+        "body":[
+            "${1:myAWSApiGatewayUsagePlan}:",
+            "  Type: AWS::ApiGateway::UsagePlan",
+            "  Properties:",
+            "    ApiStages : [ ${2:aws-apigateway-usageplan.apistage(O)} ]",
+            "    Description : ${3:String(O)}",
+            "    Quota: ${4:aws-apigateway-usageplan.quotasettings(O)}",
+            "    Throttle: ${5:aws-apigateway-usageplan.throttlesettings(O)}",
+            "    UsagePlanName : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-user":{
+        "prefix":"aws-iam-user",
+        "body":[
+            "${1:myAWSIAMUser}:",
+            "  Type: AWS::IAM::User",
+            "  Properties:",
+            "    Groups : [ ${2:String(O)} ]",
+            "    LoginProfile: ${3:aws-iam-user.loginprofile(O)}",
+            "    ManagedPolicyArns : [ ${4:String(O)} ]",
+            "    Path : ${5:String(O)}",
+            "    PermissionsBoundary : ${6:String(O)}",
+            "    Policies : [ ${7:aws-iam-user.policy(O)} ]",
+            "    UserName : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkacl":{
+        "prefix":"aws-ec2-networkacl",
+        "body":[
+            "${1:myAWSEC2NetworkAcl}:",
+            "  Type: AWS::EC2::NetworkAcl",
+            "  Properties:",
+            "    Tags : [ ${2:aws-ec2-networkacl.tag(O)} ]",
+            "    VpcId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-instance":{
+        "prefix":"aws-opsworks-instance",
+        "body":[
+            "${1:myAWSOpsWorksInstance}:",
+            "  Type: AWS::OpsWorks::Instance",
+            "  Properties:",
+            "    AgentVersion : ${2:String(O)}",
+            "    AmiId : ${3:String(O)}",
+            "    Architecture : ${4:String(O)}",
+            "    AutoScalingType : ${5:String(O)}",
+            "    AvailabilityZone : ${6:String(O)}",
+            "    BlockDeviceMappings : [ ${7:aws-opsworks-instance.blockdevicemapping(O)} ]",
+            "    EbsOptimized : ${8:Boolean(O)}",
+            "    ElasticIps : [ ${9:String(O)} ]",
+            "    Hostname : ${10:String(O)}",
+            "    InstallUpdatesOnBoot : ${11:Boolean(O)}",
+            "    InstanceType : ${12:String(R)}",
+            "    LayerIds : [ ${13:String(R)} ]",
+            "    Os : ${14:String(O)}",
+            "    RootDeviceType : ${15:String(O)}",
+            "    SshKeyName : ${16:String(O)}",
+            "    StackId : ${17:String(R)}",
+            "    SubnetId : ${18:String(O)}",
+            "    Tenancy : ${19:String(O)}",
+            "    TimeBasedAutoScaling: ${20:aws-opsworks-instance.timebasedautoscaling(O)}",
+            "    VirtualizationType : ${21:String(O)}",
+            "    Volumes : [ ${22:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configrule":{
+        "prefix":"aws-config-configrule",
+        "body":[
+            "${1:myAWSConfigConfigRule}:",
+            "  Type: AWS::Config::ConfigRule",
+            "  Properties:",
+            "    ConfigRuleName : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    InputParameters : ${4:Json(O)}",
+            "    MaximumExecutionFrequency : ${5:String(O)}",
+            "    Scope: ${6:aws-config-configrule.scope(O)}",
+            "    Source: ${7:aws-config-configrule.source(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-configurationset":{
+        "prefix":"aws-ses-configurationset",
+        "body":[
+            "${1:myAWSSESConfigurationSet}:",
+            "  Type: AWS::SES::ConfigurationSet",
+            "  Properties:",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition":{
+        "prefix":"aws-glue-partition",
+        "body":[
+            "${1:myAWSGluePartition}:",
+            "  Type: AWS::Glue::Partition",
+            "  Properties:",
+            "    TableName : ${2:String(R)}",
+            "    DatabaseName : ${3:String(R)}",
+            "    CatalogId : ${4:String(R)}",
+            "    PartitionInput: ${5:aws-glue-partition.partitioninput(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpngatewayroutepropagation":{
+        "prefix":"aws-ec2-vpngatewayroutepropagation",
+        "body":[
+            "${1:myAWSEC2VPNGatewayRoutePropagation}:",
+            "  Type: AWS::EC2::VPNGatewayRoutePropagation",
+            "  Properties:",
+            "    RouteTableIds : [ ${2:String(R)} ]",
+            "    VpnGatewayId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-webacl":{
+        "prefix":"aws-waf-webacl",
+        "body":[
+            "${1:myAWSWAFWebACL}:",
+            "  Type: AWS::WAF::WebACL",
+            "  Properties:",
+            "    DefaultAction: ${2:aws-waf-webacl.wafaction(R)}",
+            "    MetricName : ${3:String(R)}",
+            "    Name : ${4:String(R)}",
+            "    Rules : [ ${5:aws-waf-webacl.activatedrule(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-datastore":{
+        "prefix":"aws-iotanalytics-datastore",
+        "body":[
+            "${1:myAWSIoTAnalyticsDatastore}:",
+            "  Type: AWS::IoTAnalytics::Datastore",
+            "  Properties:",
+            "    DatastoreName : ${2:String(O)}",
+            "    RetentionPeriod: ${3:aws-iotanalytics-datastore.retentionperiod(O)}",
+            "    Tags : [ ${4:aws-iotanalytics-datastore.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-job":{
+        "prefix":"aws-glue-job",
+        "body":[
+            "${1:myAWSGlueJob}:",
+            "  Type: AWS::Glue::Job",
+            "  Properties:",
+            "    Role : ${2:String(R)}",
+            "    DefaultArguments : ${3:Json(O)}",
+            "    Connections: ${4:aws-glue-job.connectionslist(O)}",
+            "    MaxRetries : ${5:Double(O)}",
+            "    Description : ${6:String(O)}",
+            "    LogUri : ${7:String(O)}",
+            "    Command: ${8:aws-glue-job.jobcommand(R)}",
+            "    AllocatedCapacity : ${9:Double(O)}",
+            "    ExecutionProperty: ${10:aws-glue-job.executionproperty(O)}",
+            "    Name : ${11:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-neptune-dbcluster":{
+        "prefix":"aws-neptune-dbcluster",
+        "body":[
+            "${1:myAWSNeptuneDBCluster}:",
+            "  Type: AWS::Neptune::DBCluster",
+            "  Properties:",
+            "    StorageEncrypted : ${2:Boolean(O)}",
+            "    KmsKeyId : ${3:String(O)}",
+            "    AvailabilityZones : [ ${4:String(O)} ]",
+            "    SnapshotIdentifier : ${5:String(O)}",
+            "    Port : ${6:Integer(O)}",
+            "    DBClusterIdentifier : ${7:String(O)}",
+            "    PreferredMaintenanceWindow : ${8:String(O)}",
+            "    IamAuthEnabled : ${9:Boolean(O)}",
+            "    DBSubnetGroupName : ${10:String(O)}",
+            "    PreferredBackupWindow : ${11:String(O)}",
+            "    VpcSecurityGroupIds : [ ${12:String(O)} ]",
+            "    DBClusterParameterGroupName : ${13:String(O)}",
+            "    BackupRetentionPeriod : ${14:Integer(O)}",
+            "    Tags : [ ${15:aws-neptune-dbcluster.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-authorizer":{
+        "prefix":"aws-apigatewayv2-authorizer",
+        "body":[
+            "${1:myAWSApiGatewayV2Authorizer}:",
+            "  Type: AWS::ApiGatewayV2::Authorizer",
+            "  Properties:",
+            "    IdentityValidationExpression : ${2:String(O)}",
+            "    AuthorizerUri : ${3:String(R)}",
+            "    AuthorizerCredentialsArn : ${4:String(O)}",
+            "    AuthorizerType : ${5:String(R)}",
+            "    AuthorizerResultTtlInSeconds : ${6:Integer(O)}",
+            "    IdentitySource : [ ${7:String(R)} ]",
+            "    ApiId : ${8:String(R)}",
+            "    Name : ${9:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket":{
+        "prefix":"aws-s3-bucket",
+        "body":[
+            "${1:myAWSS3Bucket}:",
+            "  Type: AWS::S3::Bucket",
+            "  Properties:",
+            "    AccelerateConfiguration: ${2:aws-s3-bucket.accelerateconfiguration(O)}",
+            "    AccessControl : ${3:String(O)}",
+            "    AnalyticsConfigurations : [ ${4:aws-s3-bucket.analyticsconfiguration(O)} ]",
+            "    BucketEncryption: ${5:aws-s3-bucket.bucketencryption(O)}",
+            "    BucketName : ${6:String(O)}",
+            "    CorsConfiguration: ${7:aws-s3-bucket.corsconfiguration(O)}",
+            "    InventoryConfigurations : [ ${8:aws-s3-bucket.inventoryconfiguration(O)} ]",
+            "    LifecycleConfiguration: ${9:aws-s3-bucket.lifecycleconfiguration(O)}",
+            "    LoggingConfiguration: ${10:aws-s3-bucket.loggingconfiguration(O)}",
+            "    MetricsConfigurations : [ ${11:aws-s3-bucket.metricsconfiguration(O)} ]",
+            "    NotificationConfiguration: ${12:aws-s3-bucket.notificationconfiguration(O)}",
+            "    PublicAccessBlockConfiguration: ${13:aws-s3-bucket.publicaccessblockconfiguration(O)}",
+            "    ReplicationConfiguration: ${14:aws-s3-bucket.replicationconfiguration(O)}",
+            "    Tags : [ ${15:aws-s3-bucket.tag(O)} ]",
+            "    VersioningConfiguration: ${16:aws-s3-bucket.versioningconfiguration(O)}",
+            "    WebsiteConfiguration: ${17:aws-s3-bucket.websiteconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudformation-waitconditionhandle":{
+        "prefix":"aws-cloudformation-waitconditionhandle",
+        "body":[
+            "${1:myAWSCloudFormationWaitConditionHandle}:",
+            "  Type: AWS::CloudFormation::WaitConditionHandle",
+            "  Properties:"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-version":{
+        "prefix":"aws-lambda-version",
+        "body":[
+            "${1:myAWSLambdaVersion}:",
+            "  Type: AWS::Lambda::Version",
+            "  Properties:",
+            "    CodeSha256 : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    FunctionName : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-notebookinstance":{
+        "prefix":"aws-sagemaker-notebookinstance",
+        "body":[
+            "${1:myAWSSageMakerNotebookInstance}:",
+            "  Type: AWS::SageMaker::NotebookInstance",
+            "  Properties:",
+            "    RootAccess : ${2:String(O)}",
+            "    KmsKeyId : ${3:String(O)}",
+            "    VolumeSizeInGB : ${4:Integer(O)}",
+            "    DirectInternetAccess : ${5:String(O)}",
+            "    SubnetId : ${6:String(O)}",
+            "    NotebookInstanceName : ${7:String(O)}",
+            "    InstanceType : ${8:String(R)}",
+            "    LifecycleConfigName : ${9:String(O)}",
+            "    SecurityGroupIds : [ ${10:String(O)} ]",
+            "    RoleArn : ${11:String(R)}",
+            "    Tags : [ ${12:aws-sagemaker-notebookinstance.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-basepathmapping":{
+        "prefix":"aws-apigateway-basepathmapping",
+        "body":[
+            "${1:myAWSApiGatewayBasePathMapping}:",
+            "  Type: AWS::ApiGateway::BasePathMapping",
+            "  Properties:",
+            "    BasePath : ${2:String(O)}",
+            "    DomainName : ${3:String(R)}",
+            "    RestApiId : ${4:String(O)}",
+            "    Stage : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool":{
+        "prefix":"aws-cognito-userpool",
+        "body":[
+            "${1:myAWSCognitoUserPool}:",
+            "  Type: AWS::Cognito::UserPool",
+            "  Properties:",
+            "    UserPoolTags : ${2:Json(O)}",
+            "    Policies: ${3:aws-cognito-userpool.policies(O)}",
+            "    MfaConfiguration : ${4:String(O)}",
+            "    Schema : [ ${5:aws-cognito-userpool.schemaattribute(O)} ]",
+            "    AdminCreateUserConfig: ${6:aws-cognito-userpool.admincreateuserconfig(O)}",
+            "    SmsAuthenticationMessage : ${7:String(O)}",
+            "    UserPoolName : ${8:String(O)}",
+            "    SmsVerificationMessage : ${9:String(O)}",
+            "    EmailConfiguration: ${10:aws-cognito-userpool.emailconfiguration(O)}",
+            "    SmsConfiguration: ${11:aws-cognito-userpool.smsconfiguration(O)}",
+            "    AliasAttributes : [ ${12:String(O)} ]",
+            "    EmailVerificationSubject : ${13:String(O)}",
+            "    LambdaConfig: ${14:aws-cognito-userpool.lambdaconfig(O)}",
+            "    UsernameAttributes : [ ${15:String(O)} ]",
+            "    AutoVerifiedAttributes : [ ${16:String(O)} ]",
+            "    DeviceConfiguration: ${17:aws-cognito-userpool.deviceconfiguration(O)}",
+            "    EmailVerificationMessage : ${18:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindow":{
+        "prefix":"aws-ssm-maintenancewindow",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindow}:",
+            "  Type: AWS::SSM::MaintenanceWindow",
+            "  Properties:",
+            "    StartDate : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    AllowUnassociatedTargets : ${4:Boolean(R)}",
+            "    Cutoff : ${5:Integer(R)}",
+            "    Schedule : ${6:String(R)}",
+            "    Duration : ${7:Integer(R)}",
+            "    EndDate : ${8:String(O)}",
+            "    Tags : [ ${9:aws-ssm-maintenancewindow.tag(O)} ]",
+            "    Name : ${10:String(R)}",
+            "    ScheduleTimezone : ${11:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudformation-macro":{
+        "prefix":"aws-cloudformation-macro",
+        "body":[
+            "${1:myAWSCloudFormationMacro}:",
+            "  Type: AWS::CloudFormation::Macro",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    FunctionName : ${3:String(R)}",
+            "    LogGroupName : ${4:String(O)}",
+            "    LogRoleARN : ${5:String(O)}",
+            "    Name : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-egressonlyinternetgateway":{
+        "prefix":"aws-ec2-egressonlyinternetgateway",
+        "body":[
+            "${1:myAWSEC2EgressOnlyInternetGateway}:",
+            "  Type: AWS::EC2::EgressOnlyInternetGateway",
+            "  Properties:",
+            "    VpcId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordsetgroup":{
+        "prefix":"aws-route53-recordsetgroup",
+        "body":[
+            "${1:myAWSRoute53RecordSetGroup}:",
+            "  Type: AWS::Route53::RecordSetGroup",
+            "  Properties:",
+            "    Comment : ${2:String(O)}",
+            "    HostedZoneId : ${3:String(O)}",
+            "    HostedZoneName : ${4:String(O)}",
+            "    RecordSets : [ ${5:aws-route53-recordsetgroup.recordset(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream":{
+        "prefix":"aws-kinesisfirehose-deliverystream",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream",
+            "  Properties:",
+            "    DeliveryStreamName : ${2:String(O)}",
+            "    DeliveryStreamType : ${3:String(O)}",
+            "    ElasticsearchDestinationConfiguration: ${4:aws-kinesisfirehose-deliverystream.elasticsearchdestinationconfiguration(O)}",
+            "    ExtendedS3DestinationConfiguration: ${5:aws-kinesisfirehose-deliverystream.extendeds3destinationconfiguration(O)}",
+            "    KinesisStreamSourceConfiguration: ${6:aws-kinesisfirehose-deliverystream.kinesisstreamsourceconfiguration(O)}",
+            "    RedshiftDestinationConfiguration: ${7:aws-kinesisfirehose-deliverystream.redshiftdestinationconfiguration(O)}",
+            "    S3DestinationConfiguration: ${8:aws-kinesisfirehose-deliverystream.s3destinationconfiguration(O)}",
+            "    SplunkDestinationConfiguration: ${9:aws-kinesisfirehose-deliverystream.splunkdestinationconfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dlm-lifecyclepolicy":{
+        "prefix":"aws-dlm-lifecyclepolicy",
+        "body":[
+            "${1:myAWSDLMLifecyclePolicy}:",
+            "  Type: AWS::DLM::LifecyclePolicy",
+            "  Properties:",
+            "    ExecutionRoleArn : ${2:String(O)}",
+            "    Description : ${3:String(O)}",
+            "    State : ${4:String(O)}",
+            "    PolicyDetails: ${5:aws-dlm-lifecyclepolicy.policydetails(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-api":{
+        "prefix":"aws-apigatewayv2-api",
+        "body":[
+            "${1:myAWSApiGatewayV2Api}:",
+            "  Type: AWS::ApiGatewayV2::Api",
+            "  Properties:",
+            "    RouteSelectionExpression : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    Version : ${4:String(O)}",
+            "    ProtocolType : ${5:String(R)}",
+            "    DisableSchemaValidation : ${6:Boolean(O)}",
+            "    Name : ${7:String(R)}",
+            "    ApiKeySelectionExpression : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbinstance":{
+        "prefix":"aws-rds-dbinstance",
+        "body":[
+            "${1:myAWSRDSDBInstance}:",
+            "  Type: AWS::RDS::DBInstance",
+            "  Properties:",
+            "    AllocatedStorage : ${2:String(O)}",
+            "    AllowMajorVersionUpgrade : ${3:Boolean(O)}",
+            "    AutoMinorVersionUpgrade : ${4:Boolean(O)}",
+            "    AvailabilityZone : ${5:String(O)}",
+            "    BackupRetentionPeriod : ${6:String(O)}",
+            "    CharacterSetName : ${7:String(O)}",
+            "    CopyTagsToSnapshot : ${8:Boolean(O)}",
+            "    DBClusterIdentifier : ${9:String(O)}",
+            "    DBInstanceClass : ${10:String(R)}",
+            "    DBInstanceIdentifier : ${11:String(O)}",
+            "    DBName : ${12:String(O)}",
+            "    DBParameterGroupName : ${13:String(O)}",
+            "    DBSecurityGroups : [ ${14:String(O)} ]",
+            "    DBSnapshotIdentifier : ${15:String(O)}",
+            "    DBSubnetGroupName : ${16:String(O)}",
+            "    DeleteAutomatedBackups : ${17:Boolean(O)}",
+            "    DeletionProtection : ${18:Boolean(O)}",
+            "    Domain : ${19:String(O)}",
+            "    DomainIAMRoleName : ${20:String(O)}",
+            "    EnableCloudwatchLogsExports : [ ${21:String(O)} ]",
+            "    EnableIAMDatabaseAuthentication : ${22:Boolean(O)}",
+            "    EnablePerformanceInsights : ${23:Boolean(O)}",
+            "    Engine : ${24:String(O)}",
+            "    EngineVersion : ${25:String(O)}",
+            "    Iops : ${26:Integer(O)}",
+            "    KmsKeyId : ${27:String(O)}",
+            "    LicenseModel : ${28:String(O)}",
+            "    MasterUserPassword : ${29:String(O)}",
+            "    MasterUsername : ${30:String(O)}",
+            "    MonitoringInterval : ${31:Integer(O)}",
+            "    MonitoringRoleArn : ${32:String(O)}",
+            "    MultiAZ : ${33:Boolean(O)}",
+            "    OptionGroupName : ${34:String(O)}",
+            "    PerformanceInsightsKMSKeyId : ${35:String(O)}",
+            "    PerformanceInsightsRetentionPeriod : ${36:Integer(O)}",
+            "    Port : ${37:String(O)}",
+            "    PreferredBackupWindow : ${38:String(O)}",
+            "    PreferredMaintenanceWindow : ${39:String(O)}",
+            "    ProcessorFeatures : [ ${40:aws-rds-dbinstance.processorfeature(O)} ]",
+            "    PromotionTier : ${41:Integer(O)}",
+            "    PubliclyAccessible : ${42:Boolean(O)}",
+            "    SourceDBInstanceIdentifier : ${43:String(O)}",
+            "    SourceRegion : ${44:String(O)}",
+            "    StorageEncrypted : ${45:Boolean(O)}",
+            "    StorageType : ${46:String(O)}",
+            "    Tags : [ ${47:aws-rds-dbinstance.tag(O)} ]",
+            "    Timezone : ${48:String(O)}",
+            "    UseDefaultProcessorFeatures : ${49:Boolean(O)}",
+            "    VPCSecurityGroups : [ ${50:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-managedpolicy":{
+        "prefix":"aws-iam-managedpolicy",
+        "body":[
+            "${1:myAWSIAMManagedPolicy}:",
+            "  Type: AWS::IAM::ManagedPolicy",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Groups : [ ${3:String(O)} ]",
+            "    ManagedPolicyName : ${4:String(O)}",
+            "    Path : ${5:String(O)}",
+            "    PolicyDocument : ${6:Json(R)}",
+            "    Roles : [ ${7:String(O)} ]",
+            "    Users : [ ${8:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkinterfaceattachment":{
+        "prefix":"aws-ec2-networkinterfaceattachment",
+        "body":[
+            "${1:myAWSEC2NetworkInterfaceAttachment}:",
+            "  Type: AWS::EC2::NetworkInterfaceAttachment",
+            "  Properties:",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    DeviceIndex : ${3:String(R)}",
+            "    InstanceId : ${4:String(R)}",
+            "    NetworkInterfaceId : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-ipset":{
+        "prefix":"aws-wafregional-ipset",
+        "body":[
+            "${1:myAWSWAFRegionalIPSet}:",
+            "  Type: AWS::WAFRegional::IPSet",
+            "  Properties:",
+            "    IPSetDescriptors : [ ${2:aws-wafregional-ipset.ipsetdescriptor(O)} ]",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-devicedefinitionversion":{
+        "prefix":"aws-greengrass-devicedefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassDeviceDefinitionVersion}:",
+            "  Type: AWS::Greengrass::DeviceDefinitionVersion",
+            "  Properties:",
+            "    DeviceDefinitionId : ${2:String(R)}",
+            "    Devices : [ ${3:aws-greengrass-devicedefinitionversion.device(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-robotapplication":{
+        "prefix":"aws-robomaker-robotapplication",
+        "body":[
+            "${1:myAWSRoboMakerRobotApplication}:",
+            "  Type: AWS::RoboMaker::RobotApplication",
+            "  Properties:",
+            "    CurrentRevisionId : ${2:String(O)}",
+            "    RobotSoftwareSuite: ${3:aws-robomaker-robotapplication.robotsoftwaresuite(R)}",
+            "    Sources : [ ${4:aws-robomaker-robotapplication.sourceconfig(R)} ]",
+            "    Tags : ${5:Json(O)}",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-policyprincipalattachment":{
+        "prefix":"aws-iot-policyprincipalattachment",
+        "body":[
+            "${1:myAWSIoTPolicyPrincipalAttachment}:",
+            "  Type: AWS::IoT::PolicyPrincipalAttachment",
+            "  Properties:",
+            "    PolicyName : ${2:String(R)}",
+            "    Principal : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalabletarget":{
+        "prefix":"aws-applicationautoscaling-scalabletarget",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalableTarget}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalableTarget",
+            "  Properties:",
+            "    MaxCapacity : ${2:Integer(R)}",
+            "    MinCapacity : ${3:Integer(R)}",
+            "    ResourceId : ${4:String(R)}",
+            "    RoleARN : ${5:String(R)}",
+            "    ScalableDimension : ${6:String(R)}",
+            "    ScheduledActions : [ ${7:aws-applicationautoscaling-scalabletarget.scheduledaction(O)} ]",
+            "    ServiceNamespace : ${8:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-customergateway":{
+        "prefix":"aws-ec2-customergateway",
+        "body":[
+            "${1:myAWSEC2CustomerGateway}:",
+            "  Type: AWS::EC2::CustomerGateway",
+            "  Properties:",
+            "    BgpAsn : ${2:Integer(R)}",
+            "    IpAddress : ${3:String(R)}",
+            "    Tags : [ ${4:aws-ec2-customergateway.tag(O)} ]",
+            "    Type : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-httpnamespace":{
+        "prefix":"aws-servicediscovery-httpnamespace",
+        "body":[
+            "${1:myAWSServiceDiscoveryHttpNamespace}:",
+            "  Type: AWS::ServiceDiscovery::HttpNamespace",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-stage":{
+        "prefix":"aws-apigateway-stage",
+        "body":[
+            "${1:myAWSApiGatewayStage}:",
+            "  Type: AWS::ApiGateway::Stage",
+            "  Properties:",
+            "    AccessLogSetting: ${2:aws-apigateway-stage.accesslogsetting(O)}",
+            "    CacheClusterEnabled : ${3:Boolean(O)}",
+            "    CacheClusterSize : ${4:String(O)}",
+            "    CanarySetting: ${5:aws-apigateway-stage.canarysetting(O)}",
+            "    ClientCertificateId : ${6:String(O)}",
+            "    DeploymentId : ${7:String(O)}",
+            "    Description : ${8:String(O)}",
+            "    DocumentationVersion : ${9:String(O)}",
+            "    MethodSettings : [ ${10:aws-apigateway-stage.methodsetting(O)} ]",
+            "    RestApiId : ${11:String(R)}",
+            "    StageName : ${12:String(O)}",
+            "    Tags : [ ${13:aws-apigateway-stage.tag(O)} ]",
+            "    TracingEnabled : ${14:Boolean(O)}",
+            "    Variables : [ ${15:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sdb-domain":{
+        "prefix":"aws-sdb-domain",
+        "body":[
+            "${1:myAWSSDBDomain}:",
+            "  Type: AWS::SDB::Domain",
+            "  Properties:",
+            "    Description : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53resolver-resolverruleassociation":{
+        "prefix":"aws-route53resolver-resolverruleassociation",
+        "body":[
+            "${1:myAWSRoute53ResolverResolverRuleAssociation}:",
+            "  Type: AWS::Route53Resolver::ResolverRuleAssociation",
+            "  Properties:",
+            "    VPCId : ${2:String(R)}",
+            "    ResolverRuleId : ${3:String(R)}",
+            "    Name : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpoolclient":{
+        "prefix":"aws-cognito-userpoolclient",
+        "body":[
+            "${1:myAWSCognitoUserPoolClient}:",
+            "  Type: AWS::Cognito::UserPoolClient",
+            "  Properties:",
+            "    GenerateSecret : ${2:Boolean(O)}",
+            "    ClientName : ${3:String(O)}",
+            "    UserPoolId : ${4:String(R)}",
+            "    ExplicitAuthFlows : [ ${5:String(O)} ]",
+            "    RefreshTokenValidity : ${6:Double(O)}",
+            "    ReadAttributes : [ ${7:String(O)} ]",
+            "    WriteAttributes : [ ${8:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-subscriptiondefinition":{
+        "prefix":"aws-greengrass-subscriptiondefinition",
+        "body":[
+            "${1:myAWSGreengrassSubscriptionDefinition}:",
+            "  Type: AWS::Greengrass::SubscriptionDefinition",
+            "  Properties:",
+            "    InitialVersion: ${2:aws-greengrass-subscriptiondefinition.subscriptiondefinitionversion(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-vpclink":{
+        "prefix":"aws-apigateway-vpclink",
+        "body":[
+            "${1:myAWSApiGatewayVpcLink}:",
+            "  Type: AWS::ApiGateway::VpcLink",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    TargetArns : [ ${3:String(R)} ]",
+            "    Name : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecr-repository":{
+        "prefix":"aws-ecr-repository",
+        "body":[
+            "${1:myAWSECRRepository}:",
+            "  Type: AWS::ECR::Repository",
+            "  Properties:",
+            "    LifecyclePolicy: ${2:aws-ecr-repository.lifecyclepolicy(O)}",
+            "    RepositoryName : ${3:String(O)}",
+            "    RepositoryPolicyText : ${4:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-trunkinterfaceassociation":{
+        "prefix":"aws-ec2-trunkinterfaceassociation",
+        "body":[
+            "${1:myAWSEC2TrunkInterfaceAssociation}:",
+            "  Type: AWS::EC2::TrunkInterfaceAssociation",
+            "  Properties:",
+            "    BranchInterfaceId : ${2:String(R)}",
+            "    GREKey : ${3:Integer(O)}",
+            "    TrunkInterfaceId : ${4:String(R)}",
+            "    VLANId : ${5:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-gatewayresponse":{
+        "prefix":"aws-apigateway-gatewayresponse",
+        "body":[
+            "${1:myAWSApiGatewayGatewayResponse}:",
+            "  Type: AWS::ApiGateway::GatewayResponse",
+            "  Properties:",
+            "    ResponseParameters : [ ${2:String(O)} ]",
+            "    ResponseTemplates : [ ${3:String(O)} ]",
+            "    ResponseType : ${4:String(R)}",
+            "    RestApiId : ${5:String(R)}",
+            "    StatusCode : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-database":{
+        "prefix":"aws-glue-database",
+        "body":[
+            "${1:myAWSGlueDatabase}:",
+            "  Type: AWS::Glue::Database",
+            "  Properties:",
+            "    DatabaseInput: ${2:aws-glue-database.databaseinput(R)}",
+            "    CatalogId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    ReferenceDataSource: ${3:aws-kinesisanalyticsv2-applicationreferencedatasource.referencedatasource(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-routeresponse":{
+        "prefix":"aws-apigatewayv2-routeresponse",
+        "body":[
+            "${1:myAWSApiGatewayV2RouteResponse}:",
+            "  Type: AWS::ApiGatewayV2::RouteResponse",
+            "  Properties:",
+            "    RouteResponseKey : ${2:String(R)}",
+            "    ResponseParameters : ${3:Json(O)}",
+            "    RouteId : ${4:String(R)}",
+            "    ModelSelectionExpression : ${5:String(O)}",
+            "    ApiId : ${6:String(R)}",
+            "    ResponseModels : ${7:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-clientcertificate":{
+        "prefix":"aws-apigateway-clientcertificate",
+        "body":[
+            "${1:myAWSApiGatewayClientCertificate}:",
+            "  Type: AWS::ApiGateway::ClientCertificate",
+            "  Properties:",
+            "    Description : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-method":{
+        "prefix":"aws-apigateway-method",
+        "body":[
+            "${1:myAWSApiGatewayMethod}:",
+            "  Type: AWS::ApiGateway::Method",
+            "  Properties:",
+            "    ApiKeyRequired : ${2:Boolean(O)}",
+            "    AuthorizationScopes : [ ${3:String(O)} ]",
+            "    AuthorizationType : ${4:String(O)}",
+            "    AuthorizerId : ${5:String(O)}",
+            "    HttpMethod : ${6:String(R)}",
+            "    Integration: ${7:aws-apigateway-method.integration(O)}",
+            "    MethodResponses : [ ${8:aws-apigateway-method.methodresponse(O)} ]",
+            "    OperationName : ${9:String(O)}",
+            "    RequestModels : [ ${10:String(O)} ]",
+            "    RequestParameters : [ ${11:Boolean(O)} ]",
+            "    RequestValidatorId : ${12:String(O)}",
+            "    ResourceId : ${13:String(R)}",
+            "    RestApiId : ${14:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-endpoint":{
+        "prefix":"aws-dms-endpoint",
+        "body":[
+            "${1:myAWSDMSEndpoint}:",
+            "  Type: AWS::DMS::Endpoint",
+            "  Properties:",
+            "    KmsKeyId : ${2:String(O)}",
+            "    Port : ${3:Integer(O)}",
+            "    DatabaseName : ${4:String(O)}",
+            "    ElasticsearchSettings: ${5:aws-dms-endpoint.elasticsearchsettings(O)}",
+            "    S3Settings: ${6:aws-dms-endpoint.s3settings(O)}",
+            "    EngineName : ${7:String(R)}",
+            "    DynamoDbSettings: ${8:aws-dms-endpoint.dynamodbsettings(O)}",
+            "    KinesisSettings: ${9:aws-dms-endpoint.kinesissettings(O)}",
+            "    Username : ${10:String(O)}",
+            "    SslMode : ${11:String(O)}",
+            "    ServerName : ${12:String(O)}",
+            "    ExtraConnectionAttributes : ${13:String(O)}",
+            "    EndpointType : ${14:String(R)}",
+            "    Tags : [ ${15:aws-dms-endpoint.tag(O)} ]",
+            "    EndpointIdentifier : ${16:String(O)}",
+            "    Password : ${17:String(O)}",
+            "    CertificateArn : ${18:String(O)}",
+            "    MongoDbSettings: ${19:aws-dms-endpoint.mongodbsettings(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-launchnotificationconstraint":{
+        "prefix":"aws-servicecatalog-launchnotificationconstraint",
+        "body":[
+            "${1:myAWSServiceCatalogLaunchNotificationConstraint}:",
+            "  Type: AWS::ServiceCatalog::LaunchNotificationConstraint",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    NotificationArns : [ ${3:String(R)} ]",
+            "    AcceptLanguage : ${4:String(O)}",
+            "    PortfolioId : ${5:String(R)}",
+            "    ProductId : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptruleset":{
+        "prefix":"aws-ses-receiptruleset",
+        "body":[
+            "${1:myAWSSESReceiptRuleSet}:",
+            "  Type: AWS::SES::ReceiptRuleSet",
+            "  Properties:",
+            "    RuleSetName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-stackuserassociation":{
+        "prefix":"aws-appstream-stackuserassociation",
+        "body":[
+            "${1:myAWSAppStreamStackUserAssociation}:",
+            "  Type: AWS::AppStream::StackUserAssociation",
+            "  Properties:",
+            "    SendEmailNotification : ${2:Boolean(O)}",
+            "    UserName : ${3:String(R)}",
+            "    StackName : ${4:String(R)}",
+            "    AuthenticationType : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion":{
+        "prefix":"aws-greengrass-resourcedefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion",
+            "  Properties:",
+            "    Resources : [ ${2:aws-greengrass-resourcedefinitionversion.resourceinstance(R)} ]",
+            "    ResourceDefinitionId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-directoryservice-simplead":{
+        "prefix":"aws-directoryservice-simplead",
+        "body":[
+            "${1:myAWSDirectoryServiceSimpleAD}:",
+            "  Type: AWS::DirectoryService::SimpleAD",
+            "  Properties:",
+            "    CreateAlias : ${2:Boolean(O)}",
+            "    Description : ${3:String(O)}",
+            "    EnableSso : ${4:Boolean(O)}",
+            "    Name : ${5:String(R)}",
+            "    Password : ${6:String(R)}",
+            "    ShortName : ${7:String(O)}",
+            "    Size : ${8:String(R)}",
+            "    VpcSettings: ${9:aws-directoryservice-simplead.vpcsettings(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-loggerdefinitionversion":{
+        "prefix":"aws-greengrass-loggerdefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassLoggerDefinitionVersion}:",
+            "  Type: AWS::Greengrass::LoggerDefinitionVersion",
+            "  Properties:",
+            "    LoggerDefinitionId : ${2:String(R)}",
+            "    Loggers : [ ${3:aws-greengrass-loggerdefinitionversion.logger(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-volumeattachment":{
+        "prefix":"aws-ec2-volumeattachment",
+        "body":[
+            "${1:myAWSEC2VolumeAttachment}:",
+            "  Type: AWS::EC2::VolumeAttachment",
+            "  Properties:",
+            "    Device : ${2:String(R)}",
+            "    InstanceId : ${3:String(R)}",
+            "    VolumeId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-secretsmanager-secrettargetattachment":{
+        "prefix":"aws-secretsmanager-secrettargetattachment",
+        "body":[
+            "${1:myAWSSecretsManagerSecretTargetAttachment}:",
+            "  Type: AWS::SecretsManager::SecretTargetAttachment",
+            "  Properties:",
+            "    SecretId : ${2:String(R)}",
+            "    TargetType : ${3:String(R)}",
+            "    TargetId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-host":{
+        "prefix":"aws-ec2-host",
+        "body":[
+            "${1:myAWSEC2Host}:",
+            "  Type: AWS::EC2::Host",
+            "  Properties:",
+            "    AutoPlacement : ${2:String(O)}",
+            "    AvailabilityZone : ${3:String(R)}",
+            "    InstanceType : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbsecuritygroup":{
+        "prefix":"aws-rds-dbsecuritygroup",
+        "body":[
+            "${1:myAWSRDSDBSecurityGroup}:",
+            "  Type: AWS::RDS::DBSecurityGroup",
+            "  Properties:",
+            "    DBSecurityGroupIngress : [ ${2:aws-rds-dbsecuritygroup.ingress(R)} ]",
+            "    EC2VpcId : ${3:String(O)}",
+            "    GroupDescription : ${4:String(R)}",
+            "    Tags : [ ${5:aws-rds-dbsecuritygroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-integrationresponse":{
+        "prefix":"aws-apigatewayv2-integrationresponse",
+        "body":[
+            "${1:myAWSApiGatewayV2IntegrationResponse}:",
+            "  Type: AWS::ApiGatewayV2::IntegrationResponse",
+            "  Properties:",
+            "    ResponseTemplates : ${2:Json(O)}",
+            "    TemplateSelectionExpression : ${3:String(O)}",
+            "    ResponseParameters : ${4:Json(O)}",
+            "    ContentHandlingStrategy : ${5:String(O)}",
+            "    IntegrationId : ${6:String(R)}",
+            "    IntegrationResponseKey : ${7:String(R)}",
+            "    ApiId : ${8:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kms-alias":{
+        "prefix":"aws-kms-alias",
+        "body":[
+            "${1:myAWSKMSAlias}:",
+            "  Type: AWS::KMS::Alias",
+            "  Properties:",
+            "    AliasName : ${2:String(R)}",
+            "    TargetKeyId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition":{
+        "prefix":"aws-ecs-taskdefinition",
+        "body":[
+            "${1:myAWSECSTaskDefinition}:",
+            "  Type: AWS::ECS::TaskDefinition",
+            "  Properties:",
+            "    ContainerDefinitions : [ ${2:aws-ecs-taskdefinition.containerdefinition(O)} ]",
+            "    Cpu : ${3:String(O)}",
+            "    ExecutionRoleArn : ${4:String(O)}",
+            "    Family : ${5:String(O)}",
+            "    Memory : ${6:String(O)}",
+            "    NetworkMode : ${7:String(O)}",
+            "    PlacementConstraints : [ ${8:aws-ecs-taskdefinition.taskdefinitionplacementconstraint(O)} ]",
+            "    RequiresCompatibilities : [ ${9:String(O)} ]",
+            "    TaskRoleArn : ${10:String(O)}",
+            "    Volumes : [ ${11:aws-ecs-taskdefinition.volume(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-clustersubnetgroup":{
+        "prefix":"aws-redshift-clustersubnetgroup",
+        "body":[
+            "${1:myAWSRedshiftClusterSubnetGroup}:",
+            "  Type: AWS::Redshift::ClusterSubnetGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    SubnetIds : [ ${3:String(R)} ]",
+            "    Tags : [ ${4:aws-redshift-clustersubnetgroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-eipassociation":{
+        "prefix":"aws-ec2-eipassociation",
+        "body":[
+            "${1:myAWSEC2EIPAssociation}:",
+            "  Type: AWS::EC2::EIPAssociation",
+            "  Properties:",
+            "    AllocationId : ${2:String(O)}",
+            "    EIP : ${3:String(O)}",
+            "    InstanceId : ${4:String(O)}",
+            "    NetworkInterfaceId : ${5:String(O)}",
+            "    PrivateIpAddress : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpngateway":{
+        "prefix":"aws-ec2-vpngateway",
+        "body":[
+            "${1:myAWSEC2VPNGateway}:",
+            "  Type: AWS::EC2::VPNGateway",
+            "  Properties:",
+            "    AmazonSideAsn : ${2:Long(O)}",
+            "    Tags : [ ${3:aws-ec2-vpngateway.tag(O)} ]",
+            "    Type : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-cachecluster":{
+        "prefix":"aws-elasticache-cachecluster",
+        "body":[
+            "${1:myAWSElastiCacheCacheCluster}:",
+            "  Type: AWS::ElastiCache::CacheCluster",
+            "  Properties:",
+            "    AZMode : ${2:String(O)}",
+            "    AutoMinorVersionUpgrade : ${3:Boolean(O)}",
+            "    CacheNodeType : ${4:String(R)}",
+            "    CacheParameterGroupName : ${5:String(O)}",
+            "    CacheSecurityGroupNames : [ ${6:String(O)} ]",
+            "    CacheSubnetGroupName : ${7:String(O)}",
+            "    ClusterName : ${8:String(O)}",
+            "    Engine : ${9:String(R)}",
+            "    EngineVersion : ${10:String(O)}",
+            "    NotificationTopicArn : ${11:String(O)}",
+            "    NumCacheNodes : ${12:Integer(R)}",
+            "    Port : ${13:Integer(O)}",
+            "    PreferredAvailabilityZone : ${14:String(O)}",
+            "    PreferredAvailabilityZones : [ ${15:String(O)} ]",
+            "    PreferredMaintenanceWindow : ${16:String(O)}",
+            "    SnapshotArns : [ ${17:String(O)} ]",
+            "    SnapshotName : ${18:String(O)}",
+            "    SnapshotRetentionLimit : ${19:Integer(O)}",
+            "    SnapshotWindow : ${20:String(O)}",
+            "    Tags : [ ${21:aws-elasticache-cachecluster.tag(O)} ]",
+            "    VpcSecurityGroupIds : [ ${22:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-thingprincipalattachment":{
+        "prefix":"aws-iot-thingprincipalattachment",
+        "body":[
+            "${1:myAWSIoTThingPrincipalAttachment}:",
+            "  Type: AWS::IoT::ThingPrincipalAttachment",
+            "  Properties:",
+            "    Principal : ${2:String(R)}",
+            "    ThingName : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-detector":{
+        "prefix":"aws-guardduty-detector",
+        "body":[
+            "${1:myAWSGuardDutyDetector}:",
+            "  Type: AWS::GuardDuty::Detector",
+            "  Properties:",
+            "    FindingPublishingFrequency : ${2:String(O)}",
+            "    Enable : ${3:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-docdb-dbclusterparametergroup":{
+        "prefix":"aws-docdb-dbclusterparametergroup",
+        "body":[
+            "${1:myAWSDocDBDBClusterParameterGroup}:",
+            "  Type: AWS::DocDB::DBClusterParameterGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    Parameters : ${3:Json(R)}",
+            "    Family : ${4:String(R)}",
+            "    Tags : [ ${5:aws-docdb-dbclusterparametergroup.tag(O)} ]",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-privatednsnamespace":{
+        "prefix":"aws-servicediscovery-privatednsnamespace",
+        "body":[
+            "${1:myAWSServiceDiscoveryPrivateDnsNamespace}:",
+            "  Type: AWS::ServiceDiscovery::PrivateDnsNamespace",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Vpc : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-applicationversion":{
+        "prefix":"aws-elasticbeanstalk-applicationversion",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplicationVersion}:",
+            "  Type: AWS::ElasticBeanstalk::ApplicationVersion",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    SourceBundle: ${4:aws-elasticbeanstalk-applicationversion.sourcebundle(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpcendpoint":{
+        "prefix":"aws-ec2-vpcendpoint",
+        "body":[
+            "${1:myAWSEC2VPCEndpoint}:",
+            "  Type: AWS::EC2::VPCEndpoint",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(O)}",
+            "    PrivateDnsEnabled : ${3:Boolean(O)}",
+            "    RouteTableIds : [ ${4:String(O)} ]",
+            "    SecurityGroupIds : [ ${5:String(O)} ]",
+            "    ServiceName : ${6:String(R)}",
+            "    SubnetIds : [ ${7:String(O)} ]",
+            "    VpcEndpointType : ${8:String(O)}",
+            "    VpcId : ${9:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-devendpoint":{
+        "prefix":"aws-glue-devendpoint",
+        "body":[
+            "${1:myAWSGlueDevEndpoint}:",
+            "  Type: AWS::Glue::DevEndpoint",
+            "  Properties:",
+            "    ExtraJarsS3Path : ${2:String(O)}",
+            "    EndpointName : ${3:String(O)}",
+            "    PublicKey : ${4:String(R)}",
+            "    NumberOfNodes : ${5:Integer(O)}",
+            "    SubnetId : ${6:String(O)}",
+            "    ExtraPythonLibsS3Path : ${7:String(O)}",
+            "    SecurityGroupIds : [ ${8:String(O)} ]",
+            "    RoleArn : ${9:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-userprofile":{
+        "prefix":"aws-opsworks-userprofile",
+        "body":[
+            "${1:myAWSOpsWorksUserProfile}:",
+            "  Type: AWS::OpsWorks::UserProfile",
+            "  Properties:",
+            "    AllowSelfManagement : ${2:Boolean(O)}",
+            "    IamUserArn : ${3:String(R)}",
+            "    SshPublicKey : ${4:String(O)}",
+            "    SshUsername : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-targetgroup":{
+        "prefix":"aws-elasticloadbalancingv2-targetgroup",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2TargetGroup}:",
+            "  Type: AWS::ElasticLoadBalancingV2::TargetGroup",
+            "  Properties:",
+            "    HealthCheckEnabled : ${2:Boolean(O)}",
+            "    HealthCheckIntervalSeconds : ${3:Integer(O)}",
+            "    HealthCheckPath : ${4:String(O)}",
+            "    HealthCheckPort : ${5:String(O)}",
+            "    HealthCheckProtocol : ${6:String(O)}",
+            "    HealthCheckTimeoutSeconds : ${7:Integer(O)}",
+            "    HealthyThresholdCount : ${8:Integer(O)}",
+            "    Matcher: ${9:aws-elasticloadbalancingv2-targetgroup.matcher(O)}",
+            "    Name : ${10:String(O)}",
+            "    Port : ${11:Integer(O)}",
+            "    Protocol : ${12:String(O)}",
+            "    Tags : [ ${13:aws-elasticloadbalancingv2-targetgroup.tag(O)} ]",
+            "    TargetGroupAttributes : [ ${14:aws-elasticloadbalancingv2-targetgroup.targetgroupattribute(O)} ]",
+            "    TargetType : ${15:String(O)}",
+            "    Targets : [ ${16:aws-elasticloadbalancingv2-targetgroup.targetdescription(O)} ]",
+            "    UnhealthyThresholdCount : ${17:Integer(O)}",
+            "    VpcId : ${18:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-neptune-dbsubnetgroup":{
+        "prefix":"aws-neptune-dbsubnetgroup",
+        "body":[
+            "${1:myAWSNeptuneDBSubnetGroup}:",
+            "  Type: AWS::Neptune::DBSubnetGroup",
+            "  Properties:",
+            "    DBSubnetGroupName : ${2:String(O)}",
+            "    DBSubnetGroupDescription : ${3:String(R)}",
+            "    SubnetIds : [ ${4:String(R)} ]",
+            "    Tags : [ ${5:aws-neptune-dbsubnetgroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-user":{
+        "prefix":"aws-appstream-user",
+        "body":[
+            "${1:myAWSAppStreamUser}:",
+            "  Type: AWS::AppStream::User",
+            "  Properties:",
+            "    UserName : ${2:String(R)}",
+            "    FirstName : ${3:String(O)}",
+            "    MessageAction : ${4:String(O)}",
+            "    LastName : ${5:String(O)}",
+            "    AuthenticationType : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpcgatewayattachment":{
+        "prefix":"aws-ec2-vpcgatewayattachment",
+        "body":[
+            "${1:myAWSEC2VPCGatewayAttachment}:",
+            "  Type: AWS::EC2::VPCGatewayAttachment",
+            "  Properties:",
+            "    InternetGatewayId : ${2:String(O)}",
+            "    VpcId : ${3:String(R)}",
+            "    VpnGatewayId : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-robot":{
+        "prefix":"aws-robomaker-robot",
+        "body":[
+            "${1:myAWSRoboMakerRobot}:",
+            "  Type: AWS::RoboMaker::Robot",
+            "  Properties:",
+            "    Fleet : ${2:String(O)}",
+            "    Architecture : ${3:String(R)}",
+            "    GreengrassGroupId : ${4:String(R)}",
+            "    Tags : ${5:Json(O)}",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application":{
+        "prefix":"aws-kinesisanalyticsv2-application",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application",
+            "  Properties:",
+            "    ApplicationName : ${2:String(O)}",
+            "    RuntimeEnvironment : ${3:String(R)}",
+            "    ApplicationConfiguration: ${4:aws-kinesisanalyticsv2-application.applicationconfiguration(O)}",
+            "    ApplicationDescription : ${5:String(O)}",
+            "    ServiceExecutionRole : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpnconnection":{
+        "prefix":"aws-ec2-vpnconnection",
+        "body":[
+            "${1:myAWSEC2VPNConnection}:",
+            "  Type: AWS::EC2::VPNConnection",
+            "  Properties:",
+            "    CustomerGatewayId : ${2:String(R)}",
+            "    StaticRoutesOnly : ${3:Boolean(O)}",
+            "    Tags : [ ${4:aws-ec2-vpnconnection.tag(O)} ]",
+            "    Type : ${5:String(R)}",
+            "    VpnGatewayId : ${6:String(R)}",
+            "    VpnTunnelOptionsSpecifications : [ ${7:aws-ec2-vpnconnection.vpntunneloptionsspecification(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-trigger":{
+        "prefix":"aws-glue-trigger",
+        "body":[
+            "${1:myAWSGlueTrigger}:",
+            "  Type: AWS::Glue::Trigger",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    Actions : [ ${4:aws-glue-trigger.action(R)} ]",
+            "    Schedule : ${5:String(O)}",
+            "    Name : ${6:String(O)}",
+            "    Predicate: ${7:aws-glue-trigger.predicate(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpccidrblock":{
+        "prefix":"aws-ec2-vpccidrblock",
+        "body":[
+            "${1:myAWSEC2VPCCidrBlock}:",
+            "  Type: AWS::EC2::VPCCidrBlock",
+            "  Properties:",
+            "    AmazonProvidedIpv6CidrBlock : ${2:Boolean(O)}",
+            "    CidrBlock : ${3:String(O)}",
+            "    VpcId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-parameter":{
+        "prefix":"aws-ssm-parameter",
+        "body":[
+            "${1:myAWSSSMParameter}:",
+            "  Type: AWS::SSM::Parameter",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    AllowedPattern : ${4:String(O)}",
+            "    Value : ${5:String(R)}",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-inspector-assessmenttemplate":{
+        "prefix":"aws-inspector-assessmenttemplate",
+        "body":[
+            "${1:myAWSInspectorAssessmentTemplate}:",
+            "  Type: AWS::Inspector::AssessmentTemplate",
+            "  Properties:",
+            "    AssessmentTargetArn : ${2:String(R)}",
+            "    DurationInSeconds : ${3:Integer(R)}",
+            "    AssessmentTemplateName : ${4:String(O)}",
+            "    RulesPackageArns : [ ${5:String(R)} ]",
+            "    UserAttributesForFindings : [ ${6:aws-inspector-assessmenttemplate.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-mesh":{
+        "prefix":"aws-appmesh-mesh",
+        "body":[
+            "${1:myAWSAppMeshMesh}:",
+            "  Type: AWS::AppMesh::Mesh",
+            "  Properties:",
+            "    MeshName : ${2:String(R)}",
+            "    Spec: ${3:aws-appmesh-mesh.meshspec(O)}",
+            "    Tags : [ ${4:aws-appmesh-mesh.tagref(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-fleet":{
+        "prefix":"aws-appstream-fleet",
+        "body":[
+            "${1:myAWSAppStreamFleet}:",
+            "  Type: AWS::AppStream::Fleet",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    ComputeCapacity: ${3:aws-appstream-fleet.computecapacity(R)}",
+            "    VpcConfig: ${4:aws-appstream-fleet.vpcconfig(O)}",
+            "    FleetType : ${5:String(O)}",
+            "    EnableDefaultInternetAccess : ${6:Boolean(O)}",
+            "    DomainJoinInfo: ${7:aws-appstream-fleet.domainjoininfo(O)}",
+            "    Name : ${8:String(O)}",
+            "    ImageName : ${9:String(O)}",
+            "    MaxUserDurationInSeconds : ${10:Integer(O)}",
+            "    DisconnectTimeoutInSeconds : ${11:Integer(O)}",
+            "    DisplayName : ${12:String(O)}",
+            "    InstanceType : ${13:String(R)}",
+            "    Tags : [ ${14:aws-appstream-fleet.tag(O)} ]",
+            "    ImageArn : ${15:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-logs-subscriptionfilter":{
+        "prefix":"aws-logs-subscriptionfilter",
+        "body":[
+            "${1:myAWSLogsSubscriptionFilter}:",
+            "  Type: AWS::Logs::SubscriptionFilter",
+            "  Properties:",
+            "    DestinationArn : ${2:String(R)}",
+            "    FilterPattern : ${3:String(R)}",
+            "    LogGroupName : ${4:String(R)}",
+            "    RoleArn : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion":{
+        "prefix":"aws-greengrass-functiondefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion",
+            "  Properties:",
+            "    DefaultConfig: ${2:aws-greengrass-functiondefinitionversion.defaultconfig(O)}",
+            "    Functions : [ ${3:aws-greengrass-functiondefinitionversion.function(R)} ]",
+            "    FunctionDefinitionId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    ReferenceDataSource: ${3:aws-kinesisanalytics-applicationreferencedatasource.referencedatasource(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-resourcedatasync":{
+        "prefix":"aws-ssm-resourcedatasync",
+        "body":[
+            "${1:myAWSSSMResourceDataSync}:",
+            "  Type: AWS::SSM::ResourceDataSync",
+            "  Properties:",
+            "    KMSKeyArn : ${2:String(O)}",
+            "    BucketName : ${3:String(R)}",
+            "    BucketRegion : ${4:String(R)}",
+            "    SyncFormat : ${5:String(R)}",
+            "    SyncName : ${6:String(R)}",
+            "    BucketPrefix : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-configuration":{
+        "prefix":"aws-amazonmq-configuration",
+        "body":[
+            "${1:myAWSAmazonMQConfiguration}:",
+            "  Type: AWS::AmazonMQ::Configuration",
+            "  Properties:",
+            "    EngineVersion : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    EngineType : ${4:String(R)}",
+            "    Data : ${5:String(R)}",
+            "    Tags : [ ${6:aws-amazonmq-configuration.tagsentry(O)} ]",
+            "    Name : ${7:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application":{
+        "prefix":"aws-kinesisanalytics-application",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication}:",
+            "  Type: AWS::KinesisAnalytics::Application",
+            "  Properties:",
+            "    ApplicationName : ${2:String(O)}",
+            "    Inputs : [ ${3:aws-kinesisanalytics-application.input(R)} ]",
+            "    ApplicationDescription : ${4:String(O)}",
+            "    ApplicationCode : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table":{
+        "prefix":"aws-dynamodb-table",
+        "body":[
+            "${1:myAWSDynamoDBTable}:",
+            "  Type: AWS::DynamoDB::Table",
+            "  Properties:",
+            "    AttributeDefinitions : [ ${2:aws-dynamodb-table.attributedefinition(O)} ]",
+            "    BillingMode : ${3:String(O)}",
+            "    GlobalSecondaryIndexes : [ ${4:aws-dynamodb-table.globalsecondaryindex(O)} ]",
+            "    KeySchema : [ ${5:aws-dynamodb-table.keyschema(R)} ]",
+            "    LocalSecondaryIndexes : [ ${6:aws-dynamodb-table.localsecondaryindex(O)} ]",
+            "    PointInTimeRecoverySpecification: ${7:aws-dynamodb-table.pointintimerecoveryspecification(O)}",
+            "    ProvisionedThroughput: ${8:aws-dynamodb-table.provisionedthroughput(O)}",
+            "    SSESpecification: ${9:aws-dynamodb-table.ssespecification(O)}",
+            "    StreamSpecification: ${10:aws-dynamodb-table.streamspecification(O)}",
+            "    TableName : ${11:String(O)}",
+            "    Tags : [ ${12:aws-dynamodb-table.tag(O)} ]",
+            "    TimeToLiveSpecification: ${13:aws-dynamodb-table.timetolivespecification(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-logs-destination":{
+        "prefix":"aws-logs-destination",
+        "body":[
+            "${1:myAWSLogsDestination}:",
+            "  Type: AWS::Logs::Destination",
+            "  Properties:",
+            "    DestinationName : ${2:String(R)}",
+            "    DestinationPolicy : ${3:String(R)}",
+            "    RoleArn : ${4:String(R)}",
+            "    TargetArn : ${5:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-clustersecuritygroup":{
+        "prefix":"aws-redshift-clustersecuritygroup",
+        "body":[
+            "${1:myAWSRedshiftClusterSecurityGroup}:",
+            "  Type: AWS::Redshift::ClusterSecurityGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    Tags : [ ${3:aws-redshift-clustersecuritygroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet":{
+        "prefix":"aws-ec2-ec2fleet",
+        "body":[
+            "${1:myAWSEC2EC2Fleet}:",
+            "  Type: AWS::EC2::EC2Fleet",
+            "  Properties:",
+            "    TargetCapacitySpecification: ${2:aws-ec2-ec2fleet.targetcapacityspecificationrequest(R)}",
+            "    OnDemandOptions: ${3:aws-ec2-ec2fleet.ondemandoptionsrequest(O)}",
+            "    Type : ${4:String(O)}",
+            "    ExcessCapacityTerminationPolicy : ${5:String(O)}",
+            "    TagSpecifications : [ ${6:aws-ec2-ec2fleet.tagspecification(O)} ]",
+            "    SpotOptions: ${7:aws-ec2-ec2fleet.spotoptionsrequest(O)}",
+            "    ValidFrom : ${8:String(O)}",
+            "    ReplaceUnhealthyInstances : ${9:Boolean(O)}",
+            "    LaunchTemplateConfigs : [ ${10:aws-ec2-ec2fleet.fleetlaunchtemplateconfigrequest(R)} ]",
+            "    TerminateInstancesWithExpiration : ${11:Boolean(O)}",
+            "    ValidUntil : ${12:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-transitgatewayroutetable":{
+        "prefix":"aws-ec2-transitgatewayroutetable",
+        "body":[
+            "${1:myAWSEC2TransitGatewayRouteTable}:",
+            "  Type: AWS::EC2::TransitGatewayRouteTable",
+            "  Properties:",
+            "    TransitGatewayId : ${2:String(R)}",
+            "    Tags : [ ${3:aws-ec2-transitgatewayroutetable.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-xssmatchset":{
+        "prefix":"aws-waf-xssmatchset",
+        "body":[
+            "${1:myAWSWAFXssMatchSet}:",
+            "  Type: AWS::WAF::XssMatchSet",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    XssMatchTuples : [ ${3:aws-waf-xssmatchset.xssmatchtuple(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-groupversion":{
+        "prefix":"aws-greengrass-groupversion",
+        "body":[
+            "${1:myAWSGreengrassGroupVersion}:",
+            "  Type: AWS::Greengrass::GroupVersion",
+            "  Properties:",
+            "    LoggerDefinitionVersionArn : ${2:String(O)}",
+            "    DeviceDefinitionVersionArn : ${3:String(O)}",
+            "    FunctionDefinitionVersionArn : ${4:String(O)}",
+            "    CoreDefinitionVersionArn : ${5:String(O)}",
+            "    ResourceDefinitionVersionArn : ${6:String(O)}",
+            "    ConnectorDefinitionVersionArn : ${7:String(O)}",
+            "    SubscriptionDefinitionVersionArn : ${8:String(O)}",
+            "    GroupId : ${9:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-healthcheck":{
+        "prefix":"aws-route53-healthcheck",
+        "body":[
+            "${1:myAWSRoute53HealthCheck}:",
+            "  Type: AWS::Route53::HealthCheck",
+            "  Properties:",
+            "    HealthCheckConfig: ${2:aws-route53-healthcheck.healthcheckconfig(R)}",
+            "    HealthCheckTags : [ ${3:aws-route53-healthcheck.healthchecktag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-permission":{
+        "prefix":"aws-lambda-permission",
+        "body":[
+            "${1:myAWSLambdaPermission}:",
+            "  Type: AWS::Lambda::Permission",
+            "  Properties:",
+            "    Action : ${2:String(R)}",
+            "    EventSourceToken : ${3:String(O)}",
+            "    FunctionName : ${4:String(R)}",
+            "    Principal : ${5:String(R)}",
+            "    SourceAccount : ${6:String(O)}",
+            "    SourceArn : ${7:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-ipset":{
+        "prefix":"aws-guardduty-ipset",
+        "body":[
+            "${1:myAWSGuardDutyIPSet}:",
+            "  Type: AWS::GuardDuty::IPSet",
+            "  Properties:",
+            "    Format : ${2:String(R)}",
+            "    Activate : ${3:Boolean(R)}",
+            "    DetectorId : ${4:String(R)}",
+            "    Name : ${5:String(O)}",
+            "    Location : ${6:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-certificate":{
+        "prefix":"aws-iot-certificate",
+        "body":[
+            "${1:myAWSIoTCertificate}:",
+            "  Type: AWS::IoT::Certificate",
+            "  Properties:",
+            "    CertificateSigningRequest : ${2:String(R)}",
+            "    Status : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-association":{
+        "prefix":"aws-ssm-association",
+        "body":[
+            "${1:myAWSSSMAssociation}:",
+            "  Type: AWS::SSM::Association",
+            "  Properties:",
+            "    AssociationName : ${2:String(O)}",
+            "    DocumentVersion : ${3:String(O)}",
+            "    InstanceId : ${4:String(O)}",
+            "    Name : ${5:String(R)}",
+            "    OutputLocation: ${6:aws-ssm-association.instanceassociationoutputlocation(O)}",
+            "    Parameters : [ ${7:aws-ssm-association.parametervalues(O)} ]",
+            "    ScheduleExpression : ${8:String(O)}",
+            "    Targets : [ ${9:aws-ssm-association.target(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-neptune-dbinstance":{
+        "prefix":"aws-neptune-dbinstance",
+        "body":[
+            "${1:myAWSNeptuneDBInstance}:",
+            "  Type: AWS::Neptune::DBInstance",
+            "  Properties:",
+            "    DBParameterGroupName : ${2:String(O)}",
+            "    DBInstanceClass : ${3:String(R)}",
+            "    AllowMajorVersionUpgrade : ${4:Boolean(O)}",
+            "    DBClusterIdentifier : ${5:String(O)}",
+            "    AvailabilityZone : ${6:String(O)}",
+            "    PreferredMaintenanceWindow : ${7:String(O)}",
+            "    AutoMinorVersionUpgrade : ${8:Boolean(O)}",
+            "    DBSubnetGroupName : ${9:String(O)}",
+            "    DBInstanceIdentifier : ${10:String(O)}",
+            "    DBSnapshotIdentifier : ${11:String(O)}",
+            "    Tags : [ ${12:aws-neptune-dbinstance.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbclusterparametergroup":{
+        "prefix":"aws-rds-dbclusterparametergroup",
+        "body":[
+            "${1:myAWSRDSDBClusterParameterGroup}:",
+            "  Type: AWS::RDS::DBClusterParameterGroup",
+            "  Properties:",
+            "    Description : ${2:String(R)}",
+            "    Family : ${3:String(R)}",
+            "    Parameters : ${4:Json(R)}",
+            "    Tags : [ ${5:aws-rds-dbclusterparametergroup.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-athena-namedquery":{
+        "prefix":"aws-athena-namedquery",
+        "body":[
+            "${1:myAWSAthenaNamedQuery}:",
+            "  Type: AWS::Athena::NamedQuery",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    QueryString : ${3:String(R)}",
+            "    Database : ${4:String(R)}",
+            "    Name : ${5:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesis-streamconsumer":{
+        "prefix":"aws-kinesis-streamconsumer",
+        "body":[
+            "${1:myAWSKinesisStreamConsumer}:",
+            "  Type: AWS::Kinesis::StreamConsumer",
+            "  Properties:",
+            "    ConsumerName : ${2:String(R)}",
+            "    StreamARN : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-master":{
+        "prefix":"aws-guardduty-master",
+        "body":[
+            "${1:myAWSGuardDutyMaster}:",
+            "  Type: AWS::GuardDuty::Master",
+            "  Properties:",
+            "    DetectorId : ${2:String(R)}",
+            "    MasterId : ${3:String(R)}",
+            "    InvitationId : ${4:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-inspector-assessmenttarget":{
+        "prefix":"aws-inspector-assessmenttarget",
+        "body":[
+            "${1:myAWSInspectorAssessmentTarget}:",
+            "  Type: AWS::Inspector::AssessmentTarget",
+            "  Properties:",
+            "    AssessmentTargetName : ${2:String(O)}",
+            "    ResourceGroupArn : ${3:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucketpolicy":{
+        "prefix":"aws-s3-bucketpolicy",
+        "body":[
+            "${1:myAWSS3BucketPolicy}:",
+            "  Type: AWS::S3::BucketPolicy",
+            "  Properties:",
+            "    Bucket : ${2:String(R)}",
+            "    PolicyDocument : ${3:Json(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup":{
+        "prefix":"aws-autoscaling-autoscalinggroup",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup",
+            "  Properties:",
+            "    AutoScalingGroupName : ${2:String(O)}",
+            "    AvailabilityZones : [ ${3:String(O)} ]",
+            "    Cooldown : ${4:String(O)}",
+            "    DesiredCapacity : ${5:String(O)}",
+            "    HealthCheckGracePeriod : ${6:Integer(O)}",
+            "    HealthCheckType : ${7:String(O)}",
+            "    InstanceId : ${8:String(O)}",
+            "    LaunchConfigurationName : ${9:String(O)}",
+            "    LaunchTemplate: ${10:aws-autoscaling-autoscalinggroup.launchtemplatespecification(O)}",
+            "    LifecycleHookSpecificationList : [ ${11:aws-autoscaling-autoscalinggroup.lifecyclehookspecification(O)} ]",
+            "    LoadBalancerNames : [ ${12:String(O)} ]",
+            "    MaxSize : ${13:String(R)}",
+            "    MetricsCollection : [ ${14:aws-autoscaling-autoscalinggroup.metricscollection(O)} ]",
+            "    MinSize : ${15:String(R)}",
+            "    MixedInstancesPolicy: ${16:aws-autoscaling-autoscalinggroup.mixedinstancespolicy(O)}",
+            "    NotificationConfigurations : [ ${17:aws-autoscaling-autoscalinggroup.notificationconfiguration(O)} ]",
+            "    PlacementGroup : ${18:String(O)}",
+            "    ServiceLinkedRoleARN : ${19:String(O)}",
+            "    Tags : [ ${20:aws-autoscaling-autoscalinggroup.tagproperty(O)} ]",
+            "    TargetGroupARNs : [ ${21:String(O)} ]",
+            "    TerminationPolicies : [ ${22:String(O)} ]",
+            "    VPCZoneIdentifier : [ ${23:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudformation-customresource":{
+        "prefix":"aws-cloudformation-customresource",
+        "body":[
+            "${1:myAWSCloudFormationCustomResource}:",
+            "  Type: AWS::CloudFormation::CustomResource",
+            "  Properties:",
+            "    ServiceToken : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53resolver-resolverendpoint":{
+        "prefix":"aws-route53resolver-resolverendpoint",
+        "body":[
+            "${1:myAWSRoute53ResolverResolverEndpoint}:",
+            "  Type: AWS::Route53Resolver::ResolverEndpoint",
+            "  Properties:",
+            "    IpAddresses : [ ${2:aws-route53resolver-resolverendpoint.ipaddressrequest(R)} ]",
+            "    Direction : ${3:String(R)}",
+            "    SecurityGroupIds : [ ${4:String(R)} ]",
+            "    Tags : [ ${5:aws-route53resolver-resolverendpoint.tag(O)} ]",
+            "    Name : ${6:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-crawler":{
+        "prefix":"aws-glue-crawler",
+        "body":[
+            "${1:myAWSGlueCrawler}:",
+            "  Type: AWS::Glue::Crawler",
+            "  Properties:",
+            "    Role : ${2:String(R)}",
+            "    Classifiers : [ ${3:String(O)} ]",
+            "    Description : ${4:String(O)}",
+            "    SchemaChangePolicy: ${5:aws-glue-crawler.schemachangepolicy(O)}",
+            "    Configuration : ${6:String(O)}",
+            "    Schedule: ${7:aws-glue-crawler.schedule(O)}",
+            "    DatabaseName : ${8:String(R)}",
+            "    Targets: ${9:aws-glue-crawler.targets(R)}",
+            "    TablePrefix : ${10:String(O)}",
+            "    Name : ${11:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-documentationversion":{
+        "prefix":"aws-apigateway-documentationversion",
+        "body":[
+            "${1:myAWSApiGatewayDocumentationVersion}:",
+            "  Type: AWS::ApiGateway::DocumentationVersion",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    DocumentationVersion : ${3:String(R)}",
+            "    RestApiId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpcdhcpoptionsassociation":{
+        "prefix":"aws-ec2-vpcdhcpoptionsassociation",
+        "body":[
+            "${1:myAWSEC2VPCDHCPOptionsAssociation}:",
+            "  Type: AWS::EC2::VPCDHCPOptionsAssociation",
+            "  Properties:",
+            "    DhcpOptionsId : ${2:String(R)}",
+            "    VpcId : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask":{
+        "prefix":"aws-ssm-maintenancewindowtask",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask",
+            "  Properties:",
+            "    MaxErrors : ${2:String(R)}",
+            "    Description : ${3:String(O)}",
+            "    ServiceRoleArn : ${4:String(R)}",
+            "    Priority : ${5:Integer(R)}",
+            "    MaxConcurrency : ${6:String(R)}",
+            "    Targets : [ ${7:aws-ssm-maintenancewindowtask.target(R)} ]",
+            "    Name : ${8:String(O)}",
+            "    TaskArn : ${9:String(R)}",
+            "    TaskInvocationParameters: ${10:aws-ssm-maintenancewindowtask.taskinvocationparameters(O)}",
+            "    WindowId : ${11:String(O)}",
+            "    TaskParameters : ${12:Json(O)}",
+            "    TaskType : ${13:String(R)}",
+            "    LoggingInfo: ${14:aws-ssm-maintenancewindowtask.logginginfo(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-replicationtask":{
+        "prefix":"aws-dms-replicationtask",
+        "body":[
+            "${1:myAWSDMSReplicationTask}:",
+            "  Type: AWS::DMS::ReplicationTask",
+            "  Properties:",
+            "    ReplicationTaskSettings : ${2:String(O)}",
+            "    TableMappings : ${3:String(R)}",
+            "    ReplicationTaskIdentifier : ${4:String(O)}",
+            "    SourceEndpointArn : ${5:String(R)}",
+            "    MigrationType : ${6:String(R)}",
+            "    TargetEndpointArn : ${7:String(R)}",
+            "    ReplicationInstanceArn : ${8:String(R)}",
+            "    Tags : [ ${9:aws-dms-replicationtask.tag(O)} ]",
+            "    CdcStartTime : ${10:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-publicdnsnamespace":{
+        "prefix":"aws-servicediscovery-publicdnsnamespace",
+        "body":[
+            "${1:myAWSServiceDiscoveryPublicDnsNamespace}:",
+            "  Type: AWS::ServiceDiscovery::PublicDnsNamespace",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Name : ${3:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-usageplankey":{
+        "prefix":"aws-apigateway-usageplankey",
+        "body":[
+            "${1:myAWSApiGatewayUsagePlanKey}:",
+            "  Type: AWS::ApiGateway::UsagePlanKey",
+            "  Properties:",
+            "    KeyId : ${2:String(R)}",
+            "    KeyType : ${3:String(R)}",
+            "    UsagePlanId : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-securityconfiguration":{
+        "prefix":"aws-emr-securityconfiguration",
+        "body":[
+            "${1:myAWSEMRSecurityConfiguration}:",
+            "  Type: AWS::EMR::SecurityConfiguration",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    SecurityConfiguration : ${3:Json(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpoolusertogroupattachment":{
+        "prefix":"aws-cognito-userpoolusertogroupattachment",
+        "body":[
+            "${1:myAWSCognitoUserPoolUserToGroupAttachment}:",
+            "  Type: AWS::Cognito::UserPoolUserToGroupAttachment",
+            "  Properties:",
+            "    GroupName : ${2:String(R)}",
+            "    UserPoolId : ${3:String(R)}",
+            "    Username : ${4:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-replicationinstance":{
+        "prefix":"aws-dms-replicationinstance",
+        "body":[
+            "${1:myAWSDMSReplicationInstance}:",
+            "  Type: AWS::DMS::ReplicationInstance",
+            "  Properties:",
+            "    ReplicationInstanceIdentifier : ${2:String(O)}",
+            "    EngineVersion : ${3:String(O)}",
+            "    KmsKeyId : ${4:String(O)}",
+            "    AvailabilityZone : ${5:String(O)}",
+            "    PreferredMaintenanceWindow : ${6:String(O)}",
+            "    AutoMinorVersionUpgrade : ${7:Boolean(O)}",
+            "    ReplicationSubnetGroupIdentifier : ${8:String(O)}",
+            "    AllocatedStorage : ${9:Integer(O)}",
+            "    VpcSecurityGroupIds : [ ${10:String(O)} ]",
+            "    AllowMajorVersionUpgrade : ${11:Boolean(O)}",
+            "    ReplicationInstanceClass : ${12:String(R)}",
+            "    PubliclyAccessible : ${13:Boolean(O)}",
+            "    MultiAZ : ${14:Boolean(O)}",
+            "    Tags : [ ${15:aws-dms-replicationinstance.tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scheduledaction":{
+        "prefix":"aws-autoscaling-scheduledaction",
+        "body":[
+            "${1:myAWSAutoScalingScheduledAction}:",
+            "  Type: AWS::AutoScaling::ScheduledAction",
+            "  Properties:",
+            "    AutoScalingGroupName : ${2:String(R)}",
+            "    DesiredCapacity : ${3:Integer(O)}",
+            "    EndTime : ${4:String(O)}",
+            "    MaxSize : ${5:Integer(O)}",
+            "    MinSize : ${6:Integer(O)}",
+            "    Recurrence : ${7:String(O)}",
+            "    StartTime : ${8:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-classifier":{
+        "prefix":"aws-glue-classifier",
+        "body":[
+            "${1:myAWSGlueClassifier}:",
+            "  Type: AWS::Glue::Classifier",
+            "  Properties:",
+            "    XMLClassifier: ${2:aws-glue-classifier.xmlclassifier(O)}",
+            "    JsonClassifier: ${3:aws-glue-classifier.jsonclassifier(O)}",
+            "    GrokClassifier: ${4:aws-glue-classifier.grokclassifier(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-fleet":{
+        "prefix":"aws-robomaker-fleet",
+        "body":[
+            "${1:myAWSRoboMakerFleet}:",
+            "  Type: AWS::RoboMaker::Fleet",
+            "  Properties:",
+            "    Tags : ${2:Json(O)}",
+            "    Name : ${3:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-fsx-filesystem.tagentry":{
+        "prefix":"aws-fsx-filesystem.tagentry",
+        "body":[
+            "${1:myAWSFSxFileSystem.TagEntry}:",
+            "  Type: AWS::FSx::FileSystem.TagEntry",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualrouter.portmapping":{
+        "prefix":"aws-appmesh-virtualrouter.portmapping",
+        "body":[
+            "${1:myAWSAppMeshVirtualRouter.PortMapping}:",
+            "  Type: AWS::AppMesh::VirtualRouter.PortMapping",
+            "  Properties:",
+            "    Port : ${2:Integer(R)}",
+            "    Protocol : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-bytematchset.bytematchtuple":{
+        "prefix":"aws-wafregional-bytematchset.bytematchtuple",
+        "body":[
+            "${1:myAWSWAFRegionalByteMatchSet.ByteMatchTuple}:",
+            "  Type: AWS::WAFRegional::ByteMatchSet.ByteMatchTuple",
+            "  Properties:",
+            "    TargetString : ${2:String(O)}",
+            "    TargetStringBase64 : ${2:String(O)}",
+            "    PositionalConstraint : ${2:String(R)}",
+            "    TextTransformation : ${2:String(R)}",
+            "    FieldToMatch : ${2:aws-wafregional-bytematchsetbytematchtuple.FieldToMatch(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-coredefinition.core":{
+        "prefix":"aws-greengrass-coredefinition.core",
+        "body":[
+            "${1:myAWSGreengrassCoreDefinition.Core}:",
+            "  Type: AWS::Greengrass::CoreDefinition.Core",
+            "  Properties:",
+            "    SyncShadow : ${2:Boolean(O)}",
+            "    ThingArn : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    CertificateArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenercertificate.certificate":{
+        "prefix":"aws-elasticloadbalancingv2-listenercertificate.certificate",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerCertificate.Certificate}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate",
+            "  Properties:",
+            "    CertificateArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "alexa-ask-skill.skillpackage":{
+        "prefix":"alexa-ask-skill.skillpackage",
+        "body":[
+            "${1:myAlexaASKSkill.SkillPackage}:",
+            "  Type: Alexa::ASK::Skill.SkillPackage",
+            "  Properties:",
+            "    S3BucketRole : ${2:String(O)}",
+            "    S3ObjectVersion : ${2:String(O)}",
+            "    S3Bucket : ${2:String(R)}",
+            "    S3Key : ${2:String(R)}",
+            "    Overrides : ${2:alexa-ask-skillskillpackage.Overrides(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.inputartifact":{
+        "prefix":"aws-codepipeline-pipeline.inputartifact",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.InputArtifact}:",
+            "  Type: AWS::CodePipeline::Pipeline.InputArtifact",
+            "  Properties:",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.bucketencryption":{
+        "prefix":"aws-s3-bucket.bucketencryption",
+        "body":[
+            "${1:myAWSS3Bucket.BucketEncryption}:",
+            "  Type: AWS::S3::Bucket.BucketEncryption",
+            "  Properties:",
+            "    ServerSideEncryptionConfiguration : [ ${2:aws-s3-bucketbucketencryption.ServerSideEncryptionRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.functionconfiguration":{
+        "prefix":"aws-greengrass-functiondefinitionversion.functionconfiguration",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.FunctionConfiguration}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration",
+            "  Properties:",
+            "    MemorySize : ${2:Integer(R)}",
+            "    Pinned : ${2:Boolean(O)}",
+            "    ExecArgs : ${2:String(O)}",
+            "    Timeout : ${2:Integer(R)}",
+            "    EncodingType : ${2:String(O)}",
+            "    Environment : ${2:aws-greengrass-functiondefinitionversionfunctionconfiguration.Environment(O)}",
+            "    Executable : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-environment.optionsetting":{
+        "prefix":"aws-elasticbeanstalk-environment.optionsetting",
+        "body":[
+            "${1:myAWSElasticBeanstalkEnvironment.OptionSetting}:",
+            "  Type: AWS::ElasticBeanstalk::Environment.OptionSetting",
+            "  Properties:",
+            "    Namespace : ${2:String(R)}",
+            "    OptionName : ${2:String(R)}",
+            "    ResourceName : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.runcommandparameters":{
+        "prefix":"aws-events-rule.runcommandparameters",
+        "body":[
+            "${1:myAWSEventsRule.RunCommandParameters}:",
+            "  Type: AWS::Events::Rule.RunCommandParameters",
+            "  Properties:",
+            "    RunCommandTargets : [ ${2:aws-events-ruleruncommandparameters.RunCommandTarget(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-certificatemanager-certificate.domainvalidationoption":{
+        "prefix":"aws-certificatemanager-certificate.domainvalidationoption",
+        "body":[
+            "${1:myAWSCertificateManagerCertificate.DomainValidationOption}:",
+            "  Type: AWS::CertificateManager::Certificate.DomainValidationOption",
+            "  Properties:",
+            "    DomainName : ${2:String(R)}",
+            "    ValidationDomain : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-endpoint.kinesissettings":{
+        "prefix":"aws-dms-endpoint.kinesissettings",
+        "body":[
+            "${1:myAWSDMSEndpoint.KinesisSettings}:",
+            "  Type: AWS::DMS::Endpoint.KinesisSettings",
+            "  Properties:",
+            "    MessageFormat : ${2:String(O)}",
+            "    StreamArn : ${2:String(O)}",
+            "    ServiceAccessRoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.datasetcontentversionvalue":{
+        "prefix":"aws-iotanalytics-dataset.datasetcontentversionvalue",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.DatasetContentVersionValue}:",
+            "  Type: AWS::IoTAnalytics::Dataset.DatasetContentVersionValue",
+            "  Properties:",
+            "    DatasetName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudtrail-trail.eventselector":{
+        "prefix":"aws-cloudtrail-trail.eventselector",
+        "body":[
+            "${1:myAWSCloudTrailTrail.EventSelector}:",
+            "  Type: AWS::CloudTrail::Trail.EventSelector",
+            "  Properties:",
+            "    DataResources : [ ${2:aws-cloudtrail-traileventselector.DataResource(O)} ]",
+            "    IncludeManagementEvents : ${2:Boolean(O)}",
+            "    ReadWriteType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.bounceaction":{
+        "prefix":"aws-ses-receiptrule.bounceaction",
+        "body":[
+            "${1:myAWSSESReceiptRule.BounceAction}:",
+            "  Type: AWS::SES::ReceiptRule.BounceAction",
+            "  Properties:",
+            "    Sender : ${2:String(R)}",
+            "    SmtpReplyCode : ${2:String(R)}",
+            "    Message : ${2:String(R)}",
+            "    TopicArn : ${2:String(O)}",
+            "    StatusCode : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.routingrulecondition":{
+        "prefix":"aws-s3-bucket.routingrulecondition",
+        "body":[
+            "${1:myAWSS3Bucket.RoutingRuleCondition}:",
+            "  Type: AWS::S3::Bucket.RoutingRuleCondition",
+            "  Properties:",
+            "    HttpErrorCodeReturnedEquals : ${2:String(O)}",
+            "    KeyPrefixEquals : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.logging":{
+        "prefix":"aws-appmesh-virtualnode.logging",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.Logging}:",
+            "  Type: AWS::AppMesh::VirtualNode.Logging",
+            "  Properties:",
+            "    AccessLog : ${2:aws-appmesh-virtualnodelogging.AccessLog(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.lifecycleconfiguration":{
+        "prefix":"aws-s3-bucket.lifecycleconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.LifecycleConfiguration}:",
+            "  Type: AWS::S3::Bucket.LifecycleConfiguration",
+            "  Properties:",
+            "    Rules : [ ${2:aws-s3-bucketlifecycleconfiguration.Rule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-launchconfiguration.blockdevicemapping":{
+        "prefix":"aws-autoscaling-launchconfiguration.blockdevicemapping",
+        "body":[
+            "${1:myAWSAutoScalingLaunchConfiguration.BlockDeviceMapping}:",
+            "  Type: AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping",
+            "  Properties:",
+            "    DeviceName : ${2:String(R)}",
+            "    Ebs : ${2:aws-autoscaling-launchconfigurationblockdevicemapping.BlockDevice(O)}",
+            "    NoDevice : ${2:Boolean(O)}",
+            "    VirtualName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-endpoint.s3settings":{
+        "prefix":"aws-dms-endpoint.s3settings",
+        "body":[
+            "${1:myAWSDMSEndpoint.S3Settings}:",
+            "  Type: AWS::DMS::Endpoint.S3Settings",
+            "  Properties:",
+            "    ExternalTableDefinition : ${2:String(O)}",
+            "    BucketName : ${2:String(O)}",
+            "    BucketFolder : ${2:String(O)}",
+            "    CsvRowDelimiter : ${2:String(O)}",
+            "    CsvDelimiter : ${2:String(O)}",
+            "    ServiceAccessRoleArn : ${2:String(O)}",
+            "    CompressionType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition.serdeinfo":{
+        "prefix":"aws-glue-partition.serdeinfo",
+        "body":[
+            "${1:myAWSGluePartition.SerdeInfo}:",
+            "  Type: AWS::Glue::Partition.SerdeInfo",
+            "  Properties:",
+            "    Parameters : ${2:Json(O)}",
+            "    SerializationLibrary : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualrouter.virtualrouterlistener":{
+        "prefix":"aws-appmesh-virtualrouter.virtualrouterlistener",
+        "body":[
+            "${1:myAWSAppMeshVirtualRouter.VirtualRouterListener}:",
+            "  Type: AWS::AppMesh::VirtualRouter.VirtualRouterListener",
+            "  Properties:",
+            "    PortMapping : ${2:aws-appmesh-virtualroutervirtualrouterlistener.PortMapping(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.cookies":{
+        "prefix":"aws-cloudfront-distribution.cookies",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.Cookies}:",
+            "  Type: AWS::CloudFront::Distribution.Cookies",
+            "  Properties:",
+            "    WhitelistedNames : [ ${2:String(O)} ]",
+            "    Forward : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-deployment.deploymentcanarysettings":{
+        "prefix":"aws-apigateway-deployment.deploymentcanarysettings",
+        "body":[
+            "${1:myAWSApiGatewayDeployment.DeploymentCanarySettings}:",
+            "  Type: AWS::ApiGateway::Deployment.DeploymentCanarySettings",
+            "  Properties:",
+            "    PercentTraffic : ${2:Double(O)}",
+            "    StageVariableOverrides : [ ${2:String(O)} ]",
+            "    UseStageCache : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-step.hadoopjarstepconfig":{
+        "prefix":"aws-emr-step.hadoopjarstepconfig",
+        "body":[
+            "${1:myAWSEMRStep.HadoopJarStepConfig}:",
+            "  Type: AWS::EMR::Step.HadoopJarStepConfig",
+            "  Properties:",
+            "    Args : [ ${2:String(O)} ]",
+            "    Jar : ${2:String(R)}",
+            "    MainClass : ${2:String(O)}",
+            "    StepProperties : [ ${2:aws-emr-stephadoopjarstepconfig.KeyValue(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.ebsblockdeviceconfig":{
+        "prefix":"aws-emr-instancegroupconfig.ebsblockdeviceconfig",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.EbsBlockDeviceConfig}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig",
+            "  Properties:",
+            "    VolumeSpecification : ${2:aws-emr-instancegroupconfigebsblockdeviceconfig.VolumeSpecification(R)}",
+            "    VolumesPerInstance : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.s3location":{
+        "prefix":"aws-codedeploy-deploymentgroup.s3location",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.S3Location}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.S3Location",
+            "  Properties:",
+            "    Bucket : ${2:String(R)}",
+            "    BundleType : ${2:String(O)}",
+            "    ETag : ${2:String(O)}",
+            "    Key : ${2:String(R)}",
+            "    Version : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.privateipadd":{
+        "prefix":"aws-ec2-launchtemplate.privateipadd",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.PrivateIpAdd}:",
+            "  Type: AWS::EC2::LaunchTemplate.PrivateIpAdd",
+            "  Properties:",
+            "    PrivateIpAddress : ${2:String(O)}",
+            "    Primary : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.launchtemplateoverrides":{
+        "prefix":"aws-autoscaling-autoscalinggroup.launchtemplateoverrides",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.LaunchTemplateOverrides}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides",
+            "  Properties:",
+            "    InstanceType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.lambdafunctionassociation":{
+        "prefix":"aws-cloudfront-distribution.lambdafunctionassociation",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.LambdaFunctionAssociation}:",
+            "  Type: AWS::CloudFront::Distribution.LambdaFunctionAssociation",
+            "  Properties:",
+            "    EventType : ${2:String(O)}",
+            "    LambdaFunctionARN : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.elasticsearchbufferinghints":{
+        "prefix":"aws-kinesisfirehose-deliverystream.elasticsearchbufferinghints",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.ElasticsearchBufferingHints}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints",
+            "  Properties:",
+            "    IntervalInSeconds : ${2:Integer(R)}",
+            "    SizeInMBs : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-computeenvironment.launchtemplatespecification":{
+        "prefix":"aws-batch-computeenvironment.launchtemplatespecification",
+        "body":[
+            "${1:myAWSBatchComputeEnvironment.LaunchTemplateSpecification}:",
+            "  Type: AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification",
+            "  Properties:",
+            "    LaunchTemplateName : ${2:String(O)}",
+            "    Version : ${2:String(O)}",
+            "    LaunchTemplateId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-database.databaseinput":{
+        "prefix":"aws-glue-database.databaseinput",
+        "body":[
+            "${1:myAWSGlueDatabase.DatabaseInput}:",
+            "  Type: AWS::Glue::Database.DatabaseInput",
+            "  Properties:",
+            "    LocationUri : ${2:String(O)}",
+            "    Description : ${2:String(O)}",
+            "    Parameters : ${2:Json(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.lifecyclehookspecification":{
+        "prefix":"aws-autoscaling-autoscalinggroup.lifecyclehookspecification",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.LifecycleHookSpecification}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification",
+            "  Properties:",
+            "    DefaultResult : ${2:String(O)}",
+            "    HeartbeatTimeout : ${2:Integer(O)}",
+            "    LifecycleHookName : ${2:String(R)}",
+            "    LifecycleTransition : ${2:String(R)}",
+            "    NotificationMetadata : ${2:String(O)}",
+            "    NotificationTargetARN : ${2:String(O)}",
+            "    RoleARN : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.recordcolumn":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.recordcolumn",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.RecordColumn}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn",
+            "  Properties:",
+            "    Mapping : ${2:String(O)}",
+            "    SqlType : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.passwordpolicy":{
+        "prefix":"aws-cognito-userpool.passwordpolicy",
+        "body":[
+            "${1:myAWSCognitoUserPool.PasswordPolicy}:",
+            "  Type: AWS::Cognito::UserPool.PasswordPolicy",
+            "  Properties:",
+            "    RequireNumbers : ${2:Boolean(O)}",
+            "    MinimumLength : ${2:Integer(O)}",
+            "    RequireUppercase : ${2:Boolean(O)}",
+            "    RequireLowercase : ${2:Boolean(O)}",
+            "    RequireSymbols : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationoutput.kinesisfirehoseoutput":{
+        "prefix":"aws-kinesisanalytics-applicationoutput.kinesisfirehoseoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationOutput.KinesisFirehoseOutput}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configurationaggregator.organizationaggregationsource":{
+        "prefix":"aws-config-configurationaggregator.organizationaggregationsource",
+        "body":[
+            "${1:myAWSConfigConfigurationAggregator.OrganizationAggregationSource}:",
+            "  Type: AWS::Config::ConfigurationAggregator.OrganizationAggregationSource",
+            "  Properties:",
+            "    AllAwsRegions : ${2:Boolean(O)}",
+            "    AwsRegions : [ ${2:String(O)} ]",
+            "    RoleArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer.shutdowneventconfiguration":{
+        "prefix":"aws-opsworks-layer.shutdowneventconfiguration",
+        "body":[
+            "${1:myAWSOpsWorksLayer.ShutdownEventConfiguration}:",
+            "  Type: AWS::OpsWorks::Layer.ShutdownEventConfiguration",
+            "  Properties:",
+            "    DelayUntilElbConnectionsDrained : ${2:Boolean(O)}",
+            "    ExecutionTimeout : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.volumes":{
+        "prefix":"aws-batch-jobdefinition.volumes",
+        "body":[
+            "${1:myAWSBatchJobDefinition.Volumes}:",
+            "  Type: AWS::Batch::JobDefinition.Volumes",
+            "  Properties:",
+            "    Host : ${2:aws-batch-jobdefinitionvolumes.VolumesHost(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy.stepscalingpolicyconfiguration":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy.stepscalingpolicyconfiguration",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy.StepScalingPolicyConfiguration}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration",
+            "  Properties:",
+            "    AdjustmentType : ${2:String(O)}",
+            "    Cooldown : ${2:Integer(O)}",
+            "    MetricAggregationType : ${2:String(O)}",
+            "    MinAdjustmentMagnitude : ${2:Integer(O)}",
+            "    StepAdjustments : [ ${2:aws-applicationautoscaling-scalingpolicystepscalingpolicyconfiguration.StepAdjustment(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.deviceshadowenrich":{
+        "prefix":"aws-iotanalytics-pipeline.deviceshadowenrich",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.DeviceShadowEnrich}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich",
+            "  Properties:",
+            "    Attribute : ${2:String(O)}",
+            "    Next : ${2:String(O)}",
+            "    ThingName : ${2:String(O)}",
+            "    RoleArn : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.corsrule":{
+        "prefix":"aws-s3-bucket.corsrule",
+        "body":[
+            "${1:myAWSS3Bucket.CorsRule}:",
+            "  Type: AWS::S3::Bucket.CorsRule",
+            "  Properties:",
+            "    AllowedHeaders : [ ${2:String(O)} ]",
+            "    AllowedMethods : [ ${2:String(R)} ]",
+            "    AllowedOrigins : [ ${2:String(R)} ]",
+            "    ExposedHeaders : [ ${2:String(O)} ]",
+            "    Id : ${2:String(O)}",
+            "    MaxAge : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.s3action":{
+        "prefix":"aws-iot-topicrule.s3action",
+        "body":[
+            "${1:myAWSIoTTopicRule.S3Action}:",
+            "  Type: AWS::IoT::TopicRule.S3Action",
+            "  Properties:",
+            "    BucketName : ${2:String(R)}",
+            "    Key : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationoutput.lambdaoutput":{
+        "prefix":"aws-kinesisanalyticsv2-applicationoutput.lambdaoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationOutput.LambdaOutput}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.logsconfig":{
+        "prefix":"aws-codebuild-project.logsconfig",
+        "body":[
+            "${1:myAWSCodeBuildProject.LogsConfig}:",
+            "  Type: AWS::CodeBuild::Project.LogsConfig",
+            "  Properties:",
+            "    CloudWatchLogs : ${2:aws-codebuild-projectlogsconfig.CloudWatchLogsConfig(O)}",
+            "    S3Logs : ${2:aws-codebuild-projectlogsconfig.S3LogsConfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.splunkdestinationconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.splunkdestinationconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.SplunkDestinationConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration",
+            "  Properties:",
+            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    HECAcknowledgmentTimeoutInSeconds : ${2:Integer(O)}",
+            "    HECEndpoint : ${2:String(R)}",
+            "    HECEndpointType : ${2:String(R)}",
+            "    HECToken : ${2:String(R)}",
+            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.ProcessingConfiguration(O)}",
+            "    RetryOptions : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.SplunkRetryOptions(O)}",
+            "    S3BackupMode : ${2:String(O)}",
+            "    S3Configuration : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.S3DestinationConfiguration(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.execution":{
+        "prefix":"aws-greengrass-functiondefinition.execution",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.Execution}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.Execution",
+            "  Properties:",
+            "    IsolationMode : ${2:String(O)}",
+            "    RunAs : ${2:aws-greengrass-functiondefinitionexecution.RunAs(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-directoryservice-microsoftad.vpcsettings":{
+        "prefix":"aws-directoryservice-microsoftad.vpcsettings",
+        "body":[
+            "${1:myAWSDirectoryServiceMicrosoftAD.VpcSettings}:",
+            "  Type: AWS::DirectoryService::MicrosoftAD.VpcSettings",
+            "  Properties:",
+            "    SubnetIds : [ ${2:String(R)} ]",
+            "    VpcId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.relationaldatabaseconfig":{
+        "prefix":"aws-appsync-datasource.relationaldatabaseconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.RelationalDatabaseConfig}:",
+            "  Type: AWS::AppSync::DataSource.RelationalDatabaseConfig",
+            "  Properties:",
+            "    RdsHttpEndpointConfig : ${2:aws-appsync-datasourcerelationaldatabaseconfig.RdsHttpEndpointConfig(O)}",
+            "    RelationalDatabaseSourceType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-function.vpcconfig":{
+        "prefix":"aws-lambda-function.vpcconfig",
+        "body":[
+            "${1:myAWSLambdaFunction.VpcConfig}:",
+            "  Type: AWS::Lambda::Function.VpcConfig",
+            "  Properties:",
+            "    SecurityGroupIds : [ ${2:String(R)} ]",
+            "    SubnetIds : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-sqlinjectionmatchset.sqlinjectionmatchtuple":{
+        "prefix":"aws-waf-sqlinjectionmatchset.sqlinjectionmatchtuple",
+        "body":[
+            "${1:myAWSWAFSqlInjectionMatchSet.SqlInjectionMatchTuple}:",
+            "  Type: AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple",
+            "  Properties:",
+            "    FieldToMatch : ${2:aws-waf-sqlinjectionmatchsetsqlinjectionmatchtuple.FieldToMatch(R)}",
+            "    TextTransformation : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-targetgroup.targetgroupattribute":{
+        "prefix":"aws-elasticloadbalancingv2-targetgroup.targetgroupattribute",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2TargetGroup.TargetGroupAttribute}:",
+            "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute",
+            "  Properties:",
+            "    Key : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.weightedtarget":{
+        "prefix":"aws-appmesh-route.weightedtarget",
+        "body":[
+            "${1:myAWSAppMeshRoute.WeightedTarget}:",
+            "  Type: AWS::AppMesh::Route.WeightedTarget",
+            "  Properties:",
+            "    VirtualNode : ${2:String(R)}",
+            "    Weight : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-app.datasource":{
+        "prefix":"aws-opsworks-app.datasource",
+        "body":[
+            "${1:myAWSOpsWorksApp.DataSource}:",
+            "  Type: AWS::OpsWorks::App.DataSource",
+            "  Properties:",
+            "    Arn : ${2:String(O)}",
+            "    DatabaseName : ${2:String(O)}",
+            "    Type : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.destination":{
+        "prefix":"aws-s3-bucket.destination",
+        "body":[
+            "${1:myAWSS3Bucket.Destination}:",
+            "  Type: AWS::S3::Bucket.Destination",
+            "  Properties:",
+            "    BucketAccountId : ${2:String(O)}",
+            "    BucketArn : ${2:String(R)}",
+            "    Format : ${2:String(R)}",
+            "    Prefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-webacl.wafaction":{
+        "prefix":"aws-waf-webacl.wafaction",
+        "body":[
+            "${1:myAWSWAFWebACL.WafAction}:",
+            "  Type: AWS::WAF::WebACL.WafAction",
+            "  Properties:",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbsecuritygroup.ingress":{
+        "prefix":"aws-rds-dbsecuritygroup.ingress",
+        "body":[
+            "${1:myAWSRDSDBSecurityGroup.Ingress}:",
+            "  Type: AWS::RDS::DBSecurityGroup.Ingress",
+            "  Properties:",
+            "    CIDRIP : ${2:String(O)}",
+            "    EC2SecurityGroupId : ${2:String(O)}",
+            "    EC2SecurityGroupName : ${2:String(O)}",
+            "    EC2SecurityGroupOwnerId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-ipset.ipsetdescriptor":{
+        "prefix":"aws-waf-ipset.ipsetdescriptor",
+        "body":[
+            "${1:myAWSWAFIPSet.IPSetDescriptor}:",
+            "  Type: AWS::WAF::IPSet.IPSetDescriptor",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.action":{
+        "prefix":"aws-ses-receiptrule.action",
+        "body":[
+            "${1:myAWSSESReceiptRule.Action}:",
+            "  Type: AWS::SES::ReceiptRule.Action",
+            "  Properties:",
+            "    BounceAction : ${2:aws-ses-receiptruleaction.BounceAction(O)}",
+            "    S3Action : ${2:aws-ses-receiptruleaction.S3Action(O)}",
+            "    StopAction : ${2:aws-ses-receiptruleaction.StopAction(O)}",
+            "    SNSAction : ${2:aws-ses-receiptruleaction.SNSAction(O)}",
+            "    WorkmailAction : ${2:aws-ses-receiptruleaction.WorkmailAction(O)}",
+            "    AddHeaderAction : ${2:aws-ses-receiptruleaction.AddHeaderAction(O)}",
+            "    LambdaAction : ${2:aws-ses-receiptruleaction.LambdaAction(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.servicediscovery":{
+        "prefix":"aws-appmesh-virtualnode.servicediscovery",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.ServiceDiscovery}:",
+            "  Type: AWS::AppMesh::VirtualNode.ServiceDiscovery",
+            "  Properties:",
+            "    DNS : ${2:aws-appmesh-virtualnodeservicediscovery.DnsServiceDiscovery(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-deployment.methodsetting":{
+        "prefix":"aws-apigateway-deployment.methodsetting",
+        "body":[
+            "${1:myAWSApiGatewayDeployment.MethodSetting}:",
+            "  Type: AWS::ApiGateway::Deployment.MethodSetting",
+            "  Properties:",
+            "    CacheDataEncrypted : ${2:Boolean(O)}",
+            "    CacheTtlInSeconds : ${2:Integer(O)}",
+            "    CachingEnabled : ${2:Boolean(O)}",
+            "    DataTraceEnabled : ${2:Boolean(O)}",
+            "    HttpMethod : ${2:String(O)}",
+            "    LoggingLevel : ${2:String(O)}",
+            "    MetricsEnabled : ${2:Boolean(O)}",
+            "    ResourcePath : ${2:String(O)}",
+            "    ThrottlingBurstLimit : ${2:Integer(O)}",
+            "    ThrottlingRateLimit : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer.volumeconfiguration":{
+        "prefix":"aws-opsworks-layer.volumeconfiguration",
+        "body":[
+            "${1:myAWSOpsWorksLayer.VolumeConfiguration}:",
+            "  Type: AWS::OpsWorks::Layer.VolumeConfiguration",
+            "  Properties:",
+            "    Encrypted : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    MountPoint : ${2:String(O)}",
+            "    NumberOfDisks : ${2:Integer(O)}",
+            "    RaidLevel : ${2:Integer(O)}",
+            "    Size : ${2:Integer(O)}",
+            "    VolumeType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.spotprovisioningspecification":{
+        "prefix":"aws-emr-cluster.spotprovisioningspecification",
+        "body":[
+            "${1:myAWSEMRCluster.SpotProvisioningSpecification}:",
+            "  Type: AWS::EMR::Cluster.SpotProvisioningSpecification",
+            "  Properties:",
+            "    BlockDurationMinutes : ${2:Integer(O)}",
+            "    TimeoutAction : ${2:String(R)}",
+            "    TimeoutDurationMinutes : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.bootstrapactionconfig":{
+        "prefix":"aws-emr-cluster.bootstrapactionconfig",
+        "body":[
+            "${1:myAWSEMRCluster.BootstrapActionConfig}:",
+            "  Type: AWS::EMR::Cluster.BootstrapActionConfig",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    ScriptBootstrapAction : ${2:aws-emr-clusterbootstrapactionconfig.ScriptBootstrapActionConfig(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.spotprovisioningspecification":{
+        "prefix":"aws-emr-instancefleetconfig.spotprovisioningspecification",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.SpotProvisioningSpecification}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification",
+            "  Properties:",
+            "    BlockDurationMinutes : ${2:Integer(O)}",
+            "    TimeoutAction : ${2:String(R)}",
+            "    TimeoutDurationMinutes : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.launchtemplatespecification":{
+        "prefix":"aws-autoscaling-autoscalinggroup.launchtemplatespecification",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.LaunchTemplateSpecification}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification",
+            "  Properties:",
+            "    LaunchTemplateId : ${2:String(O)}",
+            "    LaunchTemplateName : ${2:String(O)}",
+            "    Version : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.containerproperties":{
+        "prefix":"aws-batch-jobdefinition.containerproperties",
+        "body":[
+            "${1:myAWSBatchJobDefinition.ContainerProperties}:",
+            "  Type: AWS::Batch::JobDefinition.ContainerProperties",
+            "  Properties:",
+            "    User : ${2:String(O)}",
+            "    Memory : ${2:Integer(R)}",
+            "    Privileged : ${2:Boolean(O)}",
+            "    JobRoleArn : ${2:String(O)}",
+            "    ReadonlyRootFilesystem : ${2:Boolean(O)}",
+            "    Vcpus : ${2:Integer(R)}",
+            "    Image : ${2:String(R)}",
+            "    MountPoints : [ ${2:aws-batch-jobdefinitioncontainerproperties.MountPoints(O)} ]",
+            "    Volumes : [ ${2:aws-batch-jobdefinitioncontainerproperties.Volumes(O)} ]",
+            "    Command : [ ${2:String(O)} ]",
+            "    Environment : [ ${2:aws-batch-jobdefinitioncontainerproperties.Environment(O)} ]",
+            "    Ulimits : [ ${2:aws-batch-jobdefinitioncontainerproperties.Ulimit(O)} ]",
+            "    InstanceType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-gamelift-fleet.ippermission":{
+        "prefix":"aws-gamelift-fleet.ippermission",
+        "body":[
+            "${1:myAWSGameLiftFleet.IpPermission}:",
+            "  Type: AWS::GameLift::Fleet.IpPermission",
+            "  Properties:",
+            "    FromPort : ${2:Integer(R)}",
+            "    IpRange : ${2:String(R)}",
+            "    Protocol : ${2:String(R)}",
+            "    ToPort : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-deliverychannel.configsnapshotdeliveryproperties":{
+        "prefix":"aws-config-deliverychannel.configsnapshotdeliveryproperties",
+        "body":[
+            "${1:myAWSConfigDeliveryChannel.ConfigSnapshotDeliveryProperties}:",
+            "  Type: AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties",
+            "  Properties:",
+            "    DeliveryFrequency : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.lambda":{
+        "prefix":"aws-iotanalytics-pipeline.lambda",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.Lambda}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.Lambda",
+            "  Properties:",
+            "    BatchSize : ${2:Integer(O)}",
+            "    Next : ${2:String(O)}",
+            "    LambdaName : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scalingpolicy.customizedmetricspecification":{
+        "prefix":"aws-autoscaling-scalingpolicy.customizedmetricspecification",
+        "body":[
+            "${1:myAWSAutoScalingScalingPolicy.CustomizedMetricSpecification}:",
+            "  Type: AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification",
+            "  Properties:",
+            "    Dimensions : [ ${2:aws-autoscaling-scalingpolicycustomizedmetricspecification.MetricDimension(O)} ]",
+            "    MetricName : ${2:String(R)}",
+            "    Namespace : ${2:String(R)}",
+            "    Statistic : ${2:String(R)}",
+            "    Unit : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.sqsaction":{
+        "prefix":"aws-iot-topicrule.sqsaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.SqsAction}:",
+            "  Type: AWS::IoT::TopicRule.SqsAction",
+            "  Properties:",
+            "    QueueUrl : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}",
+            "    UseBase64 : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener.authenticatecognitoconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listener.authenticatecognitoconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener.AuthenticateCognitoConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig",
+            "  Properties:",
+            "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
+            "    OnUnauthenticatedRequest : ${2:String(O)}",
+            "    Scope : ${2:String(O)}",
+            "    SessionCookieName : ${2:String(O)}",
+            "    SessionTimeout : ${2:Long(O)}",
+            "    UserPoolArn : ${2:String(R)}",
+            "    UserPoolClientId : ${2:String(R)}",
+            "    UserPoolDomain : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-stepfunctions-activity.tagsentry":{
+        "prefix":"aws-stepfunctions-activity.tagsentry",
+        "body":[
+            "${1:myAWSStepFunctionsActivity.TagsEntry}:",
+            "  Type: AWS::StepFunctions::Activity.TagsEntry",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.loadbalancer":{
+        "prefix":"aws-ecs-service.loadbalancer",
+        "body":[
+            "${1:myAWSECSService.LoadBalancer}:",
+            "  Type: AWS::ECS::Service.LoadBalancer",
+            "  Properties:",
+            "    ContainerName : ${2:String(O)}",
+            "    ContainerPort : ${2:Integer(R)}",
+            "    LoadBalancerName : ${2:String(O)}",
+            "    TargetGroupArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.encryptionconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.encryptionconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.EncryptionConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration",
+            "  Properties:",
+            "    KMSEncryptionConfig : ${2:aws-kinesisfirehose-deliverystreamencryptionconfiguration.KMSEncryptionConfig(O)}",
+            "    NoEncryptionConfig : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-imagebuilder.vpcconfig":{
+        "prefix":"aws-appstream-imagebuilder.vpcconfig",
+        "body":[
+            "${1:myAWSAppStreamImageBuilder.VpcConfig}:",
+            "  Type: AWS::AppStream::ImageBuilder.VpcConfig",
+            "  Properties:",
+            "    SecurityGroupIds : [ ${2:String(O)} ]",
+            "    SubnetIds : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.cloudwatchloggingoptions":{
+        "prefix":"aws-kinesisfirehose-deliverystream.cloudwatchloggingoptions",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.CloudWatchLoggingOptions}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}",
+            "    LogGroupName : ${2:String(O)}",
+            "    LogStreamName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.logconfiguration":{
+        "prefix":"aws-ecs-taskdefinition.logconfiguration",
+        "body":[
+            "${1:myAWSECSTaskDefinition.LogConfiguration}:",
+            "  Type: AWS::ECS::TaskDefinition.LogConfiguration",
+            "  Properties:",
+            "    LogDriver : ${2:String(R)}",
+            "    Options : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.putiteminput":{
+        "prefix":"aws-iot-topicrule.putiteminput",
+        "body":[
+            "${1:myAWSIoTTopicRule.PutItemInput}:",
+            "  Type: AWS::IoT::TopicRule.PutItemInput",
+            "  Properties:",
+            "    TableName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.accessloggingpolicy":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.accessloggingpolicy",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.AccessLoggingPolicy}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy",
+            "  Properties:",
+            "    EmitInterval : ${2:Integer(O)}",
+            "    Enabled : ${2:Boolean(R)}",
+            "    S3BucketName : ${2:String(R)}",
+            "    S3BucketPrefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptfilter.filter":{
+        "prefix":"aws-ses-receiptfilter.filter",
+        "body":[
+            "${1:myAWSSESReceiptFilter.Filter}:",
+            "  Type: AWS::SES::ReceiptFilter.Filter",
+            "  Properties:",
+            "    IpFilter : ${2:aws-ses-receiptfilterfilter.IpFilter(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.tagfilter":{
+        "prefix":"aws-codedeploy-deploymentgroup.tagfilter",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.TagFilter}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.TagFilter",
+            "  Properties:",
+            "    Key : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.spotfleettagspecification":{
+        "prefix":"aws-ec2-spotfleet.spotfleettagspecification",
+        "body":[
+            "${1:myAWSEC2SpotFleet.SpotFleetTagSpecification}:",
+            "  Type: AWS::EC2::SpotFleet.SpotFleetTagSpecification",
+            "  Properties:",
+            "    ResourceType : ${2:String(O)}",
+            "    Tags : [ ${2:aws-ec2-spotfleetspotfleettagspecification.Tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.privateipaddressspecification":{
+        "prefix":"aws-ec2-spotfleet.privateipaddressspecification",
+        "body":[
+            "${1:myAWSEC2SpotFleet.PrivateIpAddressSpecification}:",
+            "  Type: AWS::EC2::SpotFleet.PrivateIpAddressSpecification",
+            "  Properties:",
+            "    Primary : ${2:Boolean(O)}",
+            "    PrivateIpAddress : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.device":{
+        "prefix":"aws-ecs-taskdefinition.device",
+        "body":[
+            "${1:myAWSECSTaskDefinition.Device}:",
+            "  Type: AWS::ECS::TaskDefinition.Device",
+            "  Properties:",
+            "    ContainerPath : ${2:String(O)}",
+            "    HostPath : ${2:String(R)}",
+            "    Permissions : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener.action":{
+        "prefix":"aws-elasticloadbalancingv2-listener.action",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener.Action}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener.Action",
+            "  Properties:",
+            "    AuthenticateCognitoConfig : ${2:aws-elasticloadbalancingv2-listeneraction.AuthenticateCognitoConfig(O)}",
+            "    AuthenticateOidcConfig : ${2:aws-elasticloadbalancingv2-listeneraction.AuthenticateOidcConfig(O)}",
+            "    FixedResponseConfig : ${2:aws-elasticloadbalancingv2-listeneraction.FixedResponseConfig(O)}",
+            "    Order : ${2:Integer(O)}",
+            "    RedirectConfig : ${2:aws-elasticloadbalancingv2-listeneraction.RedirectConfig(O)}",
+            "    TargetGroupArn : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.recordformat":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.recordformat",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.RecordFormat}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat",
+            "  Properties:",
+            "    MappingParameters : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcerecordformat.MappingParameters(O)}",
+            "    RecordFormatType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-job.jobcommand":{
+        "prefix":"aws-glue-job.jobcommand",
+        "body":[
+            "${1:myAWSGlueJob.JobCommand}:",
+            "  Type: AWS::Glue::Job.JobCommand",
+            "  Properties:",
+            "    ScriptLocation : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationoutput.output":{
+        "prefix":"aws-kinesisanalytics-applicationoutput.output",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationOutput.Output}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationOutput.Output",
+            "  Properties:",
+            "    DestinationSchema : ${2:aws-kinesisanalytics-applicationoutputoutput.DestinationSchema(R)}",
+            "    LambdaOutput : ${2:aws-kinesisanalytics-applicationoutputoutput.LambdaOutput(O)}",
+            "    KinesisFirehoseOutput : ${2:aws-kinesisanalytics-applicationoutputoutput.KinesisFirehoseOutput(O)}",
+            "    KinesisStreamsOutput : ${2:aws-kinesisanalytics-applicationoutputoutput.KinesisStreamsOutput(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.instancefleetconfig":{
+        "prefix":"aws-emr-cluster.instancefleetconfig",
+        "body":[
+            "${1:myAWSEMRCluster.InstanceFleetConfig}:",
+            "  Type: AWS::EMR::Cluster.InstanceFleetConfig",
+            "  Properties:",
+            "    InstanceTypeConfigs : [ ${2:aws-emr-clusterinstancefleetconfig.InstanceTypeConfig(O)} ]",
+            "    LaunchSpecifications : ${2:aws-emr-clusterinstancefleetconfig.InstanceFleetProvisioningSpecifications(O)}",
+            "    Name : ${2:String(O)}",
+            "    TargetOnDemandCapacity : ${2:Integer(O)}",
+            "    TargetSpotCapacity : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.fleetlaunchtemplatespecificationrequest":{
+        "prefix":"aws-ec2-ec2fleet.fleetlaunchtemplatespecificationrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.FleetLaunchTemplateSpecificationRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest",
+            "  Properties:",
+            "    LaunchTemplateName : ${2:String(O)}",
+            "    Version : ${2:String(O)}",
+            "    LaunchTemplateId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.processingconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.processingconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.ProcessingConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}",
+            "    Processors : [ ${2:aws-kinesisfirehose-deliverystreamprocessingconfiguration.Processor(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.localsecondaryindex":{
+        "prefix":"aws-dynamodb-table.localsecondaryindex",
+        "body":[
+            "${1:myAWSDynamoDBTable.LocalSecondaryIndex}:",
+            "  Type: AWS::DynamoDB::Table.LocalSecondaryIndex",
+            "  Properties:",
+            "    IndexName : ${2:String(R)}",
+            "    KeySchema : [ ${2:aws-dynamodb-tablelocalsecondaryindex.KeySchema(R)} ]",
+            "    Projection : ${2:aws-dynamodb-tablelocalsecondaryindex.Projection(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.jobflowinstancesconfig":{
+        "prefix":"aws-emr-cluster.jobflowinstancesconfig",
+        "body":[
+            "${1:myAWSEMRCluster.JobFlowInstancesConfig}:",
+            "  Type: AWS::EMR::Cluster.JobFlowInstancesConfig",
+            "  Properties:",
+            "    AdditionalMasterSecurityGroups : [ ${2:String(O)} ]",
+            "    AdditionalSlaveSecurityGroups : [ ${2:String(O)} ]",
+            "    CoreInstanceFleet : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceFleetConfig(O)}",
+            "    CoreInstanceGroup : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceGroupConfig(O)}",
+            "    Ec2KeyName : ${2:String(O)}",
+            "    Ec2SubnetId : ${2:String(O)}",
+            "    EmrManagedMasterSecurityGroup : ${2:String(O)}",
+            "    EmrManagedSlaveSecurityGroup : ${2:String(O)}",
+            "    HadoopVersion : ${2:String(O)}",
+            "    KeepJobFlowAliveWhenNoSteps : ${2:Boolean(O)}",
+            "    MasterInstanceFleet : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceFleetConfig(O)}",
+            "    MasterInstanceGroup : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceGroupConfig(O)}",
+            "    Placement : ${2:aws-emr-clusterjobflowinstancesconfig.PlacementType(O)}",
+            "    ServiceAccessSecurityGroup : ${2:String(O)}",
+            "    TerminationProtected : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-vpnconnection.vpntunneloptionsspecification":{
+        "prefix":"aws-ec2-vpnconnection.vpntunneloptionsspecification",
+        "body":[
+            "${1:myAWSEC2VPNConnection.VpnTunnelOptionsSpecification}:",
+            "  Type: AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification",
+            "  Properties:",
+            "    PreSharedKey : ${2:String(O)}",
+            "    TunnelInsideCidr : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-healthcheck.healthcheckconfig":{
+        "prefix":"aws-route53-healthcheck.healthcheckconfig",
+        "body":[
+            "${1:myAWSRoute53HealthCheck.HealthCheckConfig}:",
+            "  Type: AWS::Route53::HealthCheck.HealthCheckConfig",
+            "  Properties:",
+            "    AlarmIdentifier : ${2:aws-route53-healthcheckhealthcheckconfig.AlarmIdentifier(O)}",
+            "    ChildHealthChecks : [ ${2:String(O)} ]",
+            "    EnableSNI : ${2:Boolean(O)}",
+            "    FailureThreshold : ${2:Integer(O)}",
+            "    FullyQualifiedDomainName : ${2:String(O)}",
+            "    HealthThreshold : ${2:Integer(O)}",
+            "    IPAddress : ${2:String(O)}",
+            "    InsufficientDataHealthStatus : ${2:String(O)}",
+            "    Inverted : ${2:Boolean(O)}",
+            "    MeasureLatency : ${2:Boolean(O)}",
+            "    Port : ${2:Integer(O)}",
+            "    Regions : [ ${2:String(O)} ]",
+            "    RequestInterval : ${2:Integer(O)}",
+            "    ResourcePath : ${2:String(O)}",
+            "    SearchString : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.snsaction":{
+        "prefix":"aws-iot-topicrule.snsaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.SnsAction}:",
+            "  Type: AWS::IoT::TopicRule.SnsAction",
+            "  Properties:",
+            "    MessageFormat : ${2:String(O)}",
+            "    RoleArn : ${2:String(R)}",
+            "    TargetArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-directoryservice-simplead.vpcsettings":{
+        "prefix":"aws-directoryservice-simplead.vpcsettings",
+        "body":[
+            "${1:myAWSDirectoryServiceSimpleAD.VpcSettings}:",
+            "  Type: AWS::DirectoryService::SimpleAD.VpcSettings",
+            "  Properties:",
+            "    SubnetIds : [ ${2:String(R)} ]",
+            "    VpcId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.cachebehavior":{
+        "prefix":"aws-cloudfront-distribution.cachebehavior",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.CacheBehavior}:",
+            "  Type: AWS::CloudFront::Distribution.CacheBehavior",
+            "  Properties:",
+            "    Compress : ${2:Boolean(O)}",
+            "    LambdaFunctionAssociations : [ ${2:aws-cloudfront-distributioncachebehavior.LambdaFunctionAssociation(O)} ]",
+            "    TargetOriginId : ${2:String(R)}",
+            "    ViewerProtocolPolicy : ${2:String(R)}",
+            "    TrustedSigners : [ ${2:String(O)} ]",
+            "    DefaultTTL : ${2:Double(O)}",
+            "    FieldLevelEncryptionId : ${2:String(O)}",
+            "    AllowedMethods : [ ${2:String(O)} ]",
+            "    PathPattern : ${2:String(R)}",
+            "    CachedMethods : [ ${2:String(O)} ]",
+            "    SmoothStreaming : ${2:Boolean(O)}",
+            "    ForwardedValues : ${2:aws-cloudfront-distributioncachebehavior.ForwardedValues(R)}",
+            "    MinTTL : ${2:Double(O)}",
+            "    MaxTTL : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.stepconfig":{
+        "prefix":"aws-emr-cluster.stepconfig",
+        "body":[
+            "${1:myAWSEMRCluster.StepConfig}:",
+            "  Type: AWS::EMR::Cluster.StepConfig",
+            "  Properties:",
+            "    ActionOnFailure : ${2:String(O)}",
+            "    HadoopJarStep : ${2:aws-emr-clusterstepconfig.HadoopJarStepConfig(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.blockerdeclaration":{
+        "prefix":"aws-codepipeline-pipeline.blockerdeclaration",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.BlockerDeclaration}:",
+            "  Type: AWS::CodePipeline::Pipeline.BlockerDeclaration",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-filter.findingcriteria":{
+        "prefix":"aws-guardduty-filter.findingcriteria",
+        "body":[
+            "${1:myAWSGuardDutyFilter.FindingCriteria}:",
+            "  Type: AWS::GuardDuty::Filter.FindingCriteria",
+            "  Properties:",
+            "    Criterion : ${2:Json(O)}",
+            "    ItemType : ${2:aws-guardduty-filterfindingcriteria.Condition(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain.nodetonodeencryptionoptions":{
+        "prefix":"aws-elasticsearch-domain.nodetonodeencryptionoptions",
+        "body":[
+            "${1:myAWSElasticsearchDomain.NodeToNodeEncryptionOptions}:",
+            "  Type: AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudwatch-alarm.metricstat":{
+        "prefix":"aws-cloudwatch-alarm.metricstat",
+        "body":[
+            "${1:myAWSCloudWatchAlarm.MetricStat}:",
+            "  Type: AWS::CloudWatch::Alarm.MetricStat",
+            "  Properties:",
+            "    Metric : ${2:aws-cloudwatch-alarmmetricstat.Metric(R)}",
+            "    Period : ${2:Integer(R)}",
+            "    Stat : ${2:String(R)}",
+            "    Unit : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain.elasticsearchclusterconfig":{
+        "prefix":"aws-elasticsearch-domain.elasticsearchclusterconfig",
+        "body":[
+            "${1:myAWSElasticsearchDomain.ElasticsearchClusterConfig}:",
+            "  Type: AWS::Elasticsearch::Domain.ElasticsearchClusterConfig",
+            "  Properties:",
+            "    DedicatedMasterCount : ${2:Integer(O)}",
+            "    DedicatedMasterEnabled : ${2:Boolean(O)}",
+            "    DedicatedMasterType : ${2:String(O)}",
+            "    InstanceCount : ${2:Integer(O)}",
+            "    InstanceType : ${2:String(O)}",
+            "    ZoneAwarenessEnabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-function.deadletterconfig":{
+        "prefix":"aws-lambda-function.deadletterconfig",
+        "body":[
+            "${1:myAWSLambdaFunction.DeadLetterConfig}:",
+            "  Type: AWS::Lambda::Function.DeadLetterConfig",
+            "  Properties:",
+            "    TargetArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-stepfunctions-statemachine.tagsentry":{
+        "prefix":"aws-stepfunctions-statemachine.tagsentry",
+        "body":[
+            "${1:myAWSStepFunctionsStateMachine.TagsEntry}:",
+            "  Type: AWS::StepFunctions::StateMachine.TagsEntry",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.execution":{
+        "prefix":"aws-greengrass-functiondefinitionversion.execution",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.Execution}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.Execution",
+            "  Properties:",
+            "    IsolationMode : ${2:String(O)}",
+            "    RunAs : ${2:aws-greengrass-functiondefinitionversionexecution.RunAs(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy.metricdimension":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy.metricdimension",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy.MetricDimension}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.budgetdata":{
+        "prefix":"aws-budgets-budget.budgetdata",
+        "body":[
+            "${1:myAWSBudgetsBudget.BudgetData}:",
+            "  Type: AWS::Budgets::Budget.BudgetData",
+            "  Properties:",
+            "    BudgetLimit : ${2:aws-budgets-budgetbudgetdata.Spend(O)}",
+            "    TimePeriod : ${2:aws-budgets-budgetbudgetdata.TimePeriod(O)}",
+            "    TimeUnit : ${2:String(R)}",
+            "    CostFilters : ${2:Json(O)}",
+            "    BudgetName : ${2:String(O)}",
+            "    CostTypes : ${2:aws-budgets-budgetbudgetdata.CostTypes(O)}",
+            "    BudgetType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.s3contentlocation":{
+        "prefix":"aws-kinesisanalyticsv2-application.s3contentlocation",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.S3ContentLocation}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.S3ContentLocation",
+            "  Properties:",
+            "    BucketARN : ${2:String(O)}",
+            "    FileKey : ${2:String(O)}",
+            "    ObjectVersion : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-patchbaseline.rulegroup":{
+        "prefix":"aws-ssm-patchbaseline.rulegroup",
+        "body":[
+            "${1:myAWSSSMPatchBaseline.RuleGroup}:",
+            "  Type: AWS::SSM::PatchBaseline.RuleGroup",
+            "  Properties:",
+            "    PatchRules : [ ${2:aws-ssm-patchbaselinerulegroup.Rule(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "alexa-ask-skill.authenticationconfiguration":{
+        "prefix":"alexa-ask-skill.authenticationconfiguration",
+        "body":[
+            "${1:myAlexaASKSkill.AuthenticationConfiguration}:",
+            "  Type: Alexa::ASK::Skill.AuthenticationConfiguration",
+            "  Properties:",
+            "    RefreshToken : ${2:String(R)}",
+            "    ClientSecret : ${2:String(R)}",
+            "    ClientId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-usageplan.apistage":{
+        "prefix":"aws-apigateway-usageplan.apistage",
+        "body":[
+            "${1:myAWSApiGatewayUsagePlan.ApiStage}:",
+            "  Type: AWS::ApiGateway::UsagePlan.ApiStage",
+            "  Properties:",
+            "    ApiId : ${2:String(O)}",
+            "    Stage : ${2:String(O)}",
+            "    Throttle : [ ${2:aws-apigateway-usageplanapistage.ThrottleSettings(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configurationrecorder.recordinggroup":{
+        "prefix":"aws-config-configurationrecorder.recordinggroup",
+        "body":[
+            "${1:myAWSConfigConfigurationRecorder.RecordingGroup}:",
+            "  Type: AWS::Config::ConfigurationRecorder.RecordingGroup",
+            "  Properties:",
+            "    AllSupported : ${2:Boolean(O)}",
+            "    IncludeGlobalResourceTypes : ${2:Boolean(O)}",
+            "    ResourceTypes : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dlm-lifecyclepolicy.schedule":{
+        "prefix":"aws-dlm-lifecyclepolicy.schedule",
+        "body":[
+            "${1:myAWSDLMLifecyclePolicy.Schedule}:",
+            "  Type: AWS::DLM::LifecyclePolicy.Schedule",
+            "  Properties:",
+            "    TagsToAdd : [ ${2:aws-dlm-lifecyclepolicyschedule.Tag(O)} ]",
+            "    CreateRule : ${2:aws-dlm-lifecyclepolicyschedule.CreateRule(O)}",
+            "    RetainRule : ${2:aws-dlm-lifecyclepolicyschedule.RetainRule(O)}",
+            "    Name : ${2:String(O)}",
+            "    CopyTags : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-webacl.activatedrule":{
+        "prefix":"aws-waf-webacl.activatedrule",
+        "body":[
+            "${1:myAWSWAFWebACL.ActivatedRule}:",
+            "  Type: AWS::WAF::WebACL.ActivatedRule",
+            "  Properties:",
+            "    Action : ${2:aws-waf-webaclactivatedrule.WafAction(O)}",
+            "    Priority : ${2:Integer(R)}",
+            "    RuleId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbcluster.scalingconfiguration":{
+        "prefix":"aws-rds-dbcluster.scalingconfiguration",
+        "body":[
+            "${1:myAWSRDSDBCluster.ScalingConfiguration}:",
+            "  Type: AWS::RDS::DBCluster.ScalingConfiguration",
+            "  Properties:",
+            "    AutoPause : ${2:Boolean(O)}",
+            "    MaxCapacity : ${2:Integer(O)}",
+            "    MinCapacity : ${2:Integer(O)}",
+            "    SecondsUntilAutoPause : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.tcproute":{
+        "prefix":"aws-appmesh-route.tcproute",
+        "body":[
+            "${1:myAWSAppMeshRoute.TcpRoute}:",
+            "  Type: AWS::AppMesh::Route.TcpRoute",
+            "  Properties:",
+            "    Action : ${2:aws-appmesh-routetcproute.TcpRouteAction(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-fsx-filesystem.lustreconfiguration":{
+        "prefix":"aws-fsx-filesystem.lustreconfiguration",
+        "body":[
+            "${1:myAWSFSxFileSystem.LustreConfiguration}:",
+            "  Type: AWS::FSx::FileSystem.LustreConfiguration",
+            "  Properties:",
+            "    ImportPath : ${2:String(O)}",
+            "    WeeklyMaintenanceStartTime : ${2:String(O)}",
+            "    ImportedFileChunkSize : ${2:Integer(O)}",
+            "    ExportPath : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-streamingdistribution.trustedsigners":{
+        "prefix":"aws-cloudfront-streamingdistribution.trustedsigners",
+        "body":[
+            "${1:myAWSCloudFrontStreamingDistribution.TrustedSigners}:",
+            "  Type: AWS::CloudFront::StreamingDistribution.TrustedSigners",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(R)}",
+            "    AwsAccountNumbers : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.blockdevicemapping":{
+        "prefix":"aws-ec2-launchtemplate.blockdevicemapping",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.BlockDeviceMapping}:",
+            "  Type: AWS::EC2::LaunchTemplate.BlockDeviceMapping",
+            "  Properties:",
+            "    Ebs : ${2:aws-ec2-launchtemplateblockdevicemapping.Ebs(O)}",
+            "    NoDevice : ${2:String(O)}",
+            "    VirtualName : ${2:String(O)}",
+            "    DeviceName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-application.applicationresourcelifecycleconfig":{
+        "prefix":"aws-elasticbeanstalk-application.applicationresourcelifecycleconfig",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplication.ApplicationResourceLifecycleConfig}:",
+            "  Type: AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig",
+            "  Properties:",
+            "    ServiceRole : ${2:String(O)}",
+            "    VersionLifecycleConfig : ${2:aws-elasticbeanstalk-applicationapplicationresourcelifecycleconfig.ApplicationVersionLifecycleConfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.jsonmappingparameters":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.jsonmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.JSONMappingParameters}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters",
+            "  Properties:",
+            "    RecordRowPath : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.spotoptions":{
+        "prefix":"aws-ec2-launchtemplate.spotoptions",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.SpotOptions}:",
+            "  Type: AWS::EC2::LaunchTemplate.SpotOptions",
+            "  Properties:",
+            "    SpotInstanceType : ${2:String(O)}",
+            "    InstanceInterruptionBehavior : ${2:String(O)}",
+            "    MaxPrice : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.bufferinghints":{
+        "prefix":"aws-kinesisfirehose-deliverystream.bufferinghints",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.BufferingHints}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.BufferingHints",
+            "  Properties:",
+            "    IntervalInSeconds : ${2:Integer(R)}",
+            "    SizeInMBs : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.cloudwatchloggingoption":{
+        "prefix":"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.cloudwatchloggingoption",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption",
+            "  Properties:",
+            "    LogStreamARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.outputfileurivalue":{
+        "prefix":"aws-iotanalytics-dataset.outputfileurivalue",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.OutputFileUriValue}:",
+            "  Type: AWS::IoTAnalytics::Dataset.OutputFileUriValue",
+            "  Properties:",
+            "    FileName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.accesscontroltranslation":{
+        "prefix":"aws-s3-bucket.accesscontroltranslation",
+        "body":[
+            "${1:myAWSS3Bucket.AccessControlTranslation}:",
+            "  Type: AWS::S3::Bucket.AccessControlTranslation",
+            "  Properties:",
+            "    Owner : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-coredefinitionversion.core":{
+        "prefix":"aws-greengrass-coredefinitionversion.core",
+        "body":[
+            "${1:myAWSGreengrassCoreDefinitionVersion.Core}:",
+            "  Type: AWS::Greengrass::CoreDefinitionVersion.Core",
+            "  Properties:",
+            "    SyncShadow : ${2:Boolean(O)}",
+            "    ThingArn : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    CertificateArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-robotapplication.robotsoftwaresuite":{
+        "prefix":"aws-robomaker-robotapplication.robotsoftwaresuite",
+        "body":[
+            "${1:myAWSRoboMakerRobotApplication.RobotSoftwareSuite}:",
+            "  Type: AWS::RoboMaker::RobotApplication.RobotSoftwareSuite",
+            "  Properties:",
+            "    Version : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.artifactstoremap":{
+        "prefix":"aws-codepipeline-pipeline.artifactstoremap",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.ArtifactStoreMap}:",
+            "  Type: AWS::CodePipeline::Pipeline.ArtifactStoreMap",
+            "  Properties:",
+            "    ArtifactStore : ${2:aws-codepipeline-pipelineartifactstoremap.ArtifactStore(R)}",
+            "    Region : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.resourceinstance":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.resourceinstance",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.ResourceInstance}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance",
+            "  Properties:",
+            "    ResourceDataContainer : ${2:aws-greengrass-resourcedefinitionversionresourceinstance.ResourceDataContainer(R)}",
+            "    Id : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-rule.predicate":{
+        "prefix":"aws-wafregional-rule.predicate",
+        "body":[
+            "${1:myAWSWAFRegionalRule.Predicate}:",
+            "  Type: AWS::WAFRegional::Rule.Predicate",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    DataId : ${2:String(R)}",
+            "    Negated : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-job.connectionslist":{
+        "prefix":"aws-glue-job.connectionslist",
+        "body":[
+            "${1:myAWSGlueJob.ConnectionsList}:",
+            "  Type: AWS::Glue::Job.ConnectionsList",
+            "  Properties:",
+            "    Connections : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule.authenticateoidcconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule.authenticateoidcconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule.AuthenticateOidcConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig",
+            "  Properties:",
+            "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
+            "    AuthorizationEndpoint : ${2:String(R)}",
+            "    ClientId : ${2:String(R)}",
+            "    ClientSecret : ${2:String(R)}",
+            "    Issuer : ${2:String(R)}",
+            "    OnUnauthenticatedRequest : ${2:String(O)}",
+            "    Scope : ${2:String(O)}",
+            "    SessionCookieName : ${2:String(O)}",
+            "    SessionTimeout : ${2:Long(O)}",
+            "    TokenEndpoint : ${2:String(R)}",
+            "    UserInfoEndpoint : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.spotplacement":{
+        "prefix":"aws-ec2-spotfleet.spotplacement",
+        "body":[
+            "${1:myAWSEC2SpotFleet.SpotPlacement}:",
+            "  Type: AWS::EC2::SpotFleet.SpotPlacement",
+            "  Properties:",
+            "    AvailabilityZone : ${2:String(O)}",
+            "    GroupName : ${2:String(O)}",
+            "    Tenancy : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.defaultcachebehavior":{
+        "prefix":"aws-cloudfront-distribution.defaultcachebehavior",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.DefaultCacheBehavior}:",
+            "  Type: AWS::CloudFront::Distribution.DefaultCacheBehavior",
+            "  Properties:",
+            "    Compress : ${2:Boolean(O)}",
+            "    LambdaFunctionAssociations : [ ${2:aws-cloudfront-distributiondefaultcachebehavior.LambdaFunctionAssociation(O)} ]",
+            "    TargetOriginId : ${2:String(R)}",
+            "    ViewerProtocolPolicy : ${2:String(R)}",
+            "    TrustedSigners : [ ${2:String(O)} ]",
+            "    DefaultTTL : ${2:Double(O)}",
+            "    FieldLevelEncryptionId : ${2:String(O)}",
+            "    AllowedMethods : [ ${2:String(O)} ]",
+            "    CachedMethods : [ ${2:String(O)} ]",
+            "    SmoothStreaming : ${2:Boolean(O)}",
+            "    ForwardedValues : ${2:aws-cloudfront-distributiondefaultcachebehavior.ForwardedValues(R)}",
+            "    MinTTL : ${2:Double(O)}",
+            "    MaxTTL : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.functionconfiguration":{
+        "prefix":"aws-greengrass-functiondefinition.functionconfiguration",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.FunctionConfiguration}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.FunctionConfiguration",
+            "  Properties:",
+            "    MemorySize : ${2:Integer(R)}",
+            "    Pinned : ${2:Boolean(O)}",
+            "    ExecArgs : ${2:String(O)}",
+            "    Timeout : ${2:Integer(R)}",
+            "    EncodingType : ${2:String(O)}",
+            "    Environment : ${2:aws-greengrass-functiondefinitionfunctionconfiguration.Environment(O)}",
+            "    Executable : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.variable":{
+        "prefix":"aws-iotanalytics-dataset.variable",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.Variable}:",
+            "  Type: AWS::IoTAnalytics::Dataset.Variable",
+            "  Properties:",
+            "    DatasetContentVersionValue : ${2:aws-iotanalytics-datasetvariable.DatasetContentVersionValue(O)}",
+            "    DoubleValue : ${2:Double(O)}",
+            "    OutputFileUriValue : ${2:aws-iotanalytics-datasetvariable.OutputFileUriValue(O)}",
+            "    VariableName : ${2:String(R)}",
+            "    StringValue : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.capacityreservationpreference":{
+        "prefix":"aws-ec2-launchtemplate.capacityreservationpreference",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.CapacityReservationPreference}:",
+            "  Type: AWS::EC2::LaunchTemplate.CapacityReservationPreference",
+            "  Properties:"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-customactiontype.artifactdetails":{
+        "prefix":"aws-codepipeline-customactiontype.artifactdetails",
+        "body":[
+            "${1:myAWSCodePipelineCustomActionType.ArtifactDetails}:",
+            "  Type: AWS::CodePipeline::CustomActionType.ArtifactDetails",
+            "  Properties:",
+            "    MaximumCount : ${2:Integer(R)}",
+            "    MinimumCount : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-loggerdefinitionversion.logger":{
+        "prefix":"aws-greengrass-loggerdefinitionversion.logger",
+        "body":[
+            "${1:myAWSGreengrassLoggerDefinitionVersion.Logger}:",
+            "  Type: AWS::Greengrass::LoggerDefinitionVersion.Logger",
+            "  Properties:",
+            "    Space : ${2:Integer(O)}",
+            "    Type : ${2:String(R)}",
+            "    Level : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    Component : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.versioningconfiguration":{
+        "prefix":"aws-s3-bucket.versioningconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.VersioningConfiguration}:",
+            "  Type: AWS::S3::Bucket.VersioningConfiguration",
+            "  Properties:",
+            "    Status : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.githublocation":{
+        "prefix":"aws-codedeploy-deploymentgroup.githublocation",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.GitHubLocation}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.GitHubLocation",
+            "  Properties:",
+            "    CommitId : ${2:String(R)}",
+            "    Repository : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.csvmappingparameters":{
+        "prefix":"aws-kinesisanalytics-application.csvmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.CSVMappingParameters}:",
+            "  Type: AWS::KinesisAnalytics::Application.CSVMappingParameters",
+            "  Properties:",
+            "    RecordRowDelimiter : ${2:String(R)}",
+            "    RecordColumnDelimiter : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.targetgroupinfo":{
+        "prefix":"aws-codedeploy-deploymentgroup.targetgroupinfo",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.TargetGroupInfo}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo",
+            "  Properties:",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.runas":{
+        "prefix":"aws-greengrass-functiondefinitionversion.runas",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.RunAs}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.RunAs",
+            "  Properties:",
+            "    Uid : ${2:Integer(O)}",
+            "    Gid : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkinterface.instanceipv6address":{
+        "prefix":"aws-ec2-networkinterface.instanceipv6address",
+        "body":[
+            "${1:myAWSEC2NetworkInterface.InstanceIpv6Address}:",
+            "  Type: AWS::EC2::NetworkInterface.InstanceIpv6Address",
+            "  Properties:",
+            "    Ipv6Address : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-applicationversion.sourcebundle":{
+        "prefix":"aws-elasticbeanstalk-applicationversion.sourcebundle",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplicationVersion.SourceBundle}:",
+            "  Type: AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle",
+            "  Properties:",
+            "    S3Bucket : ${2:String(R)}",
+            "    S3Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-step.keyvalue":{
+        "prefix":"aws-emr-step.keyvalue",
+        "body":[
+            "${1:myAWSEMRStep.KeyValue}:",
+            "  Type: AWS::EMR::Step.KeyValue",
+            "  Properties:",
+            "    Key : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-configurationseteventdestination.eventdestination":{
+        "prefix":"aws-ses-configurationseteventdestination.eventdestination",
+        "body":[
+            "${1:myAWSSESConfigurationSetEventDestination.EventDestination}:",
+            "  Type: AWS::SES::ConfigurationSetEventDestination.EventDestination",
+            "  Properties:",
+            "    CloudWatchDestination : ${2:aws-ses-configurationseteventdestinationeventdestination.CloudWatchDestination(O)}",
+            "    Enabled : ${2:Boolean(O)}",
+            "    MatchingEventTypes : [ ${2:String(R)} ]",
+            "    Name : ${2:String(O)}",
+            "    KinesisFirehoseDestination : ${2:aws-ses-configurationseteventdestinationeventdestination.KinesisFirehoseDestination(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.customizedscalingmetricspecification":{
+        "prefix":"aws-autoscalingplans-scalingplan.customizedscalingmetricspecification",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.CustomizedScalingMetricSpecification}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification",
+            "  Properties:",
+            "    MetricName : ${2:String(R)}",
+            "    Statistic : ${2:String(R)}",
+            "    Dimensions : [ ${2:aws-autoscalingplans-scalingplancustomizedscalingmetricspecification.MetricDimension(O)} ]",
+            "    Unit : ${2:String(O)}",
+            "    Namespace : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.filter":{
+        "prefix":"aws-iotanalytics-dataset.filter",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.Filter}:",
+            "  Type: AWS::IoTAnalytics::Dataset.Filter",
+            "  Properties:",
+            "    DeltaTime : ${2:aws-iotanalytics-datasetfilter.DeltaTime(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-hostedzone.hostedzonetag":{
+        "prefix":"aws-route53-hostedzone.hostedzonetag",
+        "body":[
+            "${1:myAWSRoute53HostedZone.HostedZoneTag}:",
+            "  Type: AWS::Route53::HostedZone.HostedZoneTag",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-simulationapplication.renderingengine":{
+        "prefix":"aws-robomaker-simulationapplication.renderingengine",
+        "body":[
+            "${1:myAWSRoboMakerSimulationApplication.RenderingEngine}:",
+            "  Type: AWS::RoboMaker::SimulationApplication.RenderingEngine",
+            "  Properties:",
+            "    Version : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-app.environmentvariable":{
+        "prefix":"aws-opsworks-app.environmentvariable",
+        "body":[
+            "${1:myAWSOpsWorksApp.EnvironmentVariable}:",
+            "  Type: AWS::OpsWorks::App.EnvironmentVariable",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Secure : ${2:Boolean(O)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-stage.canarysetting":{
+        "prefix":"aws-apigateway-stage.canarysetting",
+        "body":[
+            "${1:myAWSApiGatewayStage.CanarySetting}:",
+            "  Type: AWS::ApiGateway::Stage.CanarySetting",
+            "  Properties:",
+            "    DeploymentId : ${2:String(O)}",
+            "    PercentTraffic : ${2:Double(O)}",
+            "    StageVariableOverrides : [ ${2:String(O)} ]",
+            "    UseStageCache : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.fileaccesslog":{
+        "prefix":"aws-appmesh-virtualnode.fileaccesslog",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.FileAccessLog}:",
+            "  Type: AWS::AppMesh::VirtualNode.FileAccessLog",
+            "  Properties:",
+            "    Path : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule.authenticatecognitoconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule.authenticatecognitoconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule.AuthenticateCognitoConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig",
+            "  Properties:",
+            "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
+            "    OnUnauthenticatedRequest : ${2:String(O)}",
+            "    Scope : ${2:String(O)}",
+            "    SessionCookieName : ${2:String(O)}",
+            "    SessionTimeout : ${2:Long(O)}",
+            "    UserPoolArn : ${2:String(R)}",
+            "    UserPoolClientId : ${2:String(R)}",
+            "    UserPoolDomain : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule.fixedresponseconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule.fixedresponseconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule.FixedResponseConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig",
+            "  Properties:",
+            "    ContentType : ${2:String(O)}",
+            "    MessageBody : ${2:String(O)}",
+            "    StatusCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.notificationconfiguration":{
+        "prefix":"aws-s3-bucket.notificationconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.NotificationConfiguration}:",
+            "  Type: AWS::S3::Bucket.NotificationConfiguration",
+            "  Properties:",
+            "    LambdaConfigurations : [ ${2:aws-s3-bucketnotificationconfiguration.LambdaConfiguration(O)} ]",
+            "    QueueConfigurations : [ ${2:aws-s3-bucketnotificationconfiguration.QueueConfiguration(O)} ]",
+            "    TopicConfigurations : [ ${2:aws-s3-bucketnotificationconfiguration.TopicConfiguration(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.ebsconfiguration":{
+        "prefix":"aws-emr-instancefleetconfig.ebsconfiguration",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.EbsConfiguration}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.EbsConfiguration",
+            "  Properties:",
+            "    EbsBlockDeviceConfigs : [ ${2:aws-emr-instancefleetconfigebsconfiguration.EbsBlockDeviceConfig(O)} ]",
+            "    EbsOptimized : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-logs-metricfilter.metrictransformation":{
+        "prefix":"aws-logs-metricfilter.metrictransformation",
+        "body":[
+            "${1:myAWSLogsMetricFilter.MetricTransformation}:",
+            "  Type: AWS::Logs::MetricFilter.MetricTransformation",
+            "  Properties:",
+            "    DefaultValue : ${2:Double(O)}",
+            "    MetricName : ${2:String(R)}",
+            "    MetricNamespace : ${2:String(R)}",
+            "    MetricValue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.ebsblockdevice":{
+        "prefix":"aws-ec2-spotfleet.ebsblockdevice",
+        "body":[
+            "${1:myAWSEC2SpotFleet.EbsBlockDevice}:",
+            "  Type: AWS::EC2::SpotFleet.EbsBlockDevice",
+            "  Properties:",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    Encrypted : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    SnapshotId : ${2:String(O)}",
+            "    VolumeSize : ${2:Integer(O)}",
+            "    VolumeType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.sourceauth":{
+        "prefix":"aws-codebuild-project.sourceauth",
+        "body":[
+            "${1:myAWSCodeBuildProject.SourceAuth}:",
+            "  Type: AWS::CodeBuild::Project.SourceAuth",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Resource : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-crawler.targets":{
+        "prefix":"aws-glue-crawler.targets",
+        "body":[
+            "${1:myAWSGlueCrawler.Targets}:",
+            "  Type: AWS::Glue::Crawler.Targets",
+            "  Properties:",
+            "    S3Targets : [ ${2:aws-glue-crawlertargets.S3Target(O)} ]",
+            "    JdbcTargets : [ ${2:aws-glue-crawlertargets.JdbcTarget(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.placementstrategy":{
+        "prefix":"aws-ecs-service.placementstrategy",
+        "body":[
+            "${1:myAWSECSService.PlacementStrategy}:",
+            "  Type: AWS::ECS::Service.PlacementStrategy",
+            "  Properties:",
+            "    Field : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.restrictions":{
+        "prefix":"aws-cloudfront-distribution.restrictions",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.Restrictions}:",
+            "  Type: AWS::CloudFront::Distribution.Restrictions",
+            "  Properties:",
+            "    GeoRestriction : ${2:aws-cloudfront-distributionrestrictions.GeoRestriction(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordsetgroup.recordset":{
+        "prefix":"aws-route53-recordsetgroup.recordset",
+        "body":[
+            "${1:myAWSRoute53RecordSetGroup.RecordSet}:",
+            "  Type: AWS::Route53::RecordSetGroup.RecordSet",
+            "  Properties:",
+            "    AliasTarget : ${2:aws-route53-recordsetgrouprecordset.AliasTarget(O)}",
+            "    Comment : ${2:String(O)}",
+            "    Failover : ${2:String(O)}",
+            "    GeoLocation : ${2:aws-route53-recordsetgrouprecordset.GeoLocation(O)}",
+            "    HealthCheckId : ${2:String(O)}",
+            "    HostedZoneId : ${2:String(O)}",
+            "    HostedZoneName : ${2:String(O)}",
+            "    MultiValueAnswer : ${2:Boolean(O)}",
+            "    Name : ${2:String(R)}",
+            "    Region : ${2:String(O)}",
+            "    ResourceRecords : [ ${2:String(O)} ]",
+            "    SetIdentifier : ${2:String(O)}",
+            "    TTL : ${2:String(O)}",
+            "    Type : ${2:String(R)}",
+            "    Weight : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-computeenvironment.computeresources":{
+        "prefix":"aws-batch-computeenvironment.computeresources",
+        "body":[
+            "${1:myAWSBatchComputeEnvironment.ComputeResources}:",
+            "  Type: AWS::Batch::ComputeEnvironment.ComputeResources",
+            "  Properties:",
+            "    SpotIamFleetRole : ${2:String(O)}",
+            "    MaxvCpus : ${2:Integer(R)}",
+            "    BidPercentage : ${2:Integer(O)}",
+            "    SecurityGroupIds : [ ${2:String(R)} ]",
+            "    Subnets : [ ${2:String(R)} ]",
+            "    Type : ${2:String(R)}",
+            "    MinvCpus : ${2:Integer(R)}",
+            "    LaunchTemplate : ${2:aws-batch-computeenvironmentcomputeresources.LaunchTemplateSpecification(O)}",
+            "    ImageId : ${2:String(O)}",
+            "    InstanceRole : ${2:String(R)}",
+            "    InstanceTypes : [ ${2:String(R)} ]",
+            "    Ec2KeyPair : ${2:String(O)}",
+            "    PlacementGroup : ${2:String(O)}",
+            "    Tags : ${2:Json(O)}",
+            "    DesiredvCpus : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.sagemakermachinelearningmodelresourcedata":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.sagemakermachinelearningmodelresourcedata",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.SageMakerMachineLearningModelResourceData}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData",
+            "  Properties:",
+            "    DestinationPath : ${2:String(R)}",
+            "    SageMakerJobArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule.action":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule.action",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule.Action}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.Action",
+            "  Properties:",
+            "    AuthenticateCognitoConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.AuthenticateCognitoConfig(O)}",
+            "    AuthenticateOidcConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.AuthenticateOidcConfig(O)}",
+            "    FixedResponseConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.FixedResponseConfig(O)}",
+            "    Order : ${2:Integer(O)}",
+            "    RedirectConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.RedirectConfig(O)}",
+            "    TargetGroupArn : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.loadbalancersconfig":{
+        "prefix":"aws-ec2-spotfleet.loadbalancersconfig",
+        "body":[
+            "${1:myAWSEC2SpotFleet.LoadBalancersConfig}:",
+            "  Type: AWS::EC2::SpotFleet.LoadBalancersConfig",
+            "  Properties:",
+            "    ClassicLoadBalancersConfig : ${2:aws-ec2-spotfleetloadbalancersconfig.ClassicLoadBalancersConfig(O)}",
+            "    TargetGroupsConfig : ${2:aws-ec2-spotfleetloadbalancersconfig.TargetGroupsConfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.processorparameter":{
+        "prefix":"aws-kinesisfirehose-deliverystream.processorparameter",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.ProcessorParameter}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.ProcessorParameter",
+            "  Properties:",
+            "    ParameterName : ${2:String(R)}",
+            "    ParameterValue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-apikey.stagekey":{
+        "prefix":"aws-apigateway-apikey.stagekey",
+        "body":[
+            "${1:myAWSApiGatewayApiKey.StageKey}:",
+            "  Type: AWS::ApiGateway::ApiKey.StageKey",
+            "  Properties:",
+            "    RestApiId : ${2:String(O)}",
+            "    StageName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.serversideencryptionbydefault":{
+        "prefix":"aws-s3-bucket.serversideencryptionbydefault",
+        "body":[
+            "${1:myAWSS3Bucket.ServerSideEncryptionByDefault}:",
+            "  Type: AWS::S3::Bucket.ServerSideEncryptionByDefault",
+            "  Properties:",
+            "    KMSMasterKeyID : ${2:String(O)}",
+            "    SSEAlgorithm : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.ebsblockdeviceconfig":{
+        "prefix":"aws-emr-cluster.ebsblockdeviceconfig",
+        "body":[
+            "${1:myAWSEMRCluster.EbsBlockDeviceConfig}:",
+            "  Type: AWS::EMR::Cluster.EbsBlockDeviceConfig",
+            "  Properties:",
+            "    VolumeSpecification : ${2:aws-emr-clusterebsblockdeviceconfig.VolumeSpecification(R)}",
+            "    VolumesPerInstance : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.elbinfo":{
+        "prefix":"aws-codedeploy-deploymentgroup.elbinfo",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.ELBInfo}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.ELBInfo",
+            "  Properties:",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-mesh.tagref":{
+        "prefix":"aws-appmesh-mesh.tagref",
+        "body":[
+            "${1:myAWSAppMeshMesh.TagRef}:",
+            "  Type: AWS::AppMesh::Mesh.TagRef",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.runcommandtarget":{
+        "prefix":"aws-events-rule.runcommandtarget",
+        "body":[
+            "${1:myAWSEventsRule.RunCommandTarget}:",
+            "  Type: AWS::Events::Rule.RunCommandTarget",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Values : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-stack.applicationsettings":{
+        "prefix":"aws-appstream-stack.applicationsettings",
+        "body":[
+            "${1:myAWSAppStreamStack.ApplicationSettings}:",
+            "  Type: AWS::AppStream::Stack.ApplicationSettings",
+            "  Properties:",
+            "    SettingsGroup : ${2:String(O)}",
+            "    Enabled : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-deployment.stagedescription":{
+        "prefix":"aws-apigateway-deployment.stagedescription",
+        "body":[
+            "${1:myAWSApiGatewayDeployment.StageDescription}:",
+            "  Type: AWS::ApiGateway::Deployment.StageDescription",
+            "  Properties:",
+            "    AccessLogSetting : ${2:aws-apigateway-deploymentstagedescription.AccessLogSetting(O)}",
+            "    CacheClusterEnabled : ${2:Boolean(O)}",
+            "    CacheClusterSize : ${2:String(O)}",
+            "    CacheDataEncrypted : ${2:Boolean(O)}",
+            "    CacheTtlInSeconds : ${2:Integer(O)}",
+            "    CachingEnabled : ${2:Boolean(O)}",
+            "    CanarySetting : ${2:aws-apigateway-deploymentstagedescription.CanarySetting(O)}",
+            "    ClientCertificateId : ${2:String(O)}",
+            "    DataTraceEnabled : ${2:Boolean(O)}",
+            "    Description : ${2:String(O)}",
+            "    DocumentationVersion : ${2:String(O)}",
+            "    LoggingLevel : ${2:String(O)}",
+            "    MethodSettings : [ ${2:aws-apigateway-deploymentstagedescription.MethodSetting(O)} ]",
+            "    MetricsEnabled : ${2:Boolean(O)}",
+            "    Tags : [ ${2:aws-apigateway-deploymentstagedescription.Tag(O)} ]",
+            "    ThrottlingBurstLimit : ${2:Integer(O)}",
+            "    ThrottlingRateLimit : ${2:Double(O)}",
+            "    TracingEnabled : ${2:Boolean(O)}",
+            "    Variables : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.fleetlaunchtemplatespecification":{
+        "prefix":"aws-ec2-spotfleet.fleetlaunchtemplatespecification",
+        "body":[
+            "${1:myAWSEC2SpotFleet.FleetLaunchTemplateSpecification}:",
+            "  Type: AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification",
+            "  Properties:",
+            "    LaunchTemplateId : ${2:String(O)}",
+            "    LaunchTemplateName : ${2:String(O)}",
+            "    Version : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.redirectallrequeststo":{
+        "prefix":"aws-s3-bucket.redirectallrequeststo",
+        "body":[
+            "${1:myAWSS3Bucket.RedirectAllRequestsTo}:",
+            "  Type: AWS::S3::Bucket.RedirectAllRequestsTo",
+            "  Properties:",
+            "    HostName : ${2:String(R)}",
+            "    Protocol : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-xssmatchset.xssmatchtuple":{
+        "prefix":"aws-waf-xssmatchset.xssmatchtuple",
+        "body":[
+            "${1:myAWSWAFXssMatchSet.XssMatchTuple}:",
+            "  Type: AWS::WAF::XssMatchSet.XssMatchTuple",
+            "  Properties:",
+            "    FieldToMatch : ${2:aws-waf-xssmatchsetxssmatchtuple.FieldToMatch(R)}",
+            "    TextTransformation : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.selectattributes":{
+        "prefix":"aws-iotanalytics-pipeline.selectattributes",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.SelectAttributes}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.SelectAttributes",
+            "  Properties:",
+            "    Next : ${2:String(O)}",
+            "    Attributes : [ ${2:String(O)} ]",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-secretsmanager-rotationschedule.rotationrules":{
+        "prefix":"aws-secretsmanager-rotationschedule.rotationrules",
+        "body":[
+            "${1:myAWSSecretsManagerRotationSchedule.RotationRules}:",
+            "  Type: AWS::SecretsManager::RotationSchedule.RotationRules",
+            "  Properties:",
+            "    AutomaticallyAfterDays : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.environment":{
+        "prefix":"aws-codebuild-project.environment",
+        "body":[
+            "${1:myAWSCodeBuildProject.Environment}:",
+            "  Type: AWS::CodeBuild::Project.Environment",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    EnvironmentVariables : [ ${2:aws-codebuild-projectenvironment.EnvironmentVariable(O)} ]",
+            "    PrivilegedMode : ${2:Boolean(O)}",
+            "    ImagePullCredentialsType : ${2:String(O)}",
+            "    Image : ${2:String(R)}",
+            "    RegistryCredential : ${2:aws-codebuild-projectenvironment.RegistryCredential(O)}",
+            "    ComputeType : ${2:String(R)}",
+            "    Certificate : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.s3keyfilter":{
+        "prefix":"aws-s3-bucket.s3keyfilter",
+        "body":[
+            "${1:myAWSS3Bucket.S3KeyFilter}:",
+            "  Type: AWS::S3::Bucket.S3KeyFilter",
+            "  Properties:",
+            "    Rules : [ ${2:aws-s3-buckets3keyfilter.FilterRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-fleet.domainjoininfo":{
+        "prefix":"aws-appstream-fleet.domainjoininfo",
+        "body":[
+            "${1:myAWSAppStreamFleet.DomainJoinInfo}:",
+            "  Type: AWS::AppStream::Fleet.DomainJoinInfo",
+            "  Properties:",
+            "    OrganizationalUnitDistinguishedName : ${2:String(O)}",
+            "    DirectoryName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-template.template":{
+        "prefix":"aws-ses-template.template",
+        "body":[
+            "${1:myAWSSESTemplate.Template}:",
+            "  Type: AWS::SES::Template.Template",
+            "  Properties:",
+            "    HtmlPart : ${2:String(O)}",
+            "    TextPart : ${2:String(O)}",
+            "    TemplateName : ${2:String(O)}",
+            "    SubjectPart : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.lbcookiestickinesspolicy":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.lbcookiestickinesspolicy",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.LBCookieStickinessPolicy}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy",
+            "  Properties:",
+            "    CookieExpirationPeriod : ${2:String(O)}",
+            "    PolicyName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.volume":{
+        "prefix":"aws-ec2-instance.volume",
+        "body":[
+            "${1:myAWSEC2Instance.Volume}:",
+            "  Type: AWS::EC2::Instance.Volume",
+            "  Properties:",
+            "    Device : ${2:String(R)}",
+            "    VolumeId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkaclentry.portrange":{
+        "prefix":"aws-ec2-networkaclentry.portrange",
+        "body":[
+            "${1:myAWSEC2NetworkAclEntry.PortRange}:",
+            "  Type: AWS::EC2::NetworkAclEntry.PortRange",
+            "  Properties:",
+            "    From : ${2:Integer(O)}",
+            "    To : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-connection.connectioninput":{
+        "prefix":"aws-glue-connection.connectioninput",
+        "body":[
+            "${1:myAWSGlueConnection.ConnectionInput}:",
+            "  Type: AWS::Glue::Connection.ConnectionInput",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    ConnectionType : ${2:String(R)}",
+            "    MatchCriteria : [ ${2:String(O)} ]",
+            "    PhysicalConnectionRequirements : ${2:aws-glue-connectionconnectioninput.PhysicalConnectionRequirements(O)}",
+            "    ConnectionProperties : ${2:Json(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.origin":{
+        "prefix":"aws-cloudfront-distribution.origin",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.Origin}:",
+            "  Type: AWS::CloudFront::Distribution.Origin",
+            "  Properties:",
+            "    OriginCustomHeaders : [ ${2:aws-cloudfront-distributionorigin.OriginCustomHeader(O)} ]",
+            "    DomainName : ${2:String(R)}",
+            "    S3OriginConfig : ${2:aws-cloudfront-distributionorigin.S3OriginConfig(O)}",
+            "    OriginPath : ${2:String(O)}",
+            "    Id : ${2:String(R)}",
+            "    CustomOriginConfig : ${2:aws-cloudfront-distributionorigin.CustomOriginConfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-hostedzone.hostedzoneconfig":{
+        "prefix":"aws-route53-hostedzone.hostedzoneconfig",
+        "body":[
+            "${1:myAWSRoute53HostedZone.HostedZoneConfig}:",
+            "  Type: AWS::Route53::HostedZone.HostedZoneConfig",
+            "  Properties:",
+            "    Comment : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.inputtransformer":{
+        "prefix":"aws-events-rule.inputtransformer",
+        "body":[
+            "${1:myAWSEventsRule.InputTransformer}:",
+            "  Type: AWS::Events::Rule.InputTransformer",
+            "  Properties:",
+            "    InputPathsMap : [ ${2:String(O)} ]",
+            "    InputTemplate : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.firehoseaction":{
+        "prefix":"aws-iot-topicrule.firehoseaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.FirehoseAction}:",
+            "  Type: AWS::IoT::TopicRule.FirehoseAction",
+            "  Properties:",
+            "    DeliveryStreamName : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}",
+            "    Separator : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.logginginfo":{
+        "prefix":"aws-ssm-maintenancewindowtask.logginginfo",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.LoggingInfo}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.LoggingInfo",
+            "  Properties:",
+            "    S3Bucket : ${2:String(R)}",
+            "    Region : ${2:String(R)}",
+            "    S3Prefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.inventoryconfiguration":{
+        "prefix":"aws-s3-bucket.inventoryconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.InventoryConfiguration}:",
+            "  Type: AWS::S3::Bucket.InventoryConfiguration",
+            "  Properties:",
+            "    Destination : ${2:aws-s3-bucketinventoryconfiguration.Destination(R)}",
+            "    Enabled : ${2:Boolean(R)}",
+            "    Id : ${2:String(R)}",
+            "    IncludedObjectVersions : ${2:String(R)}",
+            "    OptionalFields : [ ${2:String(O)} ]",
+            "    Prefix : ${2:String(O)}",
+            "    ScheduleFrequency : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-workspaces-workspace.workspaceproperties":{
+        "prefix":"aws-workspaces-workspace.workspaceproperties",
+        "body":[
+            "${1:myAWSWorkSpacesWorkspace.WorkspaceProperties}:",
+            "  Type: AWS::WorkSpaces::Workspace.WorkspaceProperties",
+            "  Properties:",
+            "    ComputeTypeName : ${2:String(O)}",
+            "    RootVolumeSizeGib : ${2:Integer(O)}",
+            "    RunningMode : ${2:String(O)}",
+            "    RunningModeAutoStopTimeoutInMinutes : ${2:Integer(O)}",
+            "    UserVolumeSizeGib : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.environment":{
+        "prefix":"aws-greengrass-functiondefinition.environment",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.Environment}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.Environment",
+            "  Properties:",
+            "    Variables : ${2:Json(O)}",
+            "    Execution : ${2:aws-greengrass-functiondefinitionenvironment.Execution(O)}",
+            "    ResourceAccessPolicies : [ ${2:aws-greengrass-functiondefinitionenvironment.ResourceAccessPolicy(O)} ]",
+            "    AccessSysfs : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.volumefrom":{
+        "prefix":"aws-ecs-taskdefinition.volumefrom",
+        "body":[
+            "${1:myAWSECSTaskDefinition.VolumeFrom}:",
+            "  Type: AWS::ECS::TaskDefinition.VolumeFrom",
+            "  Properties:",
+            "    ReadOnly : ${2:Boolean(O)}",
+            "    SourceContainer : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.deltatime":{
+        "prefix":"aws-iotanalytics-dataset.deltatime",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.DeltaTime}:",
+            "  Type: AWS::IoTAnalytics::Dataset.DeltaTime",
+            "  Properties:",
+            "    TimeExpression : ${2:String(R)}",
+            "    OffsetSeconds : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-endpoint.mongodbsettings":{
+        "prefix":"aws-dms-endpoint.mongodbsettings",
+        "body":[
+            "${1:myAWSDMSEndpoint.MongoDbSettings}:",
+            "  Type: AWS::DMS::Endpoint.MongoDbSettings",
+            "  Properties:",
+            "    AuthSource : ${2:String(O)}",
+            "    AuthMechanism : ${2:String(O)}",
+            "    Username : ${2:String(O)}",
+            "    DocsToInvestigate : ${2:String(O)}",
+            "    ServerName : ${2:String(O)}",
+            "    Port : ${2:Integer(O)}",
+            "    ExtractDocId : ${2:String(O)}",
+            "    DatabaseName : ${2:String(O)}",
+            "    AuthType : ${2:String(O)}",
+            "    Password : ${2:String(O)}",
+            "    NestingLevel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.target":{
+        "prefix":"aws-ssm-maintenancewindowtask.target",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.Target}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.Target",
+            "  Properties:",
+            "    Values : [ ${2:String(O)} ]",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-directoryconfig.serviceaccountcredentials":{
+        "prefix":"aws-appstream-directoryconfig.serviceaccountcredentials",
+        "body":[
+            "${1:myAWSAppStreamDirectoryConfig.ServiceAccountCredentials}:",
+            "  Type: AWS::AppStream::DirectoryConfig.ServiceAccountCredentials",
+            "  Properties:",
+            "    AccountName : ${2:String(R)}",
+            "    AccountPassword : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sns-topic.subscription":{
+        "prefix":"aws-sns-topic.subscription",
+        "body":[
+            "${1:myAWSSNSTopic.Subscription}:",
+            "  Type: AWS::SNS::Topic.Subscription",
+            "  Properties:",
+            "    Endpoint : ${2:String(R)}",
+            "    Protocol : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.propertygroup":{
+        "prefix":"aws-kinesisanalyticsv2-application.propertygroup",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.PropertyGroup}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.PropertyGroup",
+            "  Properties:",
+            "    PropertyMap : ${2:Json(O)}",
+            "    PropertyGroupId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.onpremisestagsetlistobject":{
+        "prefix":"aws-codedeploy-deploymentgroup.onpremisestagsetlistobject",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.OnPremisesTagSetListObject}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject",
+            "  Properties:",
+            "    OnPremisesTagGroup : [ ${2:aws-codedeploy-deploymentgrouponpremisestagsetlistobject.TagFilter(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.replicationconfiguration":{
+        "prefix":"aws-s3-bucket.replicationconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.ReplicationConfiguration}:",
+            "  Type: AWS::S3::Bucket.ReplicationConfiguration",
+            "  Properties:",
+            "    Role : ${2:String(R)}",
+            "    Rules : [ ${2:aws-s3-bucketreplicationconfiguration.ReplicationRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.input":{
+        "prefix":"aws-kinesisanalytics-application.input",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.Input}:",
+            "  Type: AWS::KinesisAnalytics::Application.Input",
+            "  Properties:",
+            "    NamePrefix : ${2:String(R)}",
+            "    InputSchema : ${2:aws-kinesisanalytics-applicationinput.InputSchema(R)}",
+            "    KinesisStreamsInput : ${2:aws-kinesisanalytics-applicationinput.KinesisStreamsInput(O)}",
+            "    KinesisFirehoseInput : ${2:aws-kinesisanalytics-applicationinput.KinesisFirehoseInput(O)}",
+            "    InputProcessingConfiguration : ${2:aws-kinesisanalytics-applicationinput.InputProcessingConfiguration(O)}",
+            "    InputParallelism : ${2:aws-kinesisanalytics-applicationinput.InputParallelism(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.inputschema":{
+        "prefix":"aws-kinesisanalytics-application.inputschema",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.InputSchema}:",
+            "  Type: AWS::KinesisAnalytics::Application.InputSchema",
+            "  Properties:",
+            "    RecordEncoding : ${2:String(O)}",
+            "    RecordColumns : [ ${2:aws-kinesisanalytics-applicationinputschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${2:aws-kinesisanalytics-applicationinputschema.RecordFormat(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.awsiamconfig":{
+        "prefix":"aws-appsync-datasource.awsiamconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.AwsIamConfig}:",
+            "  Type: AWS::AppSync::DataSource.AwsIamConfig",
+            "  Properties:",
+            "    SigningRegion : ${2:String(O)}",
+            "    SigningServiceName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.kinesisstreamsinput":{
+        "prefix":"aws-kinesisanalyticsv2-application.kinesisstreamsinput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.KinesisStreamsInput}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-dbinstance.processorfeature":{
+        "prefix":"aws-rds-dbinstance.processorfeature",
+        "body":[
+            "${1:myAWSRDSDBInstance.ProcessorFeature}:",
+            "  Type: AWS::RDS::DBInstance.ProcessorFeature",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.ssekmsencryptedobjects":{
+        "prefix":"aws-s3-bucket.ssekmsencryptedobjects",
+        "body":[
+            "${1:myAWSS3Bucket.SseKmsEncryptedObjects}:",
+            "  Type: AWS::S3::Bucket.SseKmsEncryptedObjects",
+            "  Properties:",
+            "    Status : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy.predefinedmetricspecification":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy.predefinedmetricspecification",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy.PredefinedMetricSpecification}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification",
+            "  Properties:",
+            "    PredefinedMetricType : ${2:String(R)}",
+            "    ResourceLabel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.hostentry":{
+        "prefix":"aws-ecs-taskdefinition.hostentry",
+        "body":[
+            "${1:myAWSECSTaskDefinition.HostEntry}:",
+            "  Type: AWS::ECS::TaskDefinition.HostEntry",
+            "  Properties:",
+            "    Hostname : ${2:String(R)}",
+            "    IpAddress : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.emailconfiguration":{
+        "prefix":"aws-cognito-userpool.emailconfiguration",
+        "body":[
+            "${1:myAWSCognitoUserPool.EmailConfiguration}:",
+            "  Type: AWS::Cognito::UserPool.EmailConfiguration",
+            "  Properties:",
+            "    ReplyToEmailAddress : ${2:String(O)}",
+            "    SourceArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.queueconfiguration":{
+        "prefix":"aws-s3-bucket.queueconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.QueueConfiguration}:",
+            "  Type: AWS::S3::Bucket.QueueConfiguration",
+            "  Properties:",
+            "    Event : ${2:String(R)}",
+            "    Filter : ${2:aws-s3-bucketqueueconfiguration.NotificationFilter(O)}",
+            "    Queue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.scalingaction":{
+        "prefix":"aws-emr-instancegroupconfig.scalingaction",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.ScalingAction}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.ScalingAction",
+            "  Properties:",
+            "    Market : ${2:String(O)}",
+            "    SimpleScalingPolicyConfiguration : ${2:aws-emr-instancegroupconfigscalingaction.SimpleScalingPolicyConfiguration(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.listeners":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.listeners",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.Listeners}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.Listeners",
+            "  Properties:",
+            "    InstancePort : ${2:String(R)}",
+            "    InstanceProtocol : ${2:String(O)}",
+            "    LoadBalancerPort : ${2:String(R)}",
+            "    PolicyNames : [ ${2:String(O)} ]",
+            "    Protocol : ${2:String(R)}",
+            "    SSLCertificateId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-webhook.webhookfilterrule":{
+        "prefix":"aws-codepipeline-webhook.webhookfilterrule",
+        "body":[
+            "${1:myAWSCodePipelineWebhook.WebhookFilterRule}:",
+            "  Type: AWS::CodePipeline::Webhook.WebhookFilterRule",
+            "  Properties:",
+            "    JsonPath : ${2:String(R)}",
+            "    MatchEquals : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.scalingtrigger":{
+        "prefix":"aws-emr-instancegroupconfig.scalingtrigger",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.ScalingTrigger}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.ScalingTrigger",
+            "  Properties:",
+            "    CloudWatchAlarmDefinition : ${2:aws-emr-instancegroupconfigscalingtrigger.CloudWatchAlarmDefinition(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-broker.maintenancewindow":{
+        "prefix":"aws-amazonmq-broker.maintenancewindow",
+        "body":[
+            "${1:myAWSAmazonMQBroker.MaintenanceWindow}:",
+            "  Type: AWS::AmazonMQ::Broker.MaintenanceWindow",
+            "  Properties:",
+            "    DayOfWeek : ${2:String(R)}",
+            "    TimeOfDay : ${2:String(R)}",
+            "    TimeZone : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-connection.physicalconnectionrequirements":{
+        "prefix":"aws-glue-connection.physicalconnectionrequirements",
+        "body":[
+            "${1:myAWSGlueConnection.PhysicalConnectionRequirements}:",
+            "  Type: AWS::Glue::Connection.PhysicalConnectionRequirements",
+            "  Properties:",
+            "    AvailabilityZone : ${2:String(O)}",
+            "    SecurityGroupIdList : [ ${2:String(O)} ]",
+            "    SubnetId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-loadbalancer.loadbalancerattribute":{
+        "prefix":"aws-elasticloadbalancingv2-loadbalancer.loadbalancerattribute",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2LoadBalancer.LoadBalancerAttribute}:",
+            "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute",
+            "  Properties:",
+            "    Key : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.targetgroup":{
+        "prefix":"aws-ec2-spotfleet.targetgroup",
+        "body":[
+            "${1:myAWSEC2SpotFleet.TargetGroup}:",
+            "  Type: AWS::EC2::SpotFleet.TargetGroup",
+            "  Properties:",
+            "    Arn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.elasticgpuspecification":{
+        "prefix":"aws-ec2-launchtemplate.elasticgpuspecification",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.ElasticGpuSpecification}:",
+            "  Type: AWS::EC2::LaunchTemplate.ElasticGpuSpecification",
+            "  Properties:",
+            "    Type : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.ondemandoptionsrequest":{
+        "prefix":"aws-ec2-ec2fleet.ondemandoptionsrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.OnDemandOptionsRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.OnDemandOptionsRequest",
+            "  Properties:",
+            "    AllocationStrategy : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.taskdefinitionplacementconstraint":{
+        "prefix":"aws-ecs-taskdefinition.taskdefinitionplacementconstraint",
+        "body":[
+            "${1:myAWSECSTaskDefinition.TaskDefinitionPlacementConstraint}:",
+            "  Type: AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint",
+            "  Properties:",
+            "    Expression : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.recordformat":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.recordformat",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.RecordFormat}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat",
+            "  Properties:",
+            "    MappingParameters : ${2:aws-kinesisanalytics-applicationreferencedatasourcerecordformat.MappingParameters(O)}",
+            "    RecordFormatType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-crawler.jdbctarget":{
+        "prefix":"aws-glue-crawler.jdbctarget",
+        "body":[
+            "${1:myAWSGlueCrawler.JdbcTarget}:",
+            "  Type: AWS::Glue::Crawler.JdbcTarget",
+            "  Properties:",
+            "    ConnectionName : ${2:String(O)}",
+            "    Path : ${2:String(O)}",
+            "    Exclusions : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkinterface.privateipaddressspecification":{
+        "prefix":"aws-ec2-networkinterface.privateipaddressspecification",
+        "body":[
+            "${1:myAWSEC2NetworkInterface.PrivateIpAddressSpecification}:",
+            "  Type: AWS::EC2::NetworkInterface.PrivateIpAddressSpecification",
+            "  Properties:",
+            "    Primary : ${2:Boolean(R)}",
+            "    PrivateIpAddress : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.gitsubmodulesconfig":{
+        "prefix":"aws-codebuild-project.gitsubmodulesconfig",
+        "body":[
+            "${1:myAWSCodeBuildProject.GitSubmodulesConfig}:",
+            "  Type: AWS::CodeBuild::Project.GitSubmodulesConfig",
+            "  Properties:",
+            "    FetchSubmodules : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.lambdaaction":{
+        "prefix":"aws-iot-topicrule.lambdaaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.LambdaAction}:",
+            "  Type: AWS::IoT::TopicRule.LambdaAction",
+            "  Properties:",
+            "    FunctionArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.functiondefinitionversion":{
+        "prefix":"aws-greengrass-functiondefinition.functiondefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.FunctionDefinitionVersion}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion",
+            "  Properties:",
+            "    DefaultConfig : ${2:aws-greengrass-functiondefinitionfunctiondefinitionversion.DefaultConfig(O)}",
+            "    Functions : [ ${2:aws-greengrass-functiondefinitionfunctiondefinitionversion.Function(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.mappingparameters":{
+        "prefix":"aws-kinesisanalyticsv2-application.mappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.MappingParameters}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.MappingParameters",
+            "  Properties:",
+            "    JSONMappingParameters : ${2:aws-kinesisanalyticsv2-applicationmappingparameters.JSONMappingParameters(O)}",
+            "    CSVMappingParameters : ${2:aws-kinesisanalyticsv2-applicationmappingparameters.CSVMappingParameters(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.deploymentconfiguration":{
+        "prefix":"aws-ecs-service.deploymentconfiguration",
+        "body":[
+            "${1:myAWSECSService.DeploymentConfiguration}:",
+            "  Type: AWS::ECS::Service.DeploymentConfiguration",
+            "  Properties:",
+            "    MaximumPercent : ${2:Integer(O)}",
+            "    MinimumHealthyPercent : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.mountpoints":{
+        "prefix":"aws-batch-jobdefinition.mountpoints",
+        "body":[
+            "${1:myAWSBatchJobDefinition.MountPoints}:",
+            "  Type: AWS::Batch::JobDefinition.MountPoints",
+            "  Properties:",
+            "    ReadOnly : ${2:Boolean(O)}",
+            "    SourceVolume : ${2:String(O)}",
+            "    ContainerPath : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.deploymentstyle":{
+        "prefix":"aws-codedeploy-deploymentgroup.deploymentstyle",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.DeploymentStyle}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.DeploymentStyle",
+            "  Properties:",
+            "    DeploymentOption : ${2:String(O)}",
+            "    DeploymentType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.admincreateuserconfig":{
+        "prefix":"aws-cognito-userpool.admincreateuserconfig",
+        "body":[
+            "${1:myAWSCognitoUserPool.AdminCreateUserConfig}:",
+            "  Type: AWS::Cognito::UserPool.AdminCreateUserConfig",
+            "  Properties:",
+            "    InviteMessageTemplate : ${2:aws-cognito-userpooladmincreateuserconfig.InviteMessageTemplate(O)}",
+            "    UnusedAccountValidityDays : ${2:Double(O)}",
+            "    AllowAdminCreateUserOnly : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.ebs":{
+        "prefix":"aws-ec2-instance.ebs",
+        "body":[
+            "${1:myAWSEC2Instance.Ebs}:",
+            "  Type: AWS::EC2::Instance.Ebs",
+            "  Properties:",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    Encrypted : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    SnapshotId : ${2:String(O)}",
+            "    VolumeSize : ${2:Integer(O)}",
+            "    VolumeType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-deployment.canarysetting":{
+        "prefix":"aws-apigateway-deployment.canarysetting",
+        "body":[
+            "${1:myAWSApiGatewayDeployment.CanarySetting}:",
+            "  Type: AWS::ApiGateway::Deployment.CanarySetting",
+            "  Properties:",
+            "    PercentTraffic : ${2:Double(O)}",
+            "    StageVariableOverrides : [ ${2:String(O)} ]",
+            "    UseStageCache : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.schemaattribute":{
+        "prefix":"aws-cognito-userpool.schemaattribute",
+        "body":[
+            "${1:myAWSCognitoUserPool.SchemaAttribute}:",
+            "  Type: AWS::Cognito::UserPool.SchemaAttribute",
+            "  Properties:",
+            "    DeveloperOnlyAttribute : ${2:Boolean(O)}",
+            "    Mutable : ${2:Boolean(O)}",
+            "    AttributeDataType : ${2:String(O)}",
+            "    StringAttributeConstraints : ${2:aws-cognito-userpoolschemaattribute.StringAttributeConstraints(O)}",
+            "    Required : ${2:Boolean(O)}",
+            "    NumberAttributeConstraints : ${2:aws-cognito-userpoolschemaattribute.NumberAttributeConstraints(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.alarm":{
+        "prefix":"aws-codedeploy-deploymentgroup.alarm",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.Alarm}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.Alarm",
+            "  Properties:",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy.customizedmetricspecification":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy.customizedmetricspecification",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy.CustomizedMetricSpecification}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification",
+            "  Properties:",
+            "    Dimensions : [ ${2:aws-applicationautoscaling-scalingpolicycustomizedmetricspecification.MetricDimension(O)} ]",
+            "    MetricName : ${2:String(R)}",
+            "    Namespace : ${2:String(R)}",
+            "    Statistic : ${2:String(R)}",
+            "    Unit : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-model.vpcconfig":{
+        "prefix":"aws-sagemaker-model.vpcconfig",
+        "body":[
+            "${1:myAWSSageMakerModel.VpcConfig}:",
+            "  Type: AWS::SageMaker::Model.VpcConfig",
+            "  Properties:",
+            "    Subnets : [ ${2:String(R)} ]",
+            "    SecurityGroupIds : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.tagspecification":{
+        "prefix":"aws-ec2-launchtemplate.tagspecification",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.TagSpecification}:",
+            "  Type: AWS::EC2::LaunchTemplate.TagSpecification",
+            "  Properties:",
+            "    ResourceType : ${2:String(O)}",
+            "    Tags : [ ${2:aws-ec2-launchtemplatetagspecification.Tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-instance.blockdevicemapping":{
+        "prefix":"aws-opsworks-instance.blockdevicemapping",
+        "body":[
+            "${1:myAWSOpsWorksInstance.BlockDeviceMapping}:",
+            "  Type: AWS::OpsWorks::Instance.BlockDeviceMapping",
+            "  Properties:",
+            "    DeviceName : ${2:String(O)}",
+            "    Ebs : ${2:aws-opsworks-instanceblockdevicemapping.EbsBlockDevice(O)}",
+            "    NoDevice : ${2:String(O)}",
+            "    VirtualName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.iaminstanceprofile":{
+        "prefix":"aws-ec2-launchtemplate.iaminstanceprofile",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.IamInstanceProfile}:",
+            "  Type: AWS::EC2::LaunchTemplate.IamInstanceProfile",
+            "  Properties:",
+            "    Arn : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.numberattributeconstraints":{
+        "prefix":"aws-cognito-userpool.numberattributeconstraints",
+        "body":[
+            "${1:myAWSCognitoUserPool.NumberAttributeConstraints}:",
+            "  Type: AWS::Cognito::UserPool.NumberAttributeConstraints",
+            "  Properties:",
+            "    MinValue : ${2:String(O)}",
+            "    MaxValue : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.checkpointconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.checkpointconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.CheckpointConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration",
+            "  Properties:",
+            "    ConfigurationType : ${2:String(R)}",
+            "    CheckpointInterval : ${2:Integer(O)}",
+            "    MinPauseBetweenCheckpoints : ${2:Integer(O)}",
+            "    CheckpointingEnabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.routespec":{
+        "prefix":"aws-appmesh-route.routespec",
+        "body":[
+            "${1:myAWSAppMeshRoute.RouteSpec}:",
+            "  Type: AWS::AppMesh::Route.RouteSpec",
+            "  Properties:",
+            "    HttpRoute : ${2:aws-appmesh-routeroutespec.HttpRoute(O)}",
+            "    TcpRoute : ${2:aws-appmesh-routeroutespec.TcpRoute(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-broker.loglist":{
+        "prefix":"aws-amazonmq-broker.loglist",
+        "body":[
+            "${1:myAWSAmazonMQBroker.LogList}:",
+            "  Type: AWS::AmazonMQ::Broker.LogList",
+            "  Properties:",
+            "    Audit : ${2:Boolean(O)}",
+            "    General : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-broker.tagsentry":{
+        "prefix":"aws-amazonmq-broker.tagsentry",
+        "body":[
+            "${1:myAWSAmazonMQBroker.TagsEntry}:",
+            "  Type: AWS::AmazonMQ::Broker.TagsEntry",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-instance.ebsblockdevice":{
+        "prefix":"aws-opsworks-instance.ebsblockdevice",
+        "body":[
+            "${1:myAWSOpsWorksInstance.EbsBlockDevice}:",
+            "  Type: AWS::OpsWorks::Instance.EbsBlockDevice",
+            "  Properties:",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    SnapshotId : ${2:String(O)}",
+            "    VolumeSize : ${2:Integer(O)}",
+            "    VolumeType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline.pipelineobject":{
+        "prefix":"aws-datapipeline-pipeline.pipelineobject",
+        "body":[
+            "${1:myAWSDataPipelinePipeline.PipelineObject}:",
+            "  Type: AWS::DataPipeline::Pipeline.PipelineObject",
+            "  Properties:",
+            "    Fields : [ ${2:aws-datapipeline-pipelinepipelineobject.Field(R)} ]",
+            "    Id : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-documentationpart.location":{
+        "prefix":"aws-apigateway-documentationpart.location",
+        "body":[
+            "${1:myAWSApiGatewayDocumentationPart.Location}:",
+            "  Type: AWS::ApiGateway::DocumentationPart.Location",
+            "  Properties:",
+            "    Method : ${2:String(O)}",
+            "    Name : ${2:String(O)}",
+            "    Path : ${2:String(O)}",
+            "    StatusCode : ${2:String(O)}",
+            "    Type : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.nodevice":{
+        "prefix":"aws-ec2-instance.nodevice",
+        "body":[
+            "${1:myAWSEC2Instance.NoDevice}:",
+            "  Type: AWS::EC2::Instance.NoDevice",
+            "  Properties:"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scalingpolicy.stepadjustment":{
+        "prefix":"aws-autoscaling-scalingpolicy.stepadjustment",
+        "body":[
+            "${1:myAWSAutoScalingScalingPolicy.StepAdjustment}:",
+            "  Type: AWS::AutoScaling::ScalingPolicy.StepAdjustment",
+            "  Properties:",
+            "    MetricIntervalLowerBound : ${2:Double(O)}",
+            "    MetricIntervalUpperBound : ${2:Double(O)}",
+            "    ScalingAdjustment : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-role.policy":{
+        "prefix":"aws-iam-role.policy",
+        "body":[
+            "${1:myAWSIAMRole.Policy}:",
+            "  Type: AWS::IAM::Role.Policy",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(R)}",
+            "    PolicyName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.inputparallelism":{
+        "prefix":"aws-kinesisanalyticsv2-application.inputparallelism",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.InputParallelism}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.InputParallelism",
+            "  Properties:",
+            "    Count : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.environment":{
+        "prefix":"aws-batch-jobdefinition.environment",
+        "body":[
+            "${1:myAWSBatchJobDefinition.Environment}:",
+            "  Type: AWS::Batch::JobDefinition.Environment",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.cloudwatchalarmdefinition":{
+        "prefix":"aws-emr-cluster.cloudwatchalarmdefinition",
+        "body":[
+            "${1:myAWSEMRCluster.CloudWatchAlarmDefinition}:",
+            "  Type: AWS::EMR::Cluster.CloudWatchAlarmDefinition",
+            "  Properties:",
+            "    ComparisonOperator : ${2:String(R)}",
+            "    Dimensions : [ ${2:aws-emr-clustercloudwatchalarmdefinition.MetricDimension(O)} ]",
+            "    EvaluationPeriods : ${2:Integer(O)}",
+            "    MetricName : ${2:String(R)}",
+            "    Namespace : ${2:String(O)}",
+            "    Period : ${2:Integer(R)}",
+            "    Statistic : ${2:String(O)}",
+            "    Threshold : ${2:Double(R)}",
+            "    Unit : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-crawler.schedule":{
+        "prefix":"aws-glue-crawler.schedule",
+        "body":[
+            "${1:myAWSGlueCrawler.Schedule}:",
+            "  Type: AWS::Glue::Crawler.Schedule",
+            "  Properties:",
+            "    ScheduleExpression : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-stack.stackconfigurationmanager":{
+        "prefix":"aws-opsworks-stack.stackconfigurationmanager",
+        "body":[
+            "${1:myAWSOpsWorksStack.StackConfigurationManager}:",
+            "  Type: AWS::OpsWorks::Stack.StackConfigurationManager",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    Version : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-streamingdistribution.s3origin":{
+        "prefix":"aws-cloudfront-streamingdistribution.s3origin",
+        "body":[
+            "${1:myAWSCloudFrontStreamingDistribution.S3Origin}:",
+            "  Type: AWS::CloudFront::StreamingDistribution.S3Origin",
+            "  Properties:",
+            "    DomainName : ${2:String(R)}",
+            "    OriginAccessIdentity : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.vpcconfig":{
+        "prefix":"aws-codebuild-project.vpcconfig",
+        "body":[
+            "${1:myAWSCodeBuildProject.VpcConfig}:",
+            "  Type: AWS::CodeBuild::Project.VpcConfig",
+            "  Properties:",
+            "    Subnets : [ ${2:String(O)} ]",
+            "    VpcId : ${2:String(O)}",
+            "    SecurityGroupIds : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.elasticsearchaction":{
+        "prefix":"aws-iot-topicrule.elasticsearchaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.ElasticsearchAction}:",
+            "  Type: AWS::IoT::TopicRule.ElasticsearchAction",
+            "  Properties:",
+            "    Endpoint : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    Index : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.smsconfiguration":{
+        "prefix":"aws-cognito-userpool.smsconfiguration",
+        "body":[
+            "${1:myAWSCognitoUserPool.SmsConfiguration}:",
+            "  Type: AWS::Cognito::UserPool.SmsConfiguration",
+            "  Properties:",
+            "    ExternalId : ${2:String(O)}",
+            "    SnsCallerArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-application.applicationversionlifecycleconfig":{
+        "prefix":"aws-elasticbeanstalk-application.applicationversionlifecycleconfig",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplication.ApplicationVersionLifecycleConfig}:",
+            "  Type: AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig",
+            "  Properties:",
+            "    MaxAgeRule : ${2:aws-elasticbeanstalk-applicationapplicationversionlifecycleconfig.MaxAgeRule(O)}",
+            "    MaxCountRule : ${2:aws-elasticbeanstalk-applicationapplicationversionlifecycleconfig.MaxCountRule(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.trigger":{
+        "prefix":"aws-iotanalytics-dataset.trigger",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.Trigger}:",
+            "  Type: AWS::IoTAnalytics::Dataset.Trigger",
+            "  Properties:",
+            "    Schedule : ${2:aws-iotanalytics-datasettrigger.Schedule(O)}",
+            "    TriggeringDataset : ${2:aws-iotanalytics-datasettrigger.TriggeringDataset(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-targetgroup.matcher":{
+        "prefix":"aws-elasticloadbalancingv2-targetgroup.matcher",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2TargetGroup.Matcher}:",
+            "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.Matcher",
+            "  Properties:",
+            "    HttpCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.dynamodbaction":{
+        "prefix":"aws-iot-topicrule.dynamodbaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.DynamoDBAction}:",
+            "  Type: AWS::IoT::TopicRule.DynamoDBAction",
+            "  Properties:",
+            "    HashKeyField : ${2:String(R)}",
+            "    HashKeyType : ${2:String(O)}",
+            "    HashKeyValue : ${2:String(R)}",
+            "    PayloadField : ${2:String(O)}",
+            "    RangeKeyField : ${2:String(O)}",
+            "    RangeKeyType : ${2:String(O)}",
+            "    RangeKeyValue : ${2:String(O)}",
+            "    RoleArn : ${2:String(R)}",
+            "    TableName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot1click-project.devicetemplate":{
+        "prefix":"aws-iot1click-project.devicetemplate",
+        "body":[
+            "${1:myAWSIoT1ClickProject.DeviceTemplate}:",
+            "  Type: AWS::IoT1Click::Project.DeviceTemplate",
+            "  Properties:",
+            "    DeviceType : ${2:String(O)}",
+            "    CallbackOverrides : ${2:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.runas":{
+        "prefix":"aws-greengrass-functiondefinition.runas",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.RunAs}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.RunAs",
+            "  Properties:",
+            "    Uid : ${2:Integer(O)}",
+            "    Gid : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-targetgroup.targetdescription":{
+        "prefix":"aws-elasticloadbalancingv2-targetgroup.targetdescription",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2TargetGroup.TargetDescription}:",
+            "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription",
+            "  Properties:",
+            "    AvailabilityZone : ${2:String(O)}",
+            "    Id : ${2:String(R)}",
+            "    Port : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.placementconstraint":{
+        "prefix":"aws-ecs-service.placementconstraint",
+        "body":[
+            "${1:myAWSECSService.PlacementConstraint}:",
+            "  Type: AWS::ECS::Service.PlacementConstraint",
+            "  Properties:",
+            "    Expression : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.tagfilter":{
+        "prefix":"aws-autoscalingplans-scalingplan.tagfilter",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.TagFilter}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.TagFilter",
+            "  Properties:",
+            "    Values : [ ${2:String(O)} ]",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.creditspecification":{
+        "prefix":"aws-ec2-instance.creditspecification",
+        "body":[
+            "${1:myAWSEC2Instance.CreditSpecification}:",
+            "  Type: AWS::EC2::Instance.CreditSpecification",
+            "  Properties:",
+            "    CPUCredits : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-sizeconstraintset.sizeconstraint":{
+        "prefix":"aws-wafregional-sizeconstraintset.sizeconstraint",
+        "body":[
+            "${1:myAWSWAFRegionalSizeConstraintSet.SizeConstraint}:",
+            "  Type: AWS::WAFRegional::SizeConstraintSet.SizeConstraint",
+            "  Properties:",
+            "    ComparisonOperator : ${2:String(R)}",
+            "    Size : ${2:Integer(R)}",
+            "    TextTransformation : ${2:String(R)}",
+            "    FieldToMatch : ${2:aws-wafregional-sizeconstraintsetsizeconstraint.FieldToMatch(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.referencedatasource":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.referencedatasource",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.ReferenceDataSource}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource",
+            "  Properties:",
+            "    ReferenceSchema : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferencedatasource.ReferenceSchema(R)}",
+            "    TableName : ${2:String(O)}",
+            "    S3ReferenceDataSource : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferencedatasource.S3ReferenceDataSource(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecr-repository.lifecyclepolicy":{
+        "prefix":"aws-ecr-repository.lifecyclepolicy",
+        "body":[
+            "${1:myAWSECRRepository.LifecyclePolicy}:",
+            "  Type: AWS::ECR::Repository.LifecyclePolicy",
+            "  Properties:",
+            "    LifecyclePolicyText : ${2:String(O)}",
+            "    RegistryId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationoutput.kinesisfirehoseoutput":{
+        "prefix":"aws-kinesisanalyticsv2-applicationoutput.kinesisfirehoseoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationOutput.KinesisFirehoseOutput}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-devicedefinitionversion.device":{
+        "prefix":"aws-greengrass-devicedefinitionversion.device",
+        "body":[
+            "${1:myAWSGreengrassDeviceDefinitionVersion.Device}:",
+            "  Type: AWS::Greengrass::DeviceDefinitionVersion.Device",
+            "  Properties:",
+            "    SyncShadow : ${2:Boolean(O)}",
+            "    ThingArn : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    CertificateArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.tagrequest":{
+        "prefix":"aws-ec2-ec2fleet.tagrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.TagRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.TagRequest",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.volume":{
+        "prefix":"aws-ecs-taskdefinition.volume",
+        "body":[
+            "${1:myAWSECSTaskDefinition.Volume}:",
+            "  Type: AWS::ECS::TaskDefinition.Volume",
+            "  Properties:",
+            "    DockerVolumeConfiguration : ${2:aws-ecs-taskdefinitionvolume.DockerVolumeConfiguration(O)}",
+            "    Host : ${2:aws-ecs-taskdefinitionvolume.HostVolumeProperties(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-hostedzone.queryloggingconfig":{
+        "prefix":"aws-route53-hostedzone.queryloggingconfig",
+        "body":[
+            "${1:myAWSRoute53HostedZone.QueryLoggingConfig}:",
+            "  Type: AWS::Route53::HostedZone.QueryLoggingConfig",
+            "  Properties:",
+            "    CloudWatchLogsLogGroupArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-service.healthcheckcustomconfig":{
+        "prefix":"aws-servicediscovery-service.healthcheckcustomconfig",
+        "body":[
+            "${1:myAWSServiceDiscoveryService.HealthCheckCustomConfig}:",
+            "  Type: AWS::ServiceDiscovery::Service.HealthCheckCustomConfig",
+            "  Properties:",
+            "    FailureThreshold : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-association.s3outputlocation":{
+        "prefix":"aws-ssm-association.s3outputlocation",
+        "body":[
+            "${1:myAWSSSMAssociation.S3OutputLocation}:",
+            "  Type: AWS::SSM::Association.S3OutputLocation",
+            "  Properties:",
+            "    OutputS3BucketName : ${2:String(O)}",
+            "    OutputS3KeyPrefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-webacl.action":{
+        "prefix":"aws-wafregional-webacl.action",
+        "body":[
+            "${1:myAWSWAFRegionalWebACL.Action}:",
+            "  Type: AWS::WAFRegional::WebACL.Action",
+            "  Properties:",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-function.code":{
+        "prefix":"aws-lambda-function.code",
+        "body":[
+            "${1:myAWSLambdaFunction.Code}:",
+            "  Type: AWS::Lambda::Function.Code",
+            "  Properties:",
+            "    S3Bucket : ${2:String(O)}",
+            "    S3Key : ${2:String(O)}",
+            "    S3ObjectVersion : ${2:String(O)}",
+            "    ZipFile : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.targetcapacityspecificationrequest":{
+        "prefix":"aws-ec2-ec2fleet.targetcapacityspecificationrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.TargetCapacitySpecificationRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest",
+            "  Properties:",
+            "    DefaultTargetCapacityType : ${2:String(O)}",
+            "    TotalTargetCapacity : ${2:Integer(R)}",
+            "    OnDemandTargetCapacity : ${2:Integer(O)}",
+            "    SpotTargetCapacity : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.processor":{
+        "prefix":"aws-kinesisfirehose-deliverystream.processor",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.Processor}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.Processor",
+            "  Properties:",
+            "    Parameters : [ ${2:aws-kinesisfirehose-deliverystreamprocessor.ProcessorParameter(R)} ]",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.inputlambdaprocessor":{
+        "prefix":"aws-kinesisanalyticsv2-application.inputlambdaprocessor",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.InputLambdaProcessor}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.licensespecification":{
+        "prefix":"aws-ec2-launchtemplate.licensespecification",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.LicenseSpecification}:",
+            "  Type: AWS::EC2::LaunchTemplate.LicenseSpecification",
+            "  Properties:",
+            "    LicenseConfigurationArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.ec2tagfilter":{
+        "prefix":"aws-codedeploy-deploymentgroup.ec2tagfilter",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.EC2TagFilter}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagFilter",
+            "  Properties:",
+            "    Key : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.corsconfiguration":{
+        "prefix":"aws-s3-bucket.corsconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.CorsConfiguration}:",
+            "  Type: AWS::S3::Bucket.CorsConfiguration",
+            "  Properties:",
+            "    CorsRules : [ ${2:aws-s3-bucketcorsconfiguration.CorsRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.replicationdestination":{
+        "prefix":"aws-s3-bucket.replicationdestination",
+        "body":[
+            "${1:myAWSS3Bucket.ReplicationDestination}:",
+            "  Type: AWS::S3::Bucket.ReplicationDestination",
+            "  Properties:",
+            "    AccessControlTranslation : ${2:aws-s3-bucketreplicationdestination.AccessControlTranslation(O)}",
+            "    Account : ${2:String(O)}",
+            "    Bucket : ${2:String(R)}",
+            "    EncryptionConfiguration : ${2:aws-s3-bucketreplicationdestination.EncryptionConfiguration(O)}",
+            "    StorageClass : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationoutput.kinesisstreamsoutput":{
+        "prefix":"aws-kinesisanalyticsv2-applicationoutput.kinesisstreamsoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationOutput.KinesisStreamsOutput}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-securitygroup.egress":{
+        "prefix":"aws-ec2-securitygroup.egress",
+        "body":[
+            "${1:myAWSEC2SecurityGroup.Egress}:",
+            "  Type: AWS::EC2::SecurityGroup.Egress",
+            "  Properties:",
+            "    CidrIp : ${2:String(O)}",
+            "    CidrIpv6 : ${2:String(O)}",
+            "    Description : ${2:String(O)}",
+            "    DestinationPrefixListId : ${2:String(O)}",
+            "    DestinationSecurityGroupId : ${2:String(O)}",
+            "    FromPort : ${2:Integer(O)}",
+            "    IpProtocol : ${2:String(R)}",
+            "    ToPort : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.channel":{
+        "prefix":"aws-iotanalytics-pipeline.channel",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.Channel}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.Channel",
+            "  Properties:",
+            "    ChannelName : ${2:String(O)}",
+            "    Next : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-cloudformationprovisionedproduct.provisioningparameter":{
+        "prefix":"aws-servicecatalog-cloudformationprovisionedproduct.provisioningparameter",
+        "body":[
+            "${1:myAWSServiceCatalogCloudFormationProvisionedProduct.ProvisioningParameter}:",
+            "  Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.kinesisaction":{
+        "prefix":"aws-iot-topicrule.kinesisaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.KinesisAction}:",
+            "  Type: AWS::IoT::TopicRule.KinesisAction",
+            "  Properties:",
+            "    PartitionKey : ${2:String(O)}",
+            "    RoleArn : ${2:String(R)}",
+            "    StreamName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.pointintimerecoveryspecification":{
+        "prefix":"aws-dynamodb-table.pointintimerecoveryspecification",
+        "body":[
+            "${1:myAWSDynamoDBTable.PointInTimeRecoverySpecification}:",
+            "  Type: AWS::DynamoDB::Table.PointInTimeRecoverySpecification",
+            "  Properties:",
+            "    PointInTimeRecoveryEnabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-mesh.meshspec":{
+        "prefix":"aws-appmesh-mesh.meshspec",
+        "body":[
+            "${1:myAWSAppMeshMesh.MeshSpec}:",
+            "  Type: AWS::AppMesh::Mesh.MeshSpec",
+            "  Properties:",
+            "    EgressFilter : ${2:aws-appmesh-meshmeshspec.EgressFilter(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-robotapplication.sourceconfig":{
+        "prefix":"aws-robomaker-robotapplication.sourceconfig",
+        "body":[
+            "${1:myAWSRoboMakerRobotApplication.SourceConfig}:",
+            "  Type: AWS::RoboMaker::RobotApplication.SourceConfig",
+            "  Properties:",
+            "    S3Bucket : ${2:String(R)}",
+            "    Architecture : ${2:String(R)}",
+            "    S3Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.flinkapplicationconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.flinkapplicationconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.FlinkApplicationConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration",
+            "  Properties:",
+            "    CheckpointConfiguration : ${2:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.CheckpointConfiguration(O)}",
+            "    ParallelismConfiguration : ${2:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.ParallelismConfiguration(O)}",
+            "    MonitoringConfiguration : ${2:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.MonitoringConfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-route.parameterconstraints":{
+        "prefix":"aws-apigatewayv2-route.parameterconstraints",
+        "body":[
+            "${1:myAWSApiGatewayV2Route.ParameterConstraints}:",
+            "  Type: AWS::ApiGatewayV2::Route.ParameterConstraints",
+            "  Properties:",
+            "    Required : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer.lifecycleeventconfiguration":{
+        "prefix":"aws-opsworks-layer.lifecycleeventconfiguration",
+        "body":[
+            "${1:myAWSOpsWorksLayer.LifecycleEventConfiguration}:",
+            "  Type: AWS::OpsWorks::Layer.LifecycleEventConfiguration",
+            "  Properties:",
+            "    ShutdownEventConfiguration : ${2:aws-opsworks-layerlifecycleeventconfiguration.ShutdownEventConfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-stack.rdsdbinstance":{
+        "prefix":"aws-opsworks-stack.rdsdbinstance",
+        "body":[
+            "${1:myAWSOpsWorksStack.RdsDbInstance}:",
+            "  Type: AWS::OpsWorks::Stack.RdsDbInstance",
+            "  Properties:",
+            "    DbPassword : ${2:String(R)}",
+            "    DbUser : ${2:String(R)}",
+            "    RdsDbInstanceArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.costtypes":{
+        "prefix":"aws-budgets-budget.costtypes",
+        "body":[
+            "${1:myAWSBudgetsBudget.CostTypes}:",
+            "  Type: AWS::Budgets::Budget.CostTypes",
+            "  Properties:",
+            "    IncludeSupport : ${2:Boolean(O)}",
+            "    IncludeOtherSubscription : ${2:Boolean(O)}",
+            "    IncludeTax : ${2:Boolean(O)}",
+            "    IncludeSubscription : ${2:Boolean(O)}",
+            "    UseBlended : ${2:Boolean(O)}",
+            "    IncludeUpfront : ${2:Boolean(O)}",
+            "    IncludeDiscount : ${2:Boolean(O)}",
+            "    IncludeCredit : ${2:Boolean(O)}",
+            "    IncludeRecurring : ${2:Boolean(O)}",
+            "    UseAmortized : ${2:Boolean(O)}",
+            "    IncludeRefund : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-bytematchset.fieldtomatch":{
+        "prefix":"aws-waf-bytematchset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFByteMatchSet.FieldToMatch}:",
+            "  Type: AWS::WAF::ByteMatchSet.FieldToMatch",
+            "  Properties:",
+            "    Data : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.action":{
+        "prefix":"aws-iot-topicrule.action",
+        "body":[
+            "${1:myAWSIoTTopicRule.Action}:",
+            "  Type: AWS::IoT::TopicRule.Action",
+            "  Properties:",
+            "    CloudwatchAlarm : ${2:aws-iot-topicruleaction.CloudwatchAlarmAction(O)}",
+            "    CloudwatchMetric : ${2:aws-iot-topicruleaction.CloudwatchMetricAction(O)}",
+            "    DynamoDB : ${2:aws-iot-topicruleaction.DynamoDBAction(O)}",
+            "    DynamoDBv2 : ${2:aws-iot-topicruleaction.DynamoDBv2Action(O)}",
+            "    Elasticsearch : ${2:aws-iot-topicruleaction.ElasticsearchAction(O)}",
+            "    Firehose : ${2:aws-iot-topicruleaction.FirehoseAction(O)}",
+            "    IotAnalytics : ${2:aws-iot-topicruleaction.IotAnalyticsAction(O)}",
+            "    Kinesis : ${2:aws-iot-topicruleaction.KinesisAction(O)}",
+            "    Lambda : ${2:aws-iot-topicruleaction.LambdaAction(O)}",
+            "    Republish : ${2:aws-iot-topicruleaction.RepublishAction(O)}",
+            "    S3 : ${2:aws-iot-topicruleaction.S3Action(O)}",
+            "    Sns : ${2:aws-iot-topicruleaction.SnsAction(O)}",
+            "    Sqs : ${2:aws-iot-topicruleaction.SqsAction(O)}",
+            "    StepFunctions : ${2:aws-iot-topicruleaction.StepFunctionsAction(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.accelerateconfiguration":{
+        "prefix":"aws-s3-bucket.accelerateconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.AccelerateConfiguration}:",
+            "  Type: AWS::S3::Bucket.AccelerateConfiguration",
+            "  Properties:",
+            "    AccelerationStatus : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.filter":{
+        "prefix":"aws-iotanalytics-pipeline.filter",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.Filter}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.Filter",
+            "  Properties:",
+            "    Filter : ${2:String(O)}",
+            "    Next : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-trigger.condition":{
+        "prefix":"aws-glue-trigger.condition",
+        "body":[
+            "${1:myAWSGlueTrigger.Condition}:",
+            "  Type: AWS::Glue::Trigger.Condition",
+            "  Properties:",
+            "    State : ${2:String(O)}",
+            "    LogicalOperator : ${2:String(O)}",
+            "    JobName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.csvmappingparameters":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.csvmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.CSVMappingParameters}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters",
+            "  Properties:",
+            "    RecordRowDelimiter : ${2:String(R)}",
+            "    RecordColumnDelimiter : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.distributionconfig":{
+        "prefix":"aws-cloudfront-distribution.distributionconfig",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.DistributionConfig}:",
+            "  Type: AWS::CloudFront::Distribution.DistributionConfig",
+            "  Properties:",
+            "    Logging : ${2:aws-cloudfront-distributiondistributionconfig.Logging(O)}",
+            "    Comment : ${2:String(O)}",
+            "    DefaultRootObject : ${2:String(O)}",
+            "    Origins : [ ${2:aws-cloudfront-distributiondistributionconfig.Origin(O)} ]",
+            "    ViewerCertificate : ${2:aws-cloudfront-distributiondistributionconfig.ViewerCertificate(O)}",
+            "    PriceClass : ${2:String(O)}",
+            "    DefaultCacheBehavior : ${2:aws-cloudfront-distributiondistributionconfig.DefaultCacheBehavior(O)}",
+            "    CustomErrorResponses : [ ${2:aws-cloudfront-distributiondistributionconfig.CustomErrorResponse(O)} ]",
+            "    Enabled : ${2:Boolean(R)}",
+            "    Aliases : [ ${2:String(O)} ]",
+            "    IPV6Enabled : ${2:Boolean(O)}",
+            "    WebACLId : ${2:String(O)}",
+            "    HttpVersion : ${2:String(O)}",
+            "    Restrictions : ${2:aws-cloudfront-distributiondistributionconfig.Restrictions(O)}",
+            "    CacheBehaviors : [ ${2:aws-cloudfront-distributiondistributionconfig.CacheBehavior(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.noncurrentversiontransition":{
+        "prefix":"aws-s3-bucket.noncurrentversiontransition",
+        "body":[
+            "${1:myAWSS3Bucket.NoncurrentVersionTransition}:",
+            "  Type: AWS::S3::Bucket.NoncurrentVersionTransition",
+            "  Properties:",
+            "    StorageClass : ${2:String(R)}",
+            "    TransitionInDays : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.keyvalue":{
+        "prefix":"aws-emr-cluster.keyvalue",
+        "body":[
+            "${1:myAWSEMRCluster.KeyValue}:",
+            "  Type: AWS::EMR::Cluster.KeyValue",
+            "  Properties:",
+            "    Key : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.launchtemplateoverrides":{
+        "prefix":"aws-ec2-spotfleet.launchtemplateoverrides",
+        "body":[
+            "${1:myAWSEC2SpotFleet.LaunchTemplateOverrides}:",
+            "  Type: AWS::EC2::SpotFleet.LaunchTemplateOverrides",
+            "  Properties:",
+            "    AvailabilityZone : ${2:String(O)}",
+            "    InstanceType : ${2:String(O)}",
+            "    SpotPrice : ${2:String(O)}",
+            "    SubnetId : ${2:String(O)}",
+            "    WeightedCapacity : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudwatch-alarm.metricdataquery":{
+        "prefix":"aws-cloudwatch-alarm.metricdataquery",
+        "body":[
+            "${1:myAWSCloudWatchAlarm.MetricDataQuery}:",
+            "  Type: AWS::CloudWatch::Alarm.MetricDataQuery",
+            "  Properties:",
+            "    Expression : ${2:String(O)}",
+            "    Id : ${2:String(R)}",
+            "    Label : ${2:String(O)}",
+            "    MetricStat : ${2:aws-cloudwatch-alarmmetricdataquery.MetricStat(O)}",
+            "    ReturnData : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.s3action":{
+        "prefix":"aws-ses-receiptrule.s3action",
+        "body":[
+            "${1:myAWSSESReceiptRule.S3Action}:",
+            "  Type: AWS::SES::ReceiptRule.S3Action",
+            "  Properties:",
+            "    BucketName : ${2:String(R)}",
+            "    KmsKeyArn : ${2:String(O)}",
+            "    TopicArn : ${2:String(O)}",
+            "    ObjectKeyPrefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.jsonmappingparameters":{
+        "prefix":"aws-kinesisanalytics-application.jsonmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.JSONMappingParameters}:",
+            "  Type: AWS::KinesisAnalytics::Application.JSONMappingParameters",
+            "  Properties:",
+            "    RecordRowPath : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.mappingparameters":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.mappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.MappingParameters}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters",
+            "  Properties:",
+            "    JSONMappingParameters : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcemappingparameters.JSONMappingParameters(O)}",
+            "    CSVMappingParameters : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcemappingparameters.CSVMappingParameters(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain.snapshotoptions":{
+        "prefix":"aws-elasticsearch-domain.snapshotoptions",
+        "body":[
+            "${1:myAWSElasticsearchDomain.SnapshotOptions}:",
+            "  Type: AWS::Elasticsearch::Domain.SnapshotOptions",
+            "  Properties:",
+            "    AutomatedSnapshotStartHour : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-stage.accesslogsetting":{
+        "prefix":"aws-apigateway-stage.accesslogsetting",
+        "body":[
+            "${1:myAWSApiGatewayStage.AccessLogSetting}:",
+            "  Type: AWS::ApiGateway::Stage.AccessLogSetting",
+            "  Properties:",
+            "    DestinationArn : ${2:String(O)}",
+            "    Format : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-subscriptiondefinition.subscriptiondefinitionversion":{
+        "prefix":"aws-greengrass-subscriptiondefinition.subscriptiondefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassSubscriptionDefinition.SubscriptionDefinitionVersion}:",
+            "  Type: AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion",
+            "  Properties:",
+            "    Subscriptions : [ ${2:aws-greengrass-subscriptiondefinitionsubscriptiondefinitionversion.Subscription(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer.loadbasedautoscaling":{
+        "prefix":"aws-opsworks-layer.loadbasedautoscaling",
+        "body":[
+            "${1:myAWSOpsWorksLayer.LoadBasedAutoScaling}:",
+            "  Type: AWS::OpsWorks::Layer.LoadBasedAutoScaling",
+            "  Properties:",
+            "    DownScaling : ${2:aws-opsworks-layerloadbasedautoscaling.AutoScalingThresholds(O)}",
+            "    Enable : ${2:Boolean(O)}",
+            "    UpScaling : ${2:aws-opsworks-layerloadbasedautoscaling.AutoScalingThresholds(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.ulimit":{
+        "prefix":"aws-batch-jobdefinition.ulimit",
+        "body":[
+            "${1:myAWSBatchJobDefinition.Ulimit}:",
+            "  Type: AWS::Batch::JobDefinition.Ulimit",
+            "  Properties:",
+            "    SoftLimit : ${2:Integer(R)}",
+            "    HardLimit : ${2:Integer(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.volumeshost":{
+        "prefix":"aws-batch-jobdefinition.volumeshost",
+        "body":[
+            "${1:myAWSBatchJobDefinition.VolumesHost}:",
+            "  Type: AWS::Batch::JobDefinition.VolumesHost",
+            "  Properties:",
+            "    SourcePath : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-configurationseteventdestination.dimensionconfiguration":{
+        "prefix":"aws-ses-configurationseteventdestination.dimensionconfiguration",
+        "body":[
+            "${1:myAWSSESConfigurationSetEventDestination.DimensionConfiguration}:",
+            "  Type: AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration",
+            "  Properties:",
+            "    DimensionValueSource : ${2:String(R)}",
+            "    DefaultDimensionValue : ${2:String(R)}",
+            "    DimensionName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-trigger.predicate":{
+        "prefix":"aws-glue-trigger.predicate",
+        "body":[
+            "${1:myAWSGlueTrigger.Predicate}:",
+            "  Type: AWS::Glue::Trigger.Predicate",
+            "  Properties:",
+            "    Logical : ${2:String(O)}",
+            "    Conditions : [ ${2:aws-glue-triggerpredicate.Condition(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-group.policy":{
+        "prefix":"aws-iam-group.policy",
+        "body":[
+            "${1:myAWSIAMGroup.Policy}:",
+            "  Type: AWS::IAM::Group.Policy",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(R)}",
+            "    PolicyName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.action":{
+        "prefix":"aws-iotanalytics-dataset.action",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.Action}:",
+            "  Type: AWS::IoTAnalytics::Dataset.Action",
+            "  Properties:",
+            "    ActionName : ${2:String(R)}",
+            "    ContainerAction : ${2:aws-iotanalytics-datasetaction.ContainerAction(O)}",
+            "    QueryAction : ${2:aws-iotanalytics-datasetaction.QueryAction(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table.order":{
+        "prefix":"aws-glue-table.order",
+        "body":[
+            "${1:myAWSGlueTable.Order}:",
+            "  Type: AWS::Glue::Table.Order",
+            "  Properties:",
+            "    Column : ${2:String(R)}",
+            "    SortOrder : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.ebs":{
+        "prefix":"aws-ec2-launchtemplate.ebs",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.Ebs}:",
+            "  Type: AWS::EC2::LaunchTemplate.Ebs",
+            "  Properties:",
+            "    SnapshotId : ${2:String(O)}",
+            "    VolumeType : ${2:String(O)}",
+            "    KmsKeyId : ${2:String(O)}",
+            "    Encrypted : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    VolumeSize : ${2:Integer(O)}",
+            "    DeleteOnTermination : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobqueue.computeenvironmentorder":{
+        "prefix":"aws-batch-jobqueue.computeenvironmentorder",
+        "body":[
+            "${1:myAWSBatchJobQueue.ComputeEnvironmentOrder}:",
+            "  Type: AWS::Batch::JobQueue.ComputeEnvironmentOrder",
+            "  Properties:",
+            "    ComputeEnvironment : ${2:String(R)}",
+            "    Order : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.elasticsearchretryoptions":{
+        "prefix":"aws-kinesisfirehose-deliverystream.elasticsearchretryoptions",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.ElasticsearchRetryOptions}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions",
+            "  Properties:",
+            "    DurationInSeconds : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.ssespecification":{
+        "prefix":"aws-dynamodb-table.ssespecification",
+        "body":[
+            "${1:myAWSDynamoDBTable.SSESpecification}:",
+            "  Type: AWS::DynamoDB::Table.SSESpecification",
+            "  Properties:",
+            "    SSEEnabled : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordsetgroup.aliastarget":{
+        "prefix":"aws-route53-recordsetgroup.aliastarget",
+        "body":[
+            "${1:myAWSRoute53RecordSetGroup.AliasTarget}:",
+            "  Type: AWS::Route53::RecordSetGroup.AliasTarget",
+            "  Properties:",
+            "    DNSName : ${2:String(R)}",
+            "    EvaluateTargetHealth : ${2:Boolean(O)}",
+            "    HostedZoneId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-alias.aliasroutingconfiguration":{
+        "prefix":"aws-lambda-alias.aliasroutingconfiguration",
+        "body":[
+            "${1:myAWSLambdaAlias.AliasRoutingConfiguration}:",
+            "  Type: AWS::Lambda::Alias.AliasRoutingConfiguration",
+            "  Properties:",
+            "    AdditionalVersionWeights : [ ${2:aws-lambda-aliasaliasroutingconfiguration.VersionWeight(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.fleetlaunchtemplateoverridesrequest":{
+        "prefix":"aws-ec2-ec2fleet.fleetlaunchtemplateoverridesrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.FleetLaunchTemplateOverridesRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest",
+            "  Properties:",
+            "    WeightedCapacity : ${2:Double(O)}",
+            "    Priority : ${2:Double(O)}",
+            "    AvailabilityZone : ${2:String(O)}",
+            "    SubnetId : ${2:String(O)}",
+            "    InstanceType : ${2:String(O)}",
+            "    MaxPrice : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.abortincompletemultipartupload":{
+        "prefix":"aws-s3-bucket.abortincompletemultipartupload",
+        "body":[
+            "${1:myAWSS3Bucket.AbortIncompleteMultipartUpload}:",
+            "  Type: AWS::S3::Bucket.AbortIncompleteMultipartUpload",
+            "  Properties:",
+            "    DaysAfterInitiation : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.containeraction":{
+        "prefix":"aws-iotanalytics-dataset.containeraction",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.ContainerAction}:",
+            "  Type: AWS::IoTAnalytics::Dataset.ContainerAction",
+            "  Properties:",
+            "    Variables : [ ${2:aws-iotanalytics-datasetcontaineraction.Variable(O)} ]",
+            "    ExecutionRoleArn : ${2:String(R)}",
+            "    Image : ${2:String(R)}",
+            "    ResourceConfiguration : ${2:aws-iotanalytics-datasetcontaineraction.ResourceConfiguration(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.input":{
+        "prefix":"aws-kinesisanalyticsv2-application.input",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.Input}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.Input",
+            "  Properties:",
+            "    NamePrefix : ${2:String(R)}",
+            "    InputSchema : ${2:aws-kinesisanalyticsv2-applicationinput.InputSchema(R)}",
+            "    KinesisStreamsInput : ${2:aws-kinesisanalyticsv2-applicationinput.KinesisStreamsInput(O)}",
+            "    KinesisFirehoseInput : ${2:aws-kinesisanalyticsv2-applicationinput.KinesisFirehoseInput(O)}",
+            "    InputProcessingConfiguration : ${2:aws-kinesisanalyticsv2-applicationinput.InputProcessingConfiguration(O)}",
+            "    InputParallelism : ${2:aws-kinesisanalyticsv2-applicationinput.InputParallelism(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.outputartifact":{
+        "prefix":"aws-codepipeline-pipeline.outputartifact",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.OutputArtifact}:",
+            "  Type: AWS::CodePipeline::Pipeline.OutputArtifact",
+            "  Properties:",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.applicationsnapshotconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.applicationsnapshotconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.ApplicationSnapshotConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration",
+            "  Properties:",
+            "    SnapshotsEnabled : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-fsx-filesystem.windowsconfiguration":{
+        "prefix":"aws-fsx-filesystem.windowsconfiguration",
+        "body":[
+            "${1:myAWSFSxFileSystem.WindowsConfiguration}:",
+            "  Type: AWS::FSx::FileSystem.WindowsConfiguration",
+            "  Properties:",
+            "    WeeklyMaintenanceStartTime : ${2:String(O)}",
+            "    ActiveDirectoryId : ${2:String(O)}",
+            "    ThroughputCapacity : ${2:Integer(O)}",
+            "    CopyTagsToBackups : ${2:Boolean(O)}",
+            "    DailyAutomaticBackupStartTime : ${2:String(O)}",
+            "    AutomaticBackupRetentionDays : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition.column":{
+        "prefix":"aws-glue-partition.column",
+        "body":[
+            "${1:myAWSGluePartition.Column}:",
+            "  Type: AWS::Glue::Partition.Column",
+            "  Properties:",
+            "    Comment : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.kinesisfirehoseinput":{
+        "prefix":"aws-kinesisanalyticsv2-application.kinesisfirehoseinput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.KinesisFirehoseInput}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.awsvpcconfiguration":{
+        "prefix":"aws-ecs-service.awsvpcconfiguration",
+        "body":[
+            "${1:myAWSECSService.AwsVpcConfiguration}:",
+            "  Type: AWS::ECS::Service.AwsVpcConfiguration",
+            "  Properties:",
+            "    AssignPublicIp : ${2:String(O)}",
+            "    SecurityGroups : [ ${2:String(O)} ]",
+            "    Subnets : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypoolroleattachment.rolemapping":{
+        "prefix":"aws-cognito-identitypoolroleattachment.rolemapping",
+        "body":[
+            "${1:myAWSCognitoIdentityPoolRoleAttachment.RoleMapping}:",
+            "  Type: AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    AmbiguousRoleResolution : ${2:String(O)}",
+            "    RulesConfiguration : ${2:aws-cognito-identitypoolroleattachmentrolemapping.RulesConfigurationType(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.s3logsconfig":{
+        "prefix":"aws-codebuild-project.s3logsconfig",
+        "body":[
+            "${1:myAWSCodeBuildProject.S3LogsConfig}:",
+            "  Type: AWS::CodeBuild::Project.S3LogsConfig",
+            "  Properties:",
+            "    Status : ${2:String(R)}",
+            "    EncryptionDisabled : ${2:Boolean(O)}",
+            "    Location : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.onpremisestagset":{
+        "prefix":"aws-codedeploy-deploymentgroup.onpremisestagset",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.OnPremisesTagSet}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet",
+            "  Properties:",
+            "    OnPremisesTagSetList : [ ${2:aws-codedeploy-deploymentgrouponpremisestagset.OnPremisesTagSetListObject(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-healthcheck.alarmidentifier":{
+        "prefix":"aws-route53-healthcheck.alarmidentifier",
+        "body":[
+            "${1:myAWSRoute53HealthCheck.AlarmIdentifier}:",
+            "  Type: AWS::Route53::HealthCheck.AlarmIdentifier",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    Region : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.localdeviceresourcedata":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.localdeviceresourcedata",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.LocalDeviceResourceData}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData",
+            "  Properties:",
+            "    SourcePath : ${2:String(R)}",
+            "    GroupOwnerSetting : ${2:aws-greengrass-resourcedefinitionversionlocaldeviceresourcedata.GroupOwnerSetting(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-simulationapplication.simulationsoftwaresuite":{
+        "prefix":"aws-robomaker-simulationapplication.simulationsoftwaresuite",
+        "body":[
+            "${1:myAWSRoboMakerSimulationApplication.SimulationSoftwareSuite}:",
+            "  Type: AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite",
+            "  Properties:",
+            "    Version : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.iotanalyticsaction":{
+        "prefix":"aws-iot-topicrule.iotanalyticsaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.IotAnalyticsAction}:",
+            "  Type: AWS::IoT::TopicRule.IotAnalyticsAction",
+            "  Properties:",
+            "    ChannelName : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.backend":{
+        "prefix":"aws-appmesh-virtualnode.backend",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.Backend}:",
+            "  Type: AWS::AppMesh::VirtualNode.Backend",
+            "  Properties:",
+            "    VirtualService : ${2:aws-appmesh-virtualnodebackend.VirtualServiceBackend(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.origincustomheader":{
+        "prefix":"aws-cloudfront-distribution.origincustomheader",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.OriginCustomHeader}:",
+            "  Type: AWS::CloudFront::Distribution.OriginCustomHeader",
+            "  Properties:",
+            "    HeaderValue : ${2:String(R)}",
+            "    HeaderName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-graphqlapi.userpoolconfig":{
+        "prefix":"aws-appsync-graphqlapi.userpoolconfig",
+        "body":[
+            "${1:myAWSAppSyncGraphQLApi.UserPoolConfig}:",
+            "  Type: AWS::AppSync::GraphQLApi.UserPoolConfig",
+            "  Properties:",
+            "    AppIdClientRegex : ${2:String(O)}",
+            "    UserPoolId : ${2:String(O)}",
+            "    AwsRegion : ${2:String(O)}",
+            "    DefaultAction : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-gamelift-build.s3location":{
+        "prefix":"aws-gamelift-build.s3location",
+        "body":[
+            "${1:myAWSGameLiftBuild.S3Location}:",
+            "  Type: AWS::GameLift::Build.S3Location",
+            "  Properties:",
+            "    Bucket : ${2:String(R)}",
+            "    Key : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.kmsencryptionconfig":{
+        "prefix":"aws-kinesisfirehose-deliverystream.kmsencryptionconfig",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.KMSEncryptionConfig}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig",
+            "  Properties:",
+            "    AWSKMSKeyARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.volumespecification":{
+        "prefix":"aws-emr-cluster.volumespecification",
+        "body":[
+            "${1:myAWSEMRCluster.VolumeSpecification}:",
+            "  Type: AWS::EMR::Cluster.VolumeSpecification",
+            "  Properties:",
+            "    Iops : ${2:Integer(O)}",
+            "    SizeInGB : ${2:Integer(R)}",
+            "    VolumeType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-customactiontype.configurationproperties":{
+        "prefix":"aws-codepipeline-customactiontype.configurationproperties",
+        "body":[
+            "${1:myAWSCodePipelineCustomActionType.ConfigurationProperties}:",
+            "  Type: AWS::CodePipeline::CustomActionType.ConfigurationProperties",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Key : ${2:Boolean(R)}",
+            "    Name : ${2:String(R)}",
+            "    Queryable : ${2:Boolean(O)}",
+            "    Required : ${2:Boolean(R)}",
+            "    Secret : ${2:Boolean(R)}",
+            "    Type : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.spotfleetmonitoring":{
+        "prefix":"aws-ec2-spotfleet.spotfleetmonitoring",
+        "body":[
+            "${1:myAWSEC2SpotFleet.SpotFleetMonitoring}:",
+            "  Type: AWS::EC2::SpotFleet.SpotFleetMonitoring",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.encryptionkey":{
+        "prefix":"aws-codepipeline-pipeline.encryptionkey",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.EncryptionKey}:",
+            "  Type: AWS::CodePipeline::Pipeline.EncryptionKey",
+            "  Properties:",
+            "    Id : ${2:String(R)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.dynamodbconfig":{
+        "prefix":"aws-appsync-datasource.dynamodbconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.DynamoDBConfig}:",
+            "  Type: AWS::AppSync::DataSource.DynamoDBConfig",
+            "  Properties:",
+            "    TableName : ${2:String(R)}",
+            "    AwsRegion : ${2:String(R)}",
+            "    UseCallerCredentials : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.publicaccessblockconfiguration":{
+        "prefix":"aws-s3-bucket.publicaccessblockconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.PublicAccessBlockConfiguration}:",
+            "  Type: AWS::S3::Bucket.PublicAccessBlockConfiguration",
+            "  Properties:",
+            "    BlockPublicAcls : ${2:Boolean(O)}",
+            "    BlockPublicPolicy : ${2:Boolean(O)}",
+            "    IgnorePublicAcls : ${2:Boolean(O)}",
+            "    RestrictPublicBuckets : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.hibernationoptions":{
+        "prefix":"aws-ec2-launchtemplate.hibernationoptions",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.HibernationOptions}:",
+            "  Type: AWS::EC2::LaunchTemplate.HibernationOptions",
+            "  Properties:",
+            "    Configured : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.volumespecification":{
+        "prefix":"aws-emr-instancegroupconfig.volumespecification",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.VolumeSpecification}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.VolumeSpecification",
+            "  Properties:",
+            "    Iops : ${2:Integer(O)}",
+            "    SizeInGB : ${2:Integer(R)}",
+            "    VolumeType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-sqlinjectionmatchset.sqlinjectionmatchtuple":{
+        "prefix":"aws-wafregional-sqlinjectionmatchset.sqlinjectionmatchtuple",
+        "body":[
+            "${1:myAWSWAFRegionalSqlInjectionMatchSet.SqlInjectionMatchTuple}:",
+            "  Type: AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple",
+            "  Properties:",
+            "    TextTransformation : ${2:String(R)}",
+            "    FieldToMatch : ${2:aws-wafregional-sqlinjectionmatchsetsqlinjectionmatchtuple.FieldToMatch(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-optiongroup.optionsetting":{
+        "prefix":"aws-rds-optiongroup.optionsetting",
+        "body":[
+            "${1:myAWSRDSOptionGroup.OptionSetting}:",
+            "  Type: AWS::RDS::OptionGroup.OptionSetting",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.deployment":{
+        "prefix":"aws-codedeploy-deploymentgroup.deployment",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.Deployment}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.Deployment",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    IgnoreApplicationStopFailures : ${2:Boolean(O)}",
+            "    Revision : ${2:aws-codedeploy-deploymentgroupdeployment.RevisionLocation(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypoolroleattachment.mappingrule":{
+        "prefix":"aws-cognito-identitypoolroleattachment.mappingrule",
+        "body":[
+            "${1:myAWSCognitoIdentityPoolRoleAttachment.MappingRule}:",
+            "  Type: AWS::Cognito::IdentityPoolRoleAttachment.MappingRule",
+            "  Properties:",
+            "    MatchType : ${2:String(R)}",
+            "    Value : ${2:String(R)}",
+            "    Claim : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypool.cognitostreams":{
+        "prefix":"aws-cognito-identitypool.cognitostreams",
+        "body":[
+            "${1:myAWSCognitoIdentityPool.CognitoStreams}:",
+            "  Type: AWS::Cognito::IdentityPool.CognitoStreams",
+            "  Properties:",
+            "    StreamingStatus : ${2:String(O)}",
+            "    StreamName : ${2:String(O)}",
+            "    RoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.inputschema":{
+        "prefix":"aws-kinesisanalyticsv2-application.inputschema",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.InputSchema}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.InputSchema",
+            "  Properties:",
+            "    RecordEncoding : ${2:String(O)}",
+            "    RecordColumns : [ ${2:aws-kinesisanalyticsv2-applicationinputschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${2:aws-kinesisanalyticsv2-applicationinputschema.RecordFormat(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition.partitioninput":{
+        "prefix":"aws-glue-partition.partitioninput",
+        "body":[
+            "${1:myAWSGluePartition.PartitionInput}:",
+            "  Type: AWS::Glue::Partition.PartitionInput",
+            "  Properties:",
+            "    Parameters : ${2:Json(O)}",
+            "    StorageDescriptor : ${2:aws-glue-partitionpartitioninput.StorageDescriptor(O)}",
+            "    Values : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.networkconfiguration":{
+        "prefix":"aws-ecs-service.networkconfiguration",
+        "body":[
+            "${1:myAWSECSService.NetworkConfiguration}:",
+            "  Type: AWS::ECS::Service.NetworkConfiguration",
+            "  Properties:",
+            "    AwsvpcConfiguration : ${2:aws-ecs-servicenetworkconfiguration.AwsVpcConfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationoutput.destinationschema":{
+        "prefix":"aws-kinesisanalytics-applicationoutput.destinationschema",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationOutput.DestinationSchema}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema",
+            "  Properties:",
+            "    RecordFormatType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.instancefleetprovisioningspecifications":{
+        "prefix":"aws-emr-cluster.instancefleetprovisioningspecifications",
+        "body":[
+            "${1:myAWSEMRCluster.InstanceFleetProvisioningSpecifications}:",
+            "  Type: AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications",
+            "  Properties:",
+            "    SpotSpecification : ${2:aws-emr-clusterinstancefleetprovisioningspecifications.SpotProvisioningSpecification(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-datastore.retentionperiod":{
+        "prefix":"aws-iotanalytics-datastore.retentionperiod",
+        "body":[
+            "${1:myAWSIoTAnalyticsDatastore.RetentionPeriod}:",
+            "  Type: AWS::IoTAnalytics::Datastore.RetentionPeriod",
+            "  Properties:",
+            "    NumberOfDays : ${2:Integer(O)}",
+            "    Unlimited : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dax-cluster.ssespecification":{
+        "prefix":"aws-dax-cluster.ssespecification",
+        "body":[
+            "${1:myAWSDAXCluster.SSESpecification}:",
+            "  Type: AWS::DAX::Cluster.SSESpecification",
+            "  Properties:",
+            "    SSEEnabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticache-replicationgroup.nodegroupconfiguration":{
+        "prefix":"aws-elasticache-replicationgroup.nodegroupconfiguration",
+        "body":[
+            "${1:myAWSElastiCacheReplicationGroup.NodeGroupConfiguration}:",
+            "  Type: AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration",
+            "  Properties:",
+            "    NodeGroupId : ${2:String(O)}",
+            "    PrimaryAvailabilityZone : ${2:String(O)}",
+            "    ReplicaAvailabilityZones : [ ${2:String(O)} ]",
+            "    ReplicaCount : ${2:Integer(O)}",
+            "    Slots : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table.column":{
+        "prefix":"aws-glue-table.column",
+        "body":[
+            "${1:myAWSGlueTable.Column}:",
+            "  Type: AWS::Glue::Table.Column",
+            "  Properties:",
+            "    Comment : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-endpoint.dynamodbsettings":{
+        "prefix":"aws-dms-endpoint.dynamodbsettings",
+        "body":[
+            "${1:myAWSDMSEndpoint.DynamoDbSettings}:",
+            "  Type: AWS::DMS::Endpoint.DynamoDbSettings",
+            "  Properties:",
+            "    ServiceAccessRoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-group.groupversion":{
+        "prefix":"aws-greengrass-group.groupversion",
+        "body":[
+            "${1:myAWSGreengrassGroup.GroupVersion}:",
+            "  Type: AWS::Greengrass::Group.GroupVersion",
+            "  Properties:",
+            "    LoggerDefinitionVersionArn : ${2:String(O)}",
+            "    DeviceDefinitionVersionArn : ${2:String(O)}",
+            "    FunctionDefinitionVersionArn : ${2:String(O)}",
+            "    CoreDefinitionVersionArn : ${2:String(O)}",
+            "    ResourceDefinitionVersionArn : ${2:String(O)}",
+            "    ConnectorDefinitionVersionArn : ${2:String(O)}",
+            "    SubscriptionDefinitionVersionArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.maintenancewindowruncommandparameters":{
+        "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowruncommandparameters",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowRunCommandParameters}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters",
+            "  Properties:",
+            "    TimeoutSeconds : ${2:Integer(O)}",
+            "    Comment : ${2:String(O)}",
+            "    OutputS3KeyPrefix : ${2:String(O)}",
+            "    Parameters : ${2:Json(O)}",
+            "    DocumentHashType : ${2:String(O)}",
+            "    ServiceRoleArn : ${2:String(O)}",
+            "    NotificationConfig : ${2:aws-ssm-maintenancewindowtaskmaintenancewindowruncommandparameters.NotificationConfig(O)}",
+            "    OutputS3BucketName : ${2:String(O)}",
+            "    DocumentHash : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.customizedloadmetricspecification":{
+        "prefix":"aws-autoscalingplans-scalingplan.customizedloadmetricspecification",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.CustomizedLoadMetricSpecification}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification",
+            "  Properties:",
+            "    MetricName : ${2:String(R)}",
+            "    Statistic : ${2:String(R)}",
+            "    Dimensions : [ ${2:aws-autoscalingplans-scalingplancustomizedloadmetricspecification.MetricDimension(O)} ]",
+            "    Unit : ${2:String(O)}",
+            "    Namespace : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-application.maxagerule":{
+        "prefix":"aws-elasticbeanstalk-application.maxagerule",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplication.MaxAgeRule}:",
+            "  Type: AWS::ElasticBeanstalk::Application.MaxAgeRule",
+            "  Properties:",
+            "    DeleteSourceFromS3 : ${2:Boolean(O)}",
+            "    Enabled : ${2:Boolean(O)}",
+            "    MaxAgeInDays : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.autoscalingpolicy":{
+        "prefix":"aws-emr-instancegroupconfig.autoscalingpolicy",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.AutoScalingPolicy}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.AutoScalingPolicy",
+            "  Properties:",
+            "    Constraints : ${2:aws-emr-instancegroupconfigautoscalingpolicy.ScalingConstraints(R)}",
+            "    Rules : [ ${2:aws-emr-instancegroupconfigautoscalingpolicy.ScalingRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.tmpfs":{
+        "prefix":"aws-ecs-taskdefinition.tmpfs",
+        "body":[
+            "${1:myAWSECSTaskDefinition.Tmpfs}:",
+            "  Type: AWS::ECS::TaskDefinition.Tmpfs",
+            "  Properties:",
+            "    ContainerPath : ${2:String(O)}",
+            "    MountOptions : [ ${2:String(O)} ]",
+            "    Size : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.ebsconfiguration":{
+        "prefix":"aws-emr-instancegroupconfig.ebsconfiguration",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.EbsConfiguration}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.EbsConfiguration",
+            "  Properties:",
+            "    EbsBlockDeviceConfigs : [ ${2:aws-emr-instancegroupconfigebsconfiguration.EbsBlockDeviceConfig(O)} ]",
+            "    EbsOptimized : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-deployment.accesslogsetting":{
+        "prefix":"aws-apigateway-deployment.accesslogsetting",
+        "body":[
+            "${1:myAWSApiGatewayDeployment.AccessLogSetting}:",
+            "  Type: AWS::ApiGateway::Deployment.AccessLogSetting",
+            "  Properties:",
+            "    DestinationArn : ${2:String(O)}",
+            "    Format : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.webhookfilter":{
+        "prefix":"aws-codebuild-project.webhookfilter",
+        "body":[
+            "${1:myAWSCodeBuildProject.WebhookFilter}:",
+            "  Type: AWS::CodeBuild::Project.WebhookFilter",
+            "  Properties:",
+            "    Pattern : ${2:String(R)}",
+            "    Type : ${2:String(R)}",
+            "    ExcludeMatchedPattern : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-efs-filesystem.elasticfilesystemtag":{
+        "prefix":"aws-efs-filesystem.elasticfilesystemtag",
+        "body":[
+            "${1:myAWSEFSFileSystem.ElasticFileSystemTag}:",
+            "  Type: AWS::EFS::FileSystem.ElasticFileSystemTag",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.environment":{
+        "prefix":"aws-greengrass-functiondefinitionversion.environment",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.Environment}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.Environment",
+            "  Properties:",
+            "    Variables : ${2:Json(O)}",
+            "    Execution : ${2:aws-greengrass-functiondefinitionversionenvironment.Execution(O)}",
+            "    ResourceAccessPolicies : [ ${2:aws-greengrass-functiondefinitionversionenvironment.ResourceAccessPolicy(O)} ]",
+            "    AccessSysfs : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-crawler.schemachangepolicy":{
+        "prefix":"aws-glue-crawler.schemachangepolicy",
+        "body":[
+            "${1:myAWSGlueCrawler.SchemaChangePolicy}:",
+            "  Type: AWS::Glue::Crawler.SchemaChangePolicy",
+            "  Properties:",
+            "    UpdateBehavior : ${2:String(O)}",
+            "    DeleteBehavior : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.stringattributeconstraints":{
+        "prefix":"aws-cognito-userpool.stringattributeconstraints",
+        "body":[
+            "${1:myAWSCognitoUserPool.StringAttributeConstraints}:",
+            "  Type: AWS::Cognito::UserPool.StringAttributeConstraints",
+            "  Properties:",
+            "    MinLength : ${2:String(O)}",
+            "    MaxLength : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.portmapping":{
+        "prefix":"aws-appmesh-virtualnode.portmapping",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.PortMapping}:",
+            "  Type: AWS::AppMesh::VirtualNode.PortMapping",
+            "  Properties:",
+            "    Port : ${2:Integer(R)}",
+            "    Protocol : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.artifacts":{
+        "prefix":"aws-codebuild-project.artifacts",
+        "body":[
+            "${1:myAWSCodeBuildProject.Artifacts}:",
+            "  Type: AWS::CodeBuild::Project.Artifacts",
+            "  Properties:",
+            "    Path : ${2:String(O)}",
+            "    Type : ${2:String(R)}",
+            "    ArtifactIdentifier : ${2:String(O)}",
+            "    OverrideArtifactName : ${2:Boolean(O)}",
+            "    Packaging : ${2:String(O)}",
+            "    EncryptionDisabled : ${2:Boolean(O)}",
+            "    Location : ${2:String(O)}",
+            "    Name : ${2:String(O)}",
+            "    NamespaceType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-fleet.computecapacity":{
+        "prefix":"aws-appstream-fleet.computecapacity",
+        "body":[
+            "${1:myAWSAppStreamFleet.ComputeCapacity}:",
+            "  Type: AWS::AppStream::Fleet.ComputeCapacity",
+            "  Properties:",
+            "    DesiredInstances : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.timetolivespecification":{
+        "prefix":"aws-dynamodb-table.timetolivespecification",
+        "body":[
+            "${1:myAWSDynamoDBTable.TimeToLiveSpecification}:",
+            "  Type: AWS::DynamoDB::Table.TimeToLiveSpecification",
+            "  Properties:",
+            "    AttributeName : ${2:String(R)}",
+            "    Enabled : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.loadbalancerinfo":{
+        "prefix":"aws-codedeploy-deploymentgroup.loadbalancerinfo",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.LoadBalancerInfo}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo",
+            "  Properties:",
+            "    ElbInfoList : [ ${2:aws-codedeploy-deploymentgrouploadbalancerinfo.ELBInfo(O)} ]",
+            "    TargetGroupInfoList : [ ${2:aws-codedeploy-deploymentgrouploadbalancerinfo.TargetGroupInfo(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.recordcolumn":{
+        "prefix":"aws-kinesisanalyticsv2-application.recordcolumn",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.RecordColumn}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.RecordColumn",
+            "  Properties:",
+            "    Mapping : ${2:String(O)}",
+            "    SqlType : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.notificationwithsubscribers":{
+        "prefix":"aws-budgets-budget.notificationwithsubscribers",
+        "body":[
+            "${1:myAWSBudgetsBudget.NotificationWithSubscribers}:",
+            "  Type: AWS::Budgets::Budget.NotificationWithSubscribers",
+            "  Properties:",
+            "    Subscribers : [ ${2:aws-budgets-budgetnotificationwithsubscribers.Subscriber(R)} ]",
+            "    Notification : ${2:aws-budgets-budgetnotificationwithsubscribers.Notification(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.revisionlocation":{
+        "prefix":"aws-codedeploy-deploymentgroup.revisionlocation",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.RevisionLocation}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.RevisionLocation",
+            "  Properties:",
+            "    GitHubLocation : ${2:aws-codedeploy-deploymentgrouprevisionlocation.GitHubLocation(O)}",
+            "    RevisionType : ${2:String(O)}",
+            "    S3Location : ${2:aws-codedeploy-deploymentgrouprevisionlocation.S3Location(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline.parameterattribute":{
+        "prefix":"aws-datapipeline-pipeline.parameterattribute",
+        "body":[
+            "${1:myAWSDataPipelinePipeline.ParameterAttribute}:",
+            "  Type: AWS::DataPipeline::Pipeline.ParameterAttribute",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    StringValue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.notificationfilter":{
+        "prefix":"aws-s3-bucket.notificationfilter",
+        "body":[
+            "${1:myAWSS3Bucket.NotificationFilter}:",
+            "  Type: AWS::S3::Bucket.NotificationFilter",
+            "  Properties:",
+            "    S3Key : ${2:aws-s3-bucketnotificationfilter.S3KeyFilter(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.sqsparameters":{
+        "prefix":"aws-events-rule.sqsparameters",
+        "body":[
+            "${1:myAWSEventsRule.SqsParameters}:",
+            "  Type: AWS::Events::Rule.SqsParameters",
+            "  Properties:",
+            "    MessageGroupId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicecatalog-cloudformationproduct.provisioningartifactproperties":{
+        "prefix":"aws-servicecatalog-cloudformationproduct.provisioningartifactproperties",
+        "body":[
+            "${1:myAWSServiceCatalogCloudFormationProduct.ProvisioningArtifactProperties}:",
+            "  Type: AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    Info : ${2:Json(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.authorizationconfig":{
+        "prefix":"aws-appsync-datasource.authorizationconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.AuthorizationConfig}:",
+            "  Type: AWS::AppSync::DataSource.AuthorizationConfig",
+            "  Properties:",
+            "    AwsIamConfig : ${2:aws-appsync-datasourceauthorizationconfig.AwsIamConfig(O)}",
+            "    AuthorizationType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.elasticsearchdestinationconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.elasticsearchdestinationconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.ElasticsearchDestinationConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration",
+            "  Properties:",
+            "    BufferingHints : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ElasticsearchBufferingHints(R)}",
+            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    DomainARN : ${2:String(R)}",
+            "    IndexName : ${2:String(R)}",
+            "    IndexRotationPeriod : ${2:String(R)}",
+            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ProcessingConfiguration(O)}",
+            "    RetryOptions : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ElasticsearchRetryOptions(R)}",
+            "    RoleARN : ${2:String(R)}",
+            "    S3BackupMode : ${2:String(R)}",
+            "    S3Configuration : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.S3DestinationConfiguration(R)}",
+            "    TypeName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-securitygroup.ingress":{
+        "prefix":"aws-ec2-securitygroup.ingress",
+        "body":[
+            "${1:myAWSEC2SecurityGroup.Ingress}:",
+            "  Type: AWS::EC2::SecurityGroup.Ingress",
+            "  Properties:",
+            "    CidrIp : ${2:String(O)}",
+            "    CidrIpv6 : ${2:String(O)}",
+            "    Description : ${2:String(O)}",
+            "    FromPort : ${2:Integer(O)}",
+            "    IpProtocol : ${2:String(R)}",
+            "    SourcePrefixListId : ${2:String(O)}",
+            "    SourceSecurityGroupId : ${2:String(O)}",
+            "    SourceSecurityGroupName : ${2:String(O)}",
+            "    SourceSecurityGroupOwnerId : ${2:String(O)}",
+            "    ToPort : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.lambdaconfiguration":{
+        "prefix":"aws-s3-bucket.lambdaconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.LambdaConfiguration}:",
+            "  Type: AWS::S3::Bucket.LambdaConfiguration",
+            "  Properties:",
+            "    Event : ${2:String(R)}",
+            "    Filter : ${2:aws-s3-bucketlambdaconfiguration.NotificationFilter(O)}",
+            "    Function : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.nodeproperties":{
+        "prefix":"aws-batch-jobdefinition.nodeproperties",
+        "body":[
+            "${1:myAWSBatchJobDefinition.NodeProperties}:",
+            "  Type: AWS::Batch::JobDefinition.NodeProperties",
+            "  Properties:",
+            "    MainNode : ${2:Integer(R)}",
+            "    NodeRangeProperties : [ ${2:aws-batch-jobdefinitionnodeproperties.NodeRangeProperty(R)} ]",
+            "    NumNodes : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.s3referencedatasource":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.s3referencedatasource",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.S3ReferenceDataSource}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource",
+            "  Properties:",
+            "    BucketARN : ${2:String(R)}",
+            "    FileKey : ${2:String(R)}",
+            "    ReferenceRoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualservice.virtualservicespec":{
+        "prefix":"aws-appmesh-virtualservice.virtualservicespec",
+        "body":[
+            "${1:myAWSAppMeshVirtualService.VirtualServiceSpec}:",
+            "  Type: AWS::AppMesh::VirtualService.VirtualServiceSpec",
+            "  Properties:",
+            "    Provider : ${2:aws-appmesh-virtualservicevirtualservicespec.VirtualServiceProvider(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-rule.predicate":{
+        "prefix":"aws-waf-rule.predicate",
+        "body":[
+            "${1:myAWSWAFRule.Predicate}:",
+            "  Type: AWS::WAF::Rule.Predicate",
+            "  Properties:",
+            "    DataId : ${2:String(R)}",
+            "    Negated : ${2:Boolean(R)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.replicationrule":{
+        "prefix":"aws-s3-bucket.replicationrule",
+        "body":[
+            "${1:myAWSS3Bucket.ReplicationRule}:",
+            "  Type: AWS::S3::Bucket.ReplicationRule",
+            "  Properties:",
+            "    Destination : ${2:aws-s3-bucketreplicationrule.ReplicationDestination(R)}",
+            "    Id : ${2:String(O)}",
+            "    Prefix : ${2:String(R)}",
+            "    SourceSelectionCriteria : ${2:aws-s3-bucketreplicationrule.SourceSelectionCriteria(O)}",
+            "    Status : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualservice.virtualrouterserviceprovider":{
+        "prefix":"aws-appmesh-virtualservice.virtualrouterserviceprovider",
+        "body":[
+            "${1:myAWSAppMeshVirtualService.VirtualRouterServiceProvider}:",
+            "  Type: AWS::AppMesh::VirtualService.VirtualRouterServiceProvider",
+            "  Properties:",
+            "    VirtualRouterName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.classicloadbalancer":{
+        "prefix":"aws-ec2-spotfleet.classicloadbalancer",
+        "body":[
+            "${1:myAWSEC2SpotFleet.ClassicLoadBalancer}:",
+            "  Type: AWS::EC2::SpotFleet.ClassicLoadBalancer",
+            "  Properties:",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.launchtemplatedata":{
+        "prefix":"aws-ec2-launchtemplate.launchtemplatedata",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.LaunchTemplateData}:",
+            "  Type: AWS::EC2::LaunchTemplate.LaunchTemplateData",
+            "  Properties:",
+            "    SecurityGroups : [ ${2:String(O)} ]",
+            "    TagSpecifications : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.TagSpecification(O)} ]",
+            "    UserData : ${2:String(O)}",
+            "    BlockDeviceMappings : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.BlockDeviceMapping(O)} ]",
+            "    IamInstanceProfile : ${2:aws-ec2-launchtemplatelaunchtemplatedata.IamInstanceProfile(O)}",
+            "    KernelId : ${2:String(O)}",
+            "    EbsOptimized : ${2:Boolean(O)}",
+            "    ElasticGpuSpecifications : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.ElasticGpuSpecification(O)} ]",
+            "    ElasticInferenceAccelerators : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.LaunchTemplateElasticInferenceAccelerator(O)} ]",
+            "    Placement : ${2:aws-ec2-launchtemplatelaunchtemplatedata.Placement(O)}",
+            "    NetworkInterfaces : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.NetworkInterface(O)} ]",
+            "    ImageId : ${2:String(O)}",
+            "    InstanceType : ${2:String(O)}",
+            "    Monitoring : ${2:aws-ec2-launchtemplatelaunchtemplatedata.Monitoring(O)}",
+            "    HibernationOptions : ${2:aws-ec2-launchtemplatelaunchtemplatedata.HibernationOptions(O)}",
+            "    LicenseSpecifications : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.LicenseSpecification(O)} ]",
+            "    InstanceInitiatedShutdownBehavior : ${2:String(O)}",
+            "    CpuOptions : ${2:aws-ec2-launchtemplatelaunchtemplatedata.CpuOptions(O)}",
+            "    SecurityGroupIds : [ ${2:String(O)} ]",
+            "    KeyName : ${2:String(O)}",
+            "    DisableApiTermination : ${2:Boolean(O)}",
+            "    InstanceMarketOptions : ${2:aws-ec2-launchtemplatelaunchtemplatedata.InstanceMarketOptions(O)}",
+            "    RamDiskId : ${2:String(O)}",
+            "    CapacityReservationSpecification : ${2:aws-ec2-launchtemplatelaunchtemplatedata.CapacityReservationSpecification(O)}",
+            "    CreditSpecification : ${2:aws-ec2-launchtemplatelaunchtemplatedata.CreditSpecification(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.parallelismconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.parallelismconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.ParallelismConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration",
+            "  Properties:",
+            "    ConfigurationType : ${2:String(R)}",
+            "    ParallelismPerKPU : ${2:Integer(O)}",
+            "    AutoScalingEnabled : ${2:Boolean(O)}",
+            "    Parallelism : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.defaultconfig":{
+        "prefix":"aws-greengrass-functiondefinitionversion.defaultconfig",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.DefaultConfig}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig",
+            "  Properties:",
+            "    Execution : ${2:aws-greengrass-functiondefinitionversiondefaultconfig.Execution(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.workmailaction":{
+        "prefix":"aws-ses-receiptrule.workmailaction",
+        "body":[
+            "${1:myAWSSESReceiptRule.WorkmailAction}:",
+            "  Type: AWS::SES::ReceiptRule.WorkmailAction",
+            "  Properties:",
+            "    TopicArn : ${2:String(O)}",
+            "    OrganizationArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener.authenticateoidcconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listener.authenticateoidcconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener.AuthenticateOidcConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig",
+            "  Properties:",
+            "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
+            "    AuthorizationEndpoint : ${2:String(R)}",
+            "    ClientId : ${2:String(R)}",
+            "    ClientSecret : ${2:String(R)}",
+            "    Issuer : ${2:String(R)}",
+            "    OnUnauthenticatedRequest : ${2:String(O)}",
+            "    Scope : ${2:String(O)}",
+            "    SessionCookieName : ${2:String(O)}",
+            "    SessionTimeout : ${2:Long(O)}",
+            "    TokenEndpoint : ${2:String(R)}",
+            "    UserInfoEndpoint : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain.vpcoptions":{
+        "prefix":"aws-elasticsearch-domain.vpcoptions",
+        "body":[
+            "${1:myAWSElasticsearchDomain.VPCOptions}:",
+            "  Type: AWS::Elasticsearch::Domain.VPCOptions",
+            "  Properties:",
+            "    SecurityGroupIds : [ ${2:String(O)} ]",
+            "    SubnetIds : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.healthcheck":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.healthcheck",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.HealthCheck}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck",
+            "  Properties:",
+            "    HealthyThreshold : ${2:String(R)}",
+            "    Interval : ${2:String(R)}",
+            "    Target : ${2:String(R)}",
+            "    Timeout : ${2:String(R)}",
+            "    UnhealthyThreshold : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.launchtemplateconfig":{
+        "prefix":"aws-ec2-spotfleet.launchtemplateconfig",
+        "body":[
+            "${1:myAWSEC2SpotFleet.LaunchTemplateConfig}:",
+            "  Type: AWS::EC2::SpotFleet.LaunchTemplateConfig",
+            "  Properties:",
+            "    LaunchTemplateSpecification : ${2:aws-ec2-spotfleetlaunchtemplateconfig.FleetLaunchTemplateSpecification(O)}",
+            "    Overrides : [ ${2:aws-ec2-spotfleetlaunchtemplateconfig.LaunchTemplateOverrides(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.elasticgpuspecification":{
+        "prefix":"aws-ec2-instance.elasticgpuspecification",
+        "body":[
+            "${1:myAWSEC2Instance.ElasticGpuSpecification}:",
+            "  Type: AWS::EC2::Instance.ElasticGpuSpecification",
+            "  Properties:",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.triggerconfig":{
+        "prefix":"aws-codedeploy-deploymentgroup.triggerconfig",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.TriggerConfig}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.TriggerConfig",
+            "  Properties:",
+            "    TriggerEvents : [ ${2:String(O)} ]",
+            "    TriggerName : ${2:String(O)}",
+            "    TriggerTargetArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.csvmappingparameters":{
+        "prefix":"aws-kinesisanalyticsv2-application.csvmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.CSVMappingParameters}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.CSVMappingParameters",
+            "  Properties:",
+            "    RecordRowDelimiter : ${2:String(R)}",
+            "    RecordColumnDelimiter : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.virtualservicebackend":{
+        "prefix":"aws-appmesh-virtualnode.virtualservicebackend",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.VirtualServiceBackend}:",
+            "  Type: AWS::AppMesh::VirtualNode.VirtualServiceBackend",
+            "  Properties:",
+            "    VirtualServiceName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline.pipelinetag":{
+        "prefix":"aws-datapipeline-pipeline.pipelinetag",
+        "body":[
+            "${1:myAWSDataPipelinePipeline.PipelineTag}:",
+            "  Type: AWS::DataPipeline::Pipeline.PipelineTag",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.mappingparameters":{
+        "prefix":"aws-kinesisanalytics-application.mappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.MappingParameters}:",
+            "  Type: AWS::KinesisAnalytics::Application.MappingParameters",
+            "  Properties:",
+            "    JSONMappingParameters : ${2:aws-kinesisanalytics-applicationmappingparameters.JSONMappingParameters(O)}",
+            "    CSVMappingParameters : ${2:aws-kinesisanalytics-applicationmappingparameters.CSVMappingParameters(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.customoriginconfig":{
+        "prefix":"aws-cloudfront-distribution.customoriginconfig",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.CustomOriginConfig}:",
+            "  Type: AWS::CloudFront::Distribution.CustomOriginConfig",
+            "  Properties:",
+            "    OriginReadTimeout : ${2:Integer(O)}",
+            "    HTTPSPort : ${2:Integer(O)}",
+            "    OriginKeepaliveTimeout : ${2:Integer(O)}",
+            "    OriginSSLProtocols : [ ${2:String(O)} ]",
+            "    HTTPPort : ${2:Integer(O)}",
+            "    OriginProtocolPolicy : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.monitoringconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.monitoringconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.MonitoringConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration",
+            "  Properties:",
+            "    ConfigurationType : ${2:String(R)}",
+            "    MetricsLevel : ${2:String(O)}",
+            "    LogLevel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-networkaclentry.icmp":{
+        "prefix":"aws-ec2-networkaclentry.icmp",
+        "body":[
+            "${1:myAWSEC2NetworkAclEntry.Icmp}:",
+            "  Type: AWS::EC2::NetworkAclEntry.Icmp",
+            "  Properties:",
+            "    Code : ${2:Integer(O)}",
+            "    Type : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.attributedefinition":{
+        "prefix":"aws-dynamodb-table.attributedefinition",
+        "body":[
+            "${1:myAWSDynamoDBTable.AttributeDefinition}:",
+            "  Type: AWS::DynamoDB::Table.AttributeDefinition",
+            "  Properties:",
+            "    AttributeName : ${2:String(R)}",
+            "    AttributeType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-cloudfrontoriginaccessidentity.cloudfrontoriginaccessidentityconfig":{
+        "prefix":"aws-cloudfront-cloudfrontoriginaccessidentity.cloudfrontoriginaccessidentityconfig",
+        "body":[
+            "${1:myAWSCloudFrontCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig}:",
+            "  Type: AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig",
+            "  Properties:",
+            "    Comment : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.activity":{
+        "prefix":"aws-iotanalytics-pipeline.activity",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.Activity}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.Activity",
+            "  Properties:",
+            "    SelectAttributes : ${2:aws-iotanalytics-pipelineactivity.SelectAttributes(O)}",
+            "    Datastore : ${2:aws-iotanalytics-pipelineactivity.Datastore(O)}",
+            "    Filter : ${2:aws-iotanalytics-pipelineactivity.Filter(O)}",
+            "    AddAttributes : ${2:aws-iotanalytics-pipelineactivity.AddAttributes(O)}",
+            "    Channel : ${2:aws-iotanalytics-pipelineactivity.Channel(O)}",
+            "    DeviceShadowEnrich : ${2:aws-iotanalytics-pipelineactivity.DeviceShadowEnrich(O)}",
+            "    Math : ${2:aws-iotanalytics-pipelineactivity.Math(O)}",
+            "    Lambda : ${2:aws-iotanalytics-pipelineactivity.Lambda(O)}",
+            "    DeviceRegistryEnrich : ${2:aws-iotanalytics-pipelineactivity.DeviceRegistryEnrich(O)}",
+            "    RemoveAttributes : ${2:aws-iotanalytics-pipelineactivity.RemoveAttributes(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.mixedinstancespolicy":{
+        "prefix":"aws-autoscaling-autoscalinggroup.mixedinstancespolicy",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.MixedInstancesPolicy}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy",
+            "  Properties:",
+            "    InstancesDistribution : ${2:aws-autoscaling-autoscalinggroupmixedinstancespolicy.InstancesDistribution(O)}",
+            "    LaunchTemplate : ${2:aws-autoscaling-autoscalinggroupmixedinstancespolicy.LaunchTemplate(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-endpointconfig.productionvariant":{
+        "prefix":"aws-sagemaker-endpointconfig.productionvariant",
+        "body":[
+            "${1:myAWSSageMakerEndpointConfig.ProductionVariant}:",
+            "  Type: AWS::SageMaker::EndpointConfig.ProductionVariant",
+            "  Properties:",
+            "    ModelName : ${2:String(R)}",
+            "    VariantName : ${2:String(R)}",
+            "    InitialInstanceCount : ${2:Integer(R)}",
+            "    InstanceType : ${2:String(R)}",
+            "    AcceleratorType : ${2:String(O)}",
+            "    InitialVariantWeight : ${2:Double(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53resolver-resolverendpoint.ipaddressrequest":{
+        "prefix":"aws-route53resolver-resolverendpoint.ipaddressrequest",
+        "body":[
+            "${1:myAWSRoute53ResolverResolverEndpoint.IpAddressRequest}:",
+            "  Type: AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest",
+            "  Properties:",
+            "    Ip : ${2:String(O)}",
+            "    SubnetId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.stopaction":{
+        "prefix":"aws-ses-receiptrule.stopaction",
+        "body":[
+            "${1:myAWSSESReceiptRule.StopAction}:",
+            "  Type: AWS::SES::ReceiptRule.StopAction",
+            "  Properties:",
+            "    Scope : ${2:String(R)}",
+            "    TopicArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.retrystrategy":{
+        "prefix":"aws-batch-jobdefinition.retrystrategy",
+        "body":[
+            "${1:myAWSBatchJobDefinition.RetryStrategy}:",
+            "  Type: AWS::Batch::JobDefinition.RetryStrategy",
+            "  Properties:",
+            "    Attempts : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.actiondeclaration":{
+        "prefix":"aws-codepipeline-pipeline.actiondeclaration",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.ActionDeclaration}:",
+            "  Type: AWS::CodePipeline::Pipeline.ActionDeclaration",
+            "  Properties:",
+            "    ActionTypeId : ${2:aws-codepipeline-pipelineactiondeclaration.ActionTypeId(R)}",
+            "    Configuration : ${2:Json(O)}",
+            "    InputArtifacts : [ ${2:aws-codepipeline-pipelineactiondeclaration.InputArtifact(O)} ]",
+            "    Name : ${2:String(R)}",
+            "    OutputArtifacts : [ ${2:aws-codepipeline-pipelineactiondeclaration.OutputArtifact(O)} ]",
+            "    Region : ${2:String(O)}",
+            "    RoleArn : ${2:String(O)}",
+            "    RunOrder : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.instancemarketoptions":{
+        "prefix":"aws-ec2-launchtemplate.instancemarketoptions",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.InstanceMarketOptions}:",
+            "  Type: AWS::EC2::LaunchTemplate.InstanceMarketOptions",
+            "  Properties:",
+            "    SpotOptions : ${2:aws-ec2-launchtemplateinstancemarketoptions.SpotOptions(O)}",
+            "    MarketType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.configuration":{
+        "prefix":"aws-emr-instancegroupconfig.configuration",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.Configuration}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.Configuration",
+            "  Properties:",
+            "    Classification : ${2:String(O)}",
+            "    ConfigurationProperties : [ ${2:String(O)} ]",
+            "    Configurations : [ ${2:aws-emr-instancegroupconfigconfiguration.Configuration(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-clusterparametergroup.parameter":{
+        "prefix":"aws-redshift-clusterparametergroup.parameter",
+        "body":[
+            "${1:myAWSRedshiftClusterParameterGroup.Parameter}:",
+            "  Type: AWS::Redshift::ClusterParameterGroup.Parameter",
+            "  Properties:",
+            "    ParameterName : ${2:String(R)}",
+            "    ParameterValue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.volumespecification":{
+        "prefix":"aws-emr-instancefleetconfig.volumespecification",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.VolumeSpecification}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.VolumeSpecification",
+            "  Properties:",
+            "    Iops : ${2:Integer(O)}",
+            "    SizeInGB : ${2:Integer(R)}",
+            "    VolumeType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.instancegroupconfig":{
+        "prefix":"aws-emr-cluster.instancegroupconfig",
+        "body":[
+            "${1:myAWSEMRCluster.InstanceGroupConfig}:",
+            "  Type: AWS::EMR::Cluster.InstanceGroupConfig",
+            "  Properties:",
+            "    AutoScalingPolicy : ${2:aws-emr-clusterinstancegroupconfig.AutoScalingPolicy(O)}",
+            "    BidPrice : ${2:String(O)}",
+            "    Configurations : [ ${2:aws-emr-clusterinstancegroupconfig.Configuration(O)} ]",
+            "    EbsConfiguration : ${2:aws-emr-clusterinstancegroupconfig.EbsConfiguration(O)}",
+            "    InstanceCount : ${2:Integer(R)}",
+            "    InstanceType : ${2:String(R)}",
+            "    Market : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-redshift-cluster.loggingproperties":{
+        "prefix":"aws-redshift-cluster.loggingproperties",
+        "body":[
+            "${1:myAWSRedshiftCluster.LoggingProperties}:",
+            "  Type: AWS::Redshift::Cluster.LoggingProperties",
+            "  Properties:",
+            "    BucketName : ${2:String(R)}",
+            "    S3KeyPrefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.creditspecification":{
+        "prefix":"aws-ec2-launchtemplate.creditspecification",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.CreditSpecification}:",
+            "  Type: AWS::EC2::LaunchTemplate.CreditSpecification",
+            "  Properties:",
+            "    CpuCredits : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53resolver-resolverrule.targetaddress":{
+        "prefix":"aws-route53resolver-resolverrule.targetaddress",
+        "body":[
+            "${1:myAWSRoute53ResolverResolverRule.TargetAddress}:",
+            "  Type: AWS::Route53Resolver::ResolverRule.TargetAddress",
+            "  Properties:",
+            "    Ip : ${2:String(R)}",
+            "    Port : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-simulationapplication.robotsoftwaresuite":{
+        "prefix":"aws-robomaker-simulationapplication.robotsoftwaresuite",
+        "body":[
+            "${1:myAWSRoboMakerSimulationApplication.RobotSoftwareSuite}:",
+            "  Type: AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite",
+            "  Properties:",
+            "    Version : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.serversideencryptionrule":{
+        "prefix":"aws-s3-bucket.serversideencryptionrule",
+        "body":[
+            "${1:myAWSS3Bucket.ServerSideEncryptionRule}:",
+            "  Type: AWS::S3::Bucket.ServerSideEncryptionRule",
+            "  Properties:",
+            "    ServerSideEncryptionByDefault : ${2:aws-s3-bucketserversideencryptionrule.ServerSideEncryptionByDefault(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-webacl.rule":{
+        "prefix":"aws-wafregional-webacl.rule",
+        "body":[
+            "${1:myAWSWAFRegionalWebACL.Rule}:",
+            "  Type: AWS::WAFRegional::WebACL.Rule",
+            "  Properties:",
+            "    Action : ${2:aws-wafregional-webaclrule.Action(R)}",
+            "    Priority : ${2:Integer(R)}",
+            "    RuleId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-association.instanceassociationoutputlocation":{
+        "prefix":"aws-ssm-association.instanceassociationoutputlocation",
+        "body":[
+            "${1:myAWSSSMAssociation.InstanceAssociationOutputLocation}:",
+            "  Type: AWS::SSM::Association.InstanceAssociationOutputLocation",
+            "  Properties:",
+            "    S3Location : ${2:aws-ssm-associationinstanceassociationoutputlocation.S3OutputLocation(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition.storagedescriptor":{
+        "prefix":"aws-glue-partition.storagedescriptor",
+        "body":[
+            "${1:myAWSGluePartition.StorageDescriptor}:",
+            "  Type: AWS::Glue::Partition.StorageDescriptor",
+            "  Properties:",
+            "    StoredAsSubDirectories : ${2:Boolean(O)}",
+            "    Parameters : ${2:Json(O)}",
+            "    BucketColumns : [ ${2:String(O)} ]",
+            "    SkewedInfo : ${2:aws-glue-partitionstoragedescriptor.SkewedInfo(O)}",
+            "    InputFormat : ${2:String(O)}",
+            "    NumberOfBuckets : ${2:Integer(O)}",
+            "    OutputFormat : ${2:String(O)}",
+            "    Columns : [ ${2:aws-glue-partitionstoragedescriptor.Column(O)} ]",
+            "    SerdeInfo : ${2:aws-glue-partitionstoragedescriptor.SerdeInfo(O)}",
+            "    SortColumns : [ ${2:aws-glue-partitionstoragedescriptor.Order(O)} ]",
+            "    Compressed : ${2:Boolean(O)}",
+            "    Location : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-trigger.action":{
+        "prefix":"aws-glue-trigger.action",
+        "body":[
+            "${1:myAWSGlueTrigger.Action}:",
+            "  Type: AWS::Glue::Trigger.Action",
+            "  Properties:",
+            "    JobName : ${2:String(O)}",
+            "    Arguments : ${2:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.networkinterface":{
+        "prefix":"aws-ec2-instance.networkinterface",
+        "body":[
+            "${1:myAWSEC2Instance.NetworkInterface}:",
+            "  Type: AWS::EC2::Instance.NetworkInterface",
+            "  Properties:",
+            "    AssociatePublicIpAddress : ${2:Boolean(O)}",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    Description : ${2:String(O)}",
+            "    DeviceIndex : ${2:String(R)}",
+            "    GroupSet : [ ${2:String(O)} ]",
+            "    Ipv6AddressCount : ${2:Integer(O)}",
+            "    Ipv6Addresses : [ ${2:aws-ec2-instancenetworkinterface.InstanceIpv6Address(O)} ]",
+            "    NetworkInterfaceId : ${2:String(O)}",
+            "    PrivateIpAddress : ${2:String(O)}",
+            "    PrivateIpAddresses : [ ${2:aws-ec2-instancenetworkinterface.PrivateIpAddressSpecification(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${2:Integer(O)}",
+            "    SubnetId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.applicationsource":{
+        "prefix":"aws-autoscalingplans-scalingplan.applicationsource",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.ApplicationSource}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.ApplicationSource",
+            "  Properties:",
+            "    CloudFormationStackARN : ${2:String(O)}",
+            "    TagFilters : [ ${2:aws-autoscalingplans-scalingplanapplicationsource.TagFilter(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.iaminstanceprofilespecification":{
+        "prefix":"aws-ec2-spotfleet.iaminstanceprofilespecification",
+        "body":[
+            "${1:myAWSEC2SpotFleet.IamInstanceProfileSpecification}:",
+            "  Type: AWS::EC2::SpotFleet.IamInstanceProfileSpecification",
+            "  Properties:",
+            "    Arn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.recordformat":{
+        "prefix":"aws-kinesisanalyticsv2-application.recordformat",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.RecordFormat}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.RecordFormat",
+            "  Properties:",
+            "    MappingParameters : ${2:aws-kinesisanalyticsv2-applicationrecordformat.MappingParameters(O)}",
+            "    RecordFormatType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scalingpolicy.metricdimension":{
+        "prefix":"aws-autoscaling-scalingpolicy.metricdimension",
+        "body":[
+            "${1:myAWSAutoScalingScalingPolicy.MetricDimension}:",
+            "  Type: AWS::AutoScaling::ScalingPolicy.MetricDimension",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.instancenetworkinterfacespecification":{
+        "prefix":"aws-ec2-spotfleet.instancenetworkinterfacespecification",
+        "body":[
+            "${1:myAWSEC2SpotFleet.InstanceNetworkInterfaceSpecification}:",
+            "  Type: AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification",
+            "  Properties:",
+            "    AssociatePublicIpAddress : ${2:Boolean(O)}",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    Description : ${2:String(O)}",
+            "    DeviceIndex : ${2:Integer(O)}",
+            "    Groups : [ ${2:String(O)} ]",
+            "    Ipv6AddressCount : ${2:Integer(O)}",
+            "    Ipv6Addresses : [ ${2:aws-ec2-spotfleetinstancenetworkinterfacespecification.InstanceIpv6Address(O)} ]",
+            "    NetworkInterfaceId : ${2:String(O)}",
+            "    PrivateIpAddresses : [ ${2:aws-ec2-spotfleetinstancenetworkinterfacespecification.PrivateIpAddressSpecification(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${2:Integer(O)}",
+            "    SubnetId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.dockervolumeconfiguration":{
+        "prefix":"aws-ecs-taskdefinition.dockervolumeconfiguration",
+        "body":[
+            "${1:myAWSECSTaskDefinition.DockerVolumeConfiguration}:",
+            "  Type: AWS::ECS::TaskDefinition.DockerVolumeConfiguration",
+            "  Properties:",
+            "    Autoprovision : ${2:Boolean(O)}",
+            "    Driver : ${2:String(O)}",
+            "    DriverOpts : [ ${2:String(O)} ]",
+            "    Labels : [ ${2:String(O)} ]",
+            "    Scope : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-ipset.ipsetdescriptor":{
+        "prefix":"aws-wafregional-ipset.ipsetdescriptor",
+        "body":[
+            "${1:myAWSWAFRegionalIPSet.IPSetDescriptor}:",
+            "  Type: AWS::WAFRegional::IPSet.IPSetDescriptor",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.containerdefinition":{
+        "prefix":"aws-ecs-taskdefinition.containerdefinition",
+        "body":[
+            "${1:myAWSECSTaskDefinition.ContainerDefinition}:",
+            "  Type: AWS::ECS::TaskDefinition.ContainerDefinition",
+            "  Properties:",
+            "    Command : [ ${2:String(O)} ]",
+            "    Cpu : ${2:Integer(O)}",
+            "    DisableNetworking : ${2:Boolean(O)}",
+            "    DnsSearchDomains : [ ${2:String(O)} ]",
+            "    DnsServers : [ ${2:String(O)} ]",
+            "    DockerLabels : [ ${2:String(O)} ]",
+            "    DockerSecurityOptions : [ ${2:String(O)} ]",
+            "    EntryPoint : [ ${2:String(O)} ]",
+            "    Environment : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.KeyValuePair(O)} ]",
+            "    Essential : ${2:Boolean(O)}",
+            "    ExtraHosts : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.HostEntry(O)} ]",
+            "    HealthCheck : ${2:aws-ecs-taskdefinitioncontainerdefinition.HealthCheck(O)}",
+            "    Hostname : ${2:String(O)}",
+            "    Image : ${2:String(O)}",
+            "    Links : [ ${2:String(O)} ]",
+            "    LinuxParameters : ${2:aws-ecs-taskdefinitioncontainerdefinition.LinuxParameters(O)}",
+            "    LogConfiguration : ${2:aws-ecs-taskdefinitioncontainerdefinition.LogConfiguration(O)}",
+            "    Memory : ${2:Integer(O)}",
+            "    MemoryReservation : ${2:Integer(O)}",
+            "    MountPoints : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.MountPoint(O)} ]",
+            "    Name : ${2:String(O)}",
+            "    PortMappings : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.PortMapping(O)} ]",
+            "    Privileged : ${2:Boolean(O)}",
+            "    ReadonlyRootFilesystem : ${2:Boolean(O)}",
+            "    RepositoryCredentials : ${2:aws-ecs-taskdefinitioncontainerdefinition.RepositoryCredentials(O)}",
+            "    Ulimits : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.Ulimit(O)} ]",
+            "    User : ${2:String(O)}",
+            "    VolumesFrom : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.VolumeFrom(O)} ]",
+            "    WorkingDirectory : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.scalinginstruction":{
+        "prefix":"aws-autoscalingplans-scalingplan.scalinginstruction",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.ScalingInstruction}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction",
+            "  Properties:",
+            "    DisableDynamicScaling : ${2:Boolean(O)}",
+            "    ServiceNamespace : ${2:String(R)}",
+            "    PredictiveScalingMaxCapacityBehavior : ${2:String(O)}",
+            "    ScalableDimension : ${2:String(R)}",
+            "    ScalingPolicyUpdateBehavior : ${2:String(O)}",
+            "    MinCapacity : ${2:Integer(R)}",
+            "    TargetTrackingConfigurations : [ ${2:aws-autoscalingplans-scalingplanscalinginstruction.TargetTrackingConfiguration(R)} ]",
+            "    PredictiveScalingMaxCapacityBuffer : ${2:Integer(O)}",
+            "    CustomizedLoadMetricSpecification : ${2:aws-autoscalingplans-scalingplanscalinginstruction.CustomizedLoadMetricSpecification(O)}",
+            "    PredefinedLoadMetricSpecification : ${2:aws-autoscalingplans-scalingplanscalinginstruction.PredefinedLoadMetricSpecification(O)}",
+            "    ResourceId : ${2:String(R)}",
+            "    ScheduledActionBufferTime : ${2:Integer(O)}",
+            "    MaxCapacity : ${2:Integer(R)}",
+            "    PredictiveScalingMode : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.maintenancewindowlambdaparameters":{
+        "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowlambdaparameters",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowLambdaParameters}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters",
+            "  Properties:",
+            "    ClientContext : ${2:String(O)}",
+            "    Qualifier : ${2:String(O)}",
+            "    Payload : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "alexa-ask-skill.overrides":{
+        "prefix":"alexa-ask-skill.overrides",
+        "body":[
+            "${1:myAlexaASKSkill.Overrides}:",
+            "  Type: Alexa::ASK::Skill.Overrides",
+            "  Properties:",
+            "    Manifest : ${2:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-sqlinjectionmatchset.fieldtomatch":{
+        "prefix":"aws-waf-sqlinjectionmatchset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFSqlInjectionMatchSet.FieldToMatch}:",
+            "  Type: AWS::WAF::SqlInjectionMatchSet.FieldToMatch",
+            "  Properties:",
+            "    Data : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline.parameterobject":{
+        "prefix":"aws-datapipeline-pipeline.parameterobject",
+        "body":[
+            "${1:myAWSDataPipelinePipeline.ParameterObject}:",
+            "  Type: AWS::DataPipeline::Pipeline.ParameterObject",
+            "  Properties:",
+            "    Attributes : [ ${2:aws-datapipeline-pipelineparameterobject.ParameterAttribute(R)} ]",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.stagedeclaration":{
+        "prefix":"aws-codepipeline-pipeline.stagedeclaration",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.StageDeclaration}:",
+            "  Type: AWS::CodePipeline::Pipeline.StageDeclaration",
+            "  Properties:",
+            "    Actions : [ ${2:aws-codepipeline-pipelinestagedeclaration.ActionDeclaration(R)} ]",
+            "    Blockers : [ ${2:aws-codepipeline-pipelinestagedeclaration.BlockerDeclaration(O)} ]",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.scalingconstraints":{
+        "prefix":"aws-emr-cluster.scalingconstraints",
+        "body":[
+            "${1:myAWSEMRCluster.ScalingConstraints}:",
+            "  Type: AWS::EMR::Cluster.ScalingConstraints",
+            "  Properties:",
+            "    MaxCapacity : ${2:Integer(R)}",
+            "    MinCapacity : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.metricdimension":{
+        "prefix":"aws-emr-instancegroupconfig.metricdimension",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.MetricDimension}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.MetricDimension",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-method.methodresponse":{
+        "prefix":"aws-apigateway-method.methodresponse",
+        "body":[
+            "${1:myAWSApiGatewayMethod.MethodResponse}:",
+            "  Type: AWS::ApiGateway::Method.MethodResponse",
+            "  Properties:",
+            "    ResponseModels : [ ${2:String(O)} ]",
+            "    ResponseParameters : [ ${2:Boolean(O)} ]",
+            "    StatusCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-configurationtemplate.sourceconfiguration":{
+        "prefix":"aws-elasticbeanstalk-configurationtemplate.sourceconfiguration",
+        "body":[
+            "${1:myAWSElasticBeanstalkConfigurationTemplate.SourceConfiguration}:",
+            "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration",
+            "  Properties:",
+            "    ApplicationName : ${2:String(R)}",
+            "    TemplateName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener.redirectconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listener.redirectconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener.RedirectConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener.RedirectConfig",
+            "  Properties:",
+            "    Host : ${2:String(O)}",
+            "    Path : ${2:String(O)}",
+            "    Port : ${2:String(O)}",
+            "    Protocol : ${2:String(O)}",
+            "    Query : ${2:String(O)}",
+            "    StatusCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-connectordefinition.connectordefinitionversion":{
+        "prefix":"aws-greengrass-connectordefinition.connectordefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassConnectorDefinition.ConnectorDefinitionVersion}:",
+            "  Type: AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion",
+            "  Properties:",
+            "    Connectors : [ ${2:aws-greengrass-connectordefinitionconnectordefinitionversion.Connector(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.notificationconfiguration":{
+        "prefix":"aws-autoscaling-autoscalinggroup.notificationconfiguration",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.NotificationConfiguration}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration",
+            "  Properties:",
+            "    NotificationTypes : [ ${2:String(O)} ]",
+            "    TopicARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationoutput.kinesisstreamsoutput":{
+        "prefix":"aws-kinesisanalytics-applicationoutput.kinesisstreamsoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationOutput.KinesisStreamsOutput}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.function":{
+        "prefix":"aws-greengrass-functiondefinitionversion.function",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.Function}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.Function",
+            "  Properties:",
+            "    FunctionArn : ${2:String(R)}",
+            "    FunctionConfiguration : ${2:aws-greengrass-functiondefinitionversionfunction.FunctionConfiguration(R)}",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.monitoring":{
+        "prefix":"aws-ec2-launchtemplate.monitoring",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.Monitoring}:",
+            "  Type: AWS::EC2::LaunchTemplate.Monitoring",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition.order":{
+        "prefix":"aws-glue-partition.order",
+        "body":[
+            "${1:myAWSGluePartition.Order}:",
+            "  Type: AWS::Glue::Partition.Order",
+            "  Properties:",
+            "    Column : ${2:String(R)}",
+            "    SortOrder : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-service.dnsconfig":{
+        "prefix":"aws-servicediscovery-service.dnsconfig",
+        "body":[
+            "${1:myAWSServiceDiscoveryService.DnsConfig}:",
+            "  Type: AWS::ServiceDiscovery::Service.DnsConfig",
+            "  Properties:",
+            "    DnsRecords : [ ${2:aws-servicediscovery-servicednsconfig.DnsRecord(R)} ]",
+            "    RoutingPolicy : ${2:String(O)}",
+            "    NamespaceId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-method.integration":{
+        "prefix":"aws-apigateway-method.integration",
+        "body":[
+            "${1:myAWSApiGatewayMethod.Integration}:",
+            "  Type: AWS::ApiGateway::Method.Integration",
+            "  Properties:",
+            "    CacheKeyParameters : [ ${2:String(O)} ]",
+            "    CacheNamespace : ${2:String(O)}",
+            "    ConnectionId : ${2:String(O)}",
+            "    ConnectionType : ${2:String(O)}",
+            "    ContentHandling : ${2:String(O)}",
+            "    Credentials : ${2:String(O)}",
+            "    IntegrationHttpMethod : ${2:String(O)}",
+            "    IntegrationResponses : [ ${2:aws-apigateway-methodintegration.IntegrationResponse(O)} ]",
+            "    PassthroughBehavior : ${2:String(O)}",
+            "    RequestParameters : [ ${2:String(O)} ]",
+            "    RequestTemplates : [ ${2:String(O)} ]",
+            "    TimeoutInMillis : ${2:Integer(O)}",
+            "    Type : ${2:String(O)}",
+            "    Uri : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.timeout":{
+        "prefix":"aws-batch-jobdefinition.timeout",
+        "body":[
+            "${1:myAWSBatchJobDefinition.Timeout}:",
+            "  Type: AWS::Batch::JobDefinition.Timeout",
+            "  Properties:",
+            "    AttemptDurationSeconds : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationoutput.destinationschema":{
+        "prefix":"aws-kinesisanalyticsv2-applicationoutput.destinationschema",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationOutput.DestinationSchema}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema",
+            "  Properties:",
+            "    RecordFormatType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.republishaction":{
+        "prefix":"aws-iot-topicrule.republishaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.RepublishAction}:",
+            "  Type: AWS::IoT::TopicRule.RepublishAction",
+            "  Properties:",
+            "    RoleArn : ${2:String(R)}",
+            "    Topic : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table.skewedinfo":{
+        "prefix":"aws-glue-table.skewedinfo",
+        "body":[
+            "${1:myAWSGlueTable.SkewedInfo}:",
+            "  Type: AWS::Glue::Table.SkewedInfo",
+            "  Properties:",
+            "    SkewedColumnNames : [ ${2:String(O)} ]",
+            "    SkewedColumnValues : [ ${2:String(O)} ]",
+            "    SkewedColumnValueLocationMaps : ${2:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-service.dnsrecord":{
+        "prefix":"aws-servicediscovery-service.dnsrecord",
+        "body":[
+            "${1:myAWSServiceDiscoveryService.DnsRecord}:",
+            "  Type: AWS::ServiceDiscovery::Service.DnsRecord",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    TTL : ${2:Double(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-devicedefinition.device":{
+        "prefix":"aws-greengrass-devicedefinition.device",
+        "body":[
+            "${1:myAWSGreengrassDeviceDefinition.Device}:",
+            "  Type: AWS::Greengrass::DeviceDefinition.Device",
+            "  Properties:",
+            "    SyncShadow : ${2:Boolean(O)}",
+            "    ThingArn : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    CertificateArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configrule.scope":{
+        "prefix":"aws-config-configrule.scope",
+        "body":[
+            "${1:myAWSConfigConfigRule.Scope}:",
+            "  Type: AWS::Config::ConfigRule.Scope",
+            "  Properties:",
+            "    ComplianceResourceId : ${2:String(O)}",
+            "    ComplianceResourceTypes : [ ${2:String(O)} ]",
+            "    TagKey : ${2:String(O)}",
+            "    TagValue : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.forwardedvalues":{
+        "prefix":"aws-cloudfront-distribution.forwardedvalues",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.ForwardedValues}:",
+            "  Type: AWS::CloudFront::Distribution.ForwardedValues",
+            "  Properties:",
+            "    Cookies : ${2:aws-cloudfront-distributionforwardedvalues.Cookies(O)}",
+            "    Headers : [ ${2:String(O)} ]",
+            "    QueryString : ${2:Boolean(R)}",
+            "    QueryStringCacheKeys : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-xssmatchset.fieldtomatch":{
+        "prefix":"aws-waf-xssmatchset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFXssMatchSet.FieldToMatch}:",
+            "  Type: AWS::WAF::XssMatchSet.FieldToMatch",
+            "  Properties:",
+            "    Data : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-method.integrationresponse":{
+        "prefix":"aws-apigateway-method.integrationresponse",
+        "body":[
+            "${1:myAWSApiGatewayMethod.IntegrationResponse}:",
+            "  Type: AWS::ApiGateway::Method.IntegrationResponse",
+            "  Properties:",
+            "    ContentHandling : ${2:String(O)}",
+            "    ResponseParameters : [ ${2:String(O)} ]",
+            "    ResponseTemplates : [ ${2:String(O)} ]",
+            "    SelectionPattern : ${2:String(O)}",
+            "    StatusCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-devicedefinition.devicedefinitionversion":{
+        "prefix":"aws-greengrass-devicedefinition.devicedefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassDeviceDefinition.DeviceDefinitionVersion}:",
+            "  Type: AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion",
+            "  Properties:",
+            "    Devices : [ ${2:aws-greengrass-devicedefinitiondevicedefinitionversion.Device(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.subscriber":{
+        "prefix":"aws-budgets-budget.subscriber",
+        "body":[
+            "${1:myAWSBudgetsBudget.Subscriber}:",
+            "  Type: AWS::Budgets::Budget.Subscriber",
+            "  Properties:",
+            "    SubscriptionType : ${2:String(R)}",
+            "    Address : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.scalingaction":{
+        "prefix":"aws-emr-cluster.scalingaction",
+        "body":[
+            "${1:myAWSEMRCluster.ScalingAction}:",
+            "  Type: AWS::EMR::Cluster.ScalingAction",
+            "  Properties:",
+            "    Market : ${2:String(O)}",
+            "    SimpleScalingPolicyConfiguration : ${2:aws-emr-clusterscalingaction.SimpleScalingPolicyConfiguration(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.spotfleetlaunchspecification":{
+        "prefix":"aws-ec2-spotfleet.spotfleetlaunchspecification",
+        "body":[
+            "${1:myAWSEC2SpotFleet.SpotFleetLaunchSpecification}:",
+            "  Type: AWS::EC2::SpotFleet.SpotFleetLaunchSpecification",
+            "  Properties:",
+            "    BlockDeviceMappings : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.BlockDeviceMapping(O)} ]",
+            "    EbsOptimized : ${2:Boolean(O)}",
+            "    IamInstanceProfile : ${2:aws-ec2-spotfleetspotfleetlaunchspecification.IamInstanceProfileSpecification(O)}",
+            "    ImageId : ${2:String(R)}",
+            "    InstanceType : ${2:String(R)}",
+            "    KernelId : ${2:String(O)}",
+            "    KeyName : ${2:String(O)}",
+            "    Monitoring : ${2:aws-ec2-spotfleetspotfleetlaunchspecification.SpotFleetMonitoring(O)}",
+            "    NetworkInterfaces : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.InstanceNetworkInterfaceSpecification(O)} ]",
+            "    Placement : ${2:aws-ec2-spotfleetspotfleetlaunchspecification.SpotPlacement(O)}",
+            "    RamdiskId : ${2:String(O)}",
+            "    SecurityGroups : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.GroupIdentifier(O)} ]",
+            "    SpotPrice : ${2:String(O)}",
+            "    SubnetId : ${2:String(O)}",
+            "    TagSpecifications : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.SpotFleetTagSpecification(O)} ]",
+            "    UserData : ${2:String(O)}",
+            "    WeightedCapacity : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.keyvaluepair":{
+        "prefix":"aws-ecs-taskdefinition.keyvaluepair",
+        "body":[
+            "${1:myAWSECSTaskDefinition.KeyValuePair}:",
+            "  Type: AWS::ECS::TaskDefinition.KeyValuePair",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-customactiontype.settings":{
+        "prefix":"aws-codepipeline-customactiontype.settings",
+        "body":[
+            "${1:myAWSCodePipelineCustomActionType.Settings}:",
+            "  Type: AWS::CodePipeline::CustomActionType.Settings",
+            "  Properties:",
+            "    EntityUrlTemplate : ${2:String(O)}",
+            "    ExecutionUrlTemplate : ${2:String(O)}",
+            "    RevisionUrlTemplate : ${2:String(O)}",
+            "    ThirdPartyConfigurationUrl : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.analyticsconfiguration":{
+        "prefix":"aws-s3-bucket.analyticsconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.AnalyticsConfiguration}:",
+            "  Type: AWS::S3::Bucket.AnalyticsConfiguration",
+            "  Properties:",
+            "    Id : ${2:String(R)}",
+            "    Prefix : ${2:String(O)}",
+            "    StorageClassAnalysis : ${2:aws-s3-bucketanalyticsconfiguration.StorageClassAnalysis(R)}",
+            "    TagFilters : [ ${2:aws-s3-bucketanalyticsconfiguration.TagFilter(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.notification":{
+        "prefix":"aws-budgets-budget.notification",
+        "body":[
+            "${1:myAWSBudgetsBudget.Notification}:",
+            "  Type: AWS::Budgets::Budget.Notification",
+            "  Properties:",
+            "    ComparisonOperator : ${2:String(R)}",
+            "    NotificationType : ${2:String(R)}",
+            "    Threshold : ${2:Double(R)}",
+            "    ThresholdType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.targettrackingconfiguration":{
+        "prefix":"aws-autoscalingplans-scalingplan.targettrackingconfiguration",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.TargetTrackingConfiguration}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration",
+            "  Properties:",
+            "    ScaleOutCooldown : ${2:Integer(O)}",
+            "    TargetValue : ${2:Double(R)}",
+            "    PredefinedScalingMetricSpecification : ${2:aws-autoscalingplans-scalingplantargettrackingconfiguration.PredefinedScalingMetricSpecification(O)}",
+            "    DisableScaleIn : ${2:Boolean(O)}",
+            "    ScaleInCooldown : ${2:Integer(O)}",
+            "    EstimatedInstanceWarmup : ${2:Integer(O)}",
+            "    CustomizedScalingMetricSpecification : ${2:aws-autoscalingplans-scalingplantargettrackingconfiguration.CustomizedScalingMetricSpecification(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.jsonmappingparameters":{
+        "prefix":"aws-kinesisanalyticsv2-application.jsonmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.JSONMappingParameters}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.JSONMappingParameters",
+            "  Properties:",
+            "    RecordRowPath : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-gamelift-alias.routingstrategy":{
+        "prefix":"aws-gamelift-alias.routingstrategy",
+        "body":[
+            "${1:myAWSGameLiftAlias.RoutingStrategy}:",
+            "  Type: AWS::GameLift::Alias.RoutingStrategy",
+            "  Properties:",
+            "    FleetId : ${2:String(O)}",
+            "    Message : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-resolver.pipelineconfig":{
+        "prefix":"aws-appsync-resolver.pipelineconfig",
+        "body":[
+            "${1:myAWSAppSyncResolver.PipelineConfig}:",
+            "  Type: AWS::AppSync::Resolver.PipelineConfig",
+            "  Properties:",
+            "    Functions : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.classicloadbalancersconfig":{
+        "prefix":"aws-ec2-spotfleet.classicloadbalancersconfig",
+        "body":[
+            "${1:myAWSEC2SpotFleet.ClassicLoadBalancersConfig}:",
+            "  Type: AWS::EC2::SpotFleet.ClassicLoadBalancersConfig",
+            "  Properties:",
+            "    ClassicLoadBalancers : [ ${2:aws-ec2-spotfleetclassicloadbalancersconfig.ClassicLoadBalancer(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.notificationconfig":{
+        "prefix":"aws-ssm-maintenancewindowtask.notificationconfig",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.NotificationConfig}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.NotificationConfig",
+            "  Properties:",
+            "    NotificationArn : ${2:String(R)}",
+            "    NotificationType : ${2:String(O)}",
+            "    NotificationEvents : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.configuration":{
+        "prefix":"aws-emr-instancefleetconfig.configuration",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.Configuration}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.Configuration",
+            "  Properties:",
+            "    Classification : ${2:String(O)}",
+            "    ConfigurationProperties : [ ${2:String(O)} ]",
+            "    Configurations : [ ${2:aws-emr-instancefleetconfigconfiguration.Configuration(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.codecontent":{
+        "prefix":"aws-kinesisanalyticsv2-application.codecontent",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.CodeContent}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.CodeContent",
+            "  Properties:",
+            "    ZipFileContent : ${2:String(O)}",
+            "    S3ContentLocation : ${2:aws-kinesisanalyticsv2-applicationcodecontent.S3ContentLocation(O)}",
+            "    TextContent : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpooluser.attributetype":{
+        "prefix":"aws-cognito-userpooluser.attributetype",
+        "body":[
+            "${1:myAWSCognitoUserPoolUser.AttributeType}:",
+            "  Type: AWS::Cognito::UserPoolUser.AttributeType",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table.storagedescriptor":{
+        "prefix":"aws-glue-table.storagedescriptor",
+        "body":[
+            "${1:myAWSGlueTable.StorageDescriptor}:",
+            "  Type: AWS::Glue::Table.StorageDescriptor",
+            "  Properties:",
+            "    StoredAsSubDirectories : ${2:Boolean(O)}",
+            "    Parameters : ${2:Json(O)}",
+            "    BucketColumns : [ ${2:String(O)} ]",
+            "    SkewedInfo : ${2:aws-glue-tablestoragedescriptor.SkewedInfo(O)}",
+            "    InputFormat : ${2:String(O)}",
+            "    NumberOfBuckets : ${2:Integer(O)}",
+            "    OutputFormat : ${2:String(O)}",
+            "    Columns : [ ${2:aws-glue-tablestoragedescriptor.Column(O)} ]",
+            "    SerdeInfo : ${2:aws-glue-tablestoragedescriptor.SerdeInfo(O)}",
+            "    SortColumns : [ ${2:aws-glue-tablestoragedescriptor.Order(O)} ]",
+            "    Compressed : ${2:Boolean(O)}",
+            "    Location : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-user.loginprofile":{
+        "prefix":"aws-iam-user.loginprofile",
+        "body":[
+            "${1:myAWSIAMUser.LoginProfile}:",
+            "  Type: AWS::IAM::User.LoginProfile",
+            "  Properties:",
+            "    Password : ${2:String(R)}",
+            "    PasswordResetRequired : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.sourceselectioncriteria":{
+        "prefix":"aws-s3-bucket.sourceselectioncriteria",
+        "body":[
+            "${1:myAWSS3Bucket.SourceSelectionCriteria}:",
+            "  Type: AWS::S3::Bucket.SourceSelectionCriteria",
+            "  Properties:",
+            "    SseKmsEncryptedObjects : ${2:aws-s3-bucketsourceselectioncriteria.SseKmsEncryptedObjects(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-subscriptiondefinition.subscription":{
+        "prefix":"aws-greengrass-subscriptiondefinition.subscription",
+        "body":[
+            "${1:myAWSGreengrassSubscriptionDefinition.Subscription}:",
+            "  Type: AWS::Greengrass::SubscriptionDefinition.Subscription",
+            "  Properties:",
+            "    Target : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    Source : ${2:String(R)}",
+            "    Subject : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-stage.methodsetting":{
+        "prefix":"aws-apigateway-stage.methodsetting",
+        "body":[
+            "${1:myAWSApiGatewayStage.MethodSetting}:",
+            "  Type: AWS::ApiGateway::Stage.MethodSetting",
+            "  Properties:",
+            "    CacheDataEncrypted : ${2:Boolean(O)}",
+            "    CacheTtlInSeconds : ${2:Integer(O)}",
+            "    CachingEnabled : ${2:Boolean(O)}",
+            "    DataTraceEnabled : ${2:Boolean(O)}",
+            "    HttpMethod : ${2:String(O)}",
+            "    LoggingLevel : ${2:String(O)}",
+            "    MetricsEnabled : ${2:Boolean(O)}",
+            "    ResourcePath : ${2:String(O)}",
+            "    ThrottlingBurstLimit : ${2:Integer(O)}",
+            "    ThrottlingRateLimit : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.provisionedthroughput":{
+        "prefix":"aws-dynamodb-table.provisionedthroughput",
+        "body":[
+            "${1:myAWSDynamoDBTable.ProvisionedThroughput}:",
+            "  Type: AWS::DynamoDB::Table.ProvisionedThroughput",
+            "  Properties:",
+            "    ReadCapacityUnits : ${2:Long(R)}",
+            "    WriteCapacityUnits : ${2:Long(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-stack.source":{
+        "prefix":"aws-opsworks-stack.source",
+        "body":[
+            "${1:myAWSOpsWorksStack.Source}:",
+            "  Type: AWS::OpsWorks::Stack.Source",
+            "  Properties:",
+            "    Password : ${2:String(O)}",
+            "    Revision : ${2:String(O)}",
+            "    SshKey : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Url : ${2:String(O)}",
+            "    Username : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.placement":{
+        "prefix":"aws-ec2-launchtemplate.placement",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.Placement}:",
+            "  Type: AWS::EC2::LaunchTemplate.Placement",
+            "  Properties:",
+            "    GroupName : ${2:String(O)}",
+            "    Tenancy : ${2:String(O)}",
+            "    AvailabilityZone : ${2:String(O)}",
+            "    Affinity : ${2:String(O)}",
+            "    HostId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.connectionsettings":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.connectionsettings",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.ConnectionSettings}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings",
+            "  Properties:",
+            "    IdleTimeout : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.loggingconfiguration":{
+        "prefix":"aws-s3-bucket.loggingconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.LoggingConfiguration}:",
+            "  Type: AWS::S3::Bucket.LoggingConfiguration",
+            "  Properties:",
+            "    DestinationBucketName : ${2:String(O)}",
+            "    LogFilePrefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.storageclassanalysis":{
+        "prefix":"aws-s3-bucket.storageclassanalysis",
+        "body":[
+            "${1:myAWSS3Bucket.StorageClassAnalysis}:",
+            "  Type: AWS::S3::Bucket.StorageClassAnalysis",
+            "  Properties:",
+            "    DataExport : ${2:aws-s3-bucketstorageclassanalysis.DataExport(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.routingrule":{
+        "prefix":"aws-s3-bucket.routingrule",
+        "body":[
+            "${1:myAWSS3Bucket.RoutingRule}:",
+            "  Type: AWS::S3::Bucket.RoutingRule",
+            "  Properties:",
+            "    RedirectRule : ${2:aws-s3-bucketroutingrule.RedirectRule(R)}",
+            "    RoutingRuleCondition : ${2:aws-s3-bucketroutingrule.RoutingRuleCondition(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-loggerdefinition.logger":{
+        "prefix":"aws-greengrass-loggerdefinition.logger",
+        "body":[
+            "${1:myAWSGreengrassLoggerDefinition.Logger}:",
+            "  Type: AWS::Greengrass::LoggerDefinition.Logger",
+            "  Properties:",
+            "    Space : ${2:Integer(O)}",
+            "    Type : ${2:String(R)}",
+            "    Level : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    Component : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.kerberosattributes":{
+        "prefix":"aws-emr-cluster.kerberosattributes",
+        "body":[
+            "${1:myAWSEMRCluster.KerberosAttributes}:",
+            "  Type: AWS::EMR::Cluster.KerberosAttributes",
+            "  Properties:",
+            "    ADDomainJoinPassword : ${2:String(O)}",
+            "    ADDomainJoinUser : ${2:String(O)}",
+            "    CrossRealmTrustPrincipalPassword : ${2:String(O)}",
+            "    KdcAdminPassword : ${2:String(R)}",
+            "    Realm : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordset.geolocation":{
+        "prefix":"aws-route53-recordset.geolocation",
+        "body":[
+            "${1:myAWSRoute53RecordSet.GeoLocation}:",
+            "  Type: AWS::Route53::RecordSet.GeoLocation",
+            "  Properties:",
+            "    ContinentCode : ${2:String(O)}",
+            "    CountryCode : ${2:String(O)}",
+            "    SubdivisionCode : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.splunkretryoptions":{
+        "prefix":"aws-kinesisfirehose-deliverystream.splunkretryoptions",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.SplunkRetryOptions}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions",
+            "  Properties:",
+            "    DurationInSeconds : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scalingpolicy.predefinedmetricspecification":{
+        "prefix":"aws-autoscaling-scalingpolicy.predefinedmetricspecification",
+        "body":[
+            "${1:myAWSAutoScalingScalingPolicy.PredefinedMetricSpecification}:",
+            "  Type: AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification",
+            "  Properties:",
+            "    PredefinedMetricType : ${2:String(R)}",
+            "    ResourceLabel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-layerversion.content":{
+        "prefix":"aws-lambda-layerversion.content",
+        "body":[
+            "${1:myAWSLambdaLayerVersion.Content}:",
+            "  Type: AWS::Lambda::LayerVersion.Content",
+            "  Properties:",
+            "    S3ObjectVersion : ${2:String(O)}",
+            "    S3Bucket : ${2:String(R)}",
+            "    S3Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.queryaction":{
+        "prefix":"aws-iotanalytics-dataset.queryaction",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.QueryAction}:",
+            "  Type: AWS::IoTAnalytics::Dataset.QueryAction",
+            "  Properties:",
+            "    Filters : [ ${2:aws-iotanalytics-datasetqueryaction.Filter(O)} ]",
+            "    SqlQuery : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-domainname.endpointconfiguration":{
+        "prefix":"aws-apigateway-domainname.endpointconfiguration",
+        "body":[
+            "${1:myAWSApiGatewayDomainName.EndpointConfiguration}:",
+            "  Type: AWS::ApiGateway::DomainName.EndpointConfiguration",
+            "  Properties:",
+            "    Types : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-association.target":{
+        "prefix":"aws-ssm-association.target",
+        "body":[
+            "${1:myAWSSSMAssociation.Target}:",
+            "  Type: AWS::SSM::Association.Target",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Values : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-coredefinition.coredefinitionversion":{
+        "prefix":"aws-greengrass-coredefinition.coredefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassCoreDefinition.CoreDefinitionVersion}:",
+            "  Type: AWS::Greengrass::CoreDefinition.CoreDefinitionVersion",
+            "  Properties:",
+            "    Cores : [ ${2:aws-greengrass-coredefinitioncoredefinitionversion.Core(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy.stepadjustment":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy.stepadjustment",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy.StepAdjustment}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment",
+            "  Properties:",
+            "    MetricIntervalLowerBound : ${2:Double(O)}",
+            "    MetricIntervalUpperBound : ${2:Double(O)}",
+            "    ScalingAdjustment : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.stagetransition":{
+        "prefix":"aws-codepipeline-pipeline.stagetransition",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.StageTransition}:",
+            "  Type: AWS::CodePipeline::Pipeline.StageTransition",
+            "  Properties:",
+            "    Reason : ${2:String(R)}",
+            "    StageName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.maintenancewindowautomationparameters":{
+        "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowautomationparameters",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowAutomationParameters}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters",
+            "  Properties:",
+            "    Parameters : ${2:Json(O)}",
+            "    DocumentVersion : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.stepfunctionsaction":{
+        "prefix":"aws-iot-topicrule.stepfunctionsaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.StepFunctionsAction}:",
+            "  Type: AWS::IoT::TopicRule.StepFunctionsAction",
+            "  Properties:",
+            "    ExecutionNamePrefix : ${2:String(O)}",
+            "    RoleArn : ${2:String(R)}",
+            "    StateMachineName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.spotfleetrequestconfigdata":{
+        "prefix":"aws-ec2-spotfleet.spotfleetrequestconfigdata",
+        "body":[
+            "${1:myAWSEC2SpotFleet.SpotFleetRequestConfigData}:",
+            "  Type: AWS::EC2::SpotFleet.SpotFleetRequestConfigData",
+            "  Properties:",
+            "    AllocationStrategy : ${2:String(O)}",
+            "    ExcessCapacityTerminationPolicy : ${2:String(O)}",
+            "    IamFleetRole : ${2:String(R)}",
+            "    InstanceInterruptionBehavior : ${2:String(O)}",
+            "    LaunchSpecifications : [ ${2:aws-ec2-spotfleetspotfleetrequestconfigdata.SpotFleetLaunchSpecification(O)} ]",
+            "    LaunchTemplateConfigs : [ ${2:aws-ec2-spotfleetspotfleetrequestconfigdata.LaunchTemplateConfig(O)} ]",
+            "    LoadBalancersConfig : ${2:aws-ec2-spotfleetspotfleetrequestconfigdata.LoadBalancersConfig(O)}",
+            "    ReplaceUnhealthyInstances : ${2:Boolean(O)}",
+            "    SpotPrice : ${2:String(O)}",
+            "    TargetCapacity : ${2:Integer(R)}",
+            "    TerminateInstancesWithExpiration : ${2:Boolean(O)}",
+            "    Type : ${2:String(O)}",
+            "    ValidFrom : ${2:String(O)}",
+            "    ValidUntil : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.s3machinelearningmodelresourcedata":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.s3machinelearningmodelresourcedata",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.S3MachineLearningModelResourceData}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData",
+            "  Properties:",
+            "    DestinationPath : ${2:String(R)}",
+            "    S3Uri : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-graphqlapi.openidconnectconfig":{
+        "prefix":"aws-appsync-graphqlapi.openidconnectconfig",
+        "body":[
+            "${1:myAWSAppSyncGraphQLApi.OpenIDConnectConfig}:",
+            "  Type: AWS::AppSync::GraphQLApi.OpenIDConnectConfig",
+            "  Properties:",
+            "    Issuer : ${2:String(O)}",
+            "    ClientId : ${2:String(O)}",
+            "    AuthTTL : ${2:Double(O)}",
+            "    IatTTL : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.simplescalingpolicyconfiguration":{
+        "prefix":"aws-emr-cluster.simplescalingpolicyconfiguration",
+        "body":[
+            "${1:myAWSEMRCluster.SimpleScalingPolicyConfiguration}:",
+            "  Type: AWS::EMR::Cluster.SimpleScalingPolicyConfiguration",
+            "  Properties:",
+            "    AdjustmentType : ${2:String(O)}",
+            "    CoolDown : ${2:Integer(O)}",
+            "    ScalingAdjustment : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dlm-lifecyclepolicy.createrule":{
+        "prefix":"aws-dlm-lifecyclepolicy.createrule",
+        "body":[
+            "${1:myAWSDLMLifecyclePolicy.CreateRule}:",
+            "  Type: AWS::DLM::LifecyclePolicy.CreateRule",
+            "  Properties:",
+            "    IntervalUnit : ${2:String(R)}",
+            "    Times : [ ${2:String(O)} ]",
+            "    Interval : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-graphqlapi.logconfig":{
+        "prefix":"aws-appsync-graphqlapi.logconfig",
+        "body":[
+            "${1:myAWSAppSyncGraphQLApi.LogConfig}:",
+            "  Type: AWS::AppSync::GraphQLApi.LogConfig",
+            "  Properties:",
+            "    CloudWatchLogsRoleArn : ${2:String(O)}",
+            "    FieldLogLevel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.simplescalingpolicyconfiguration":{
+        "prefix":"aws-emr-instancegroupconfig.simplescalingpolicyconfiguration",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.SimpleScalingPolicyConfiguration}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration",
+            "  Properties:",
+            "    AdjustmentType : ${2:String(O)}",
+            "    CoolDown : ${2:Integer(O)}",
+            "    ScalingAdjustment : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationoutput.output":{
+        "prefix":"aws-kinesisanalyticsv2-applicationoutput.output",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationOutput.Output}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.Output",
+            "  Properties:",
+            "    DestinationSchema : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.DestinationSchema(R)}",
+            "    LambdaOutput : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.LambdaOutput(O)}",
+            "    KinesisFirehoseOutput : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.KinesisFirehoseOutput(O)}",
+            "    KinesisStreamsOutput : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.KinesisStreamsOutput(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.defaultconfig":{
+        "prefix":"aws-greengrass-functiondefinition.defaultconfig",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.DefaultConfig}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.DefaultConfig",
+            "  Properties:",
+            "    Execution : ${2:aws-greengrass-functiondefinitiondefaultconfig.Execution(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.capacityreservationspecification":{
+        "prefix":"aws-ec2-launchtemplate.capacityreservationspecification",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.CapacityReservationSpecification}:",
+            "  Type: AWS::EC2::LaunchTemplate.CapacityReservationSpecification",
+            "  Properties:",
+            "    CapacityReservationPreference : ${2:aws-ec2-launchtemplatecapacityreservationspecification.CapacityReservationPreference(O)}",
+            "    CapacityReservationTarget : ${2:aws-ec2-launchtemplatecapacityreservationspecification.CapacityReservationTarget(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.encryptionconfiguration":{
+        "prefix":"aws-s3-bucket.encryptionconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.EncryptionConfiguration}:",
+            "  Type: AWS::S3::Bucket.EncryptionConfiguration",
+            "  Properties:",
+            "    ReplicaKmsKeyID : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener.fixedresponseconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listener.fixedresponseconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener.FixedResponseConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig",
+            "  Properties:",
+            "    ContentType : ${2:String(O)}",
+            "    MessageBody : ${2:String(O)}",
+            "    StatusCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-stack.chefconfiguration":{
+        "prefix":"aws-opsworks-stack.chefconfiguration",
+        "body":[
+            "${1:myAWSOpsWorksStack.ChefConfiguration}:",
+            "  Type: AWS::OpsWorks::Stack.ChefConfiguration",
+            "  Properties:",
+            "    BerkshelfVersion : ${2:String(O)}",
+            "    ManageBerkshelf : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.tagref":{
+        "prefix":"aws-appmesh-virtualnode.tagref",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.TagRef}:",
+            "  Type: AWS::AppMesh::VirtualNode.TagRef",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.target":{
+        "prefix":"aws-events-rule.target",
+        "body":[
+            "${1:myAWSEventsRule.Target}:",
+            "  Type: AWS::Events::Rule.Target",
+            "  Properties:",
+            "    Arn : ${2:String(R)}",
+            "    EcsParameters : ${2:aws-events-ruletarget.EcsParameters(O)}",
+            "    Id : ${2:String(R)}",
+            "    Input : ${2:String(O)}",
+            "    InputPath : ${2:String(O)}",
+            "    InputTransformer : ${2:aws-events-ruletarget.InputTransformer(O)}",
+            "    KinesisParameters : ${2:aws-events-ruletarget.KinesisParameters(O)}",
+            "    RoleArn : ${2:String(O)}",
+            "    RunCommandParameters : ${2:aws-events-ruletarget.RunCommandParameters(O)}",
+            "    SqsParameters : ${2:aws-events-ruletarget.SqsParameters(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.kinesisstreamsinput":{
+        "prefix":"aws-kinesisanalytics-application.kinesisstreamsinput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.KinesisStreamsInput}:",
+            "  Type: AWS::KinesisAnalytics::Application.KinesisStreamsInput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-robomaker-simulationapplication.sourceconfig":{
+        "prefix":"aws-robomaker-simulationapplication.sourceconfig",
+        "body":[
+            "${1:myAWSRoboMakerSimulationApplication.SourceConfig}:",
+            "  Type: AWS::RoboMaker::SimulationApplication.SourceConfig",
+            "  Properties:",
+            "    S3Bucket : ${2:String(R)}",
+            "    Architecture : ${2:String(R)}",
+            "    S3Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.registrycredential":{
+        "prefix":"aws-codebuild-project.registrycredential",
+        "body":[
+            "${1:myAWSCodeBuildProject.RegistryCredential}:",
+            "  Type: AWS::CodeBuild::Project.RegistryCredential",
+            "  Properties:",
+            "    Credential : ${2:String(R)}",
+            "    CredentialProvider : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.rdshttpendpointconfig":{
+        "prefix":"aws-appsync-datasource.rdshttpendpointconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.RdsHttpEndpointConfig}:",
+            "  Type: AWS::AppSync::DataSource.RdsHttpEndpointConfig",
+            "  Properties:",
+            "    AwsRegion : ${2:String(R)}",
+            "    Schema : ${2:String(O)}",
+            "    DatabaseName : ${2:String(O)}",
+            "    DbClusterIdentifier : ${2:String(R)}",
+            "    AwsSecretStoreArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordset.aliastarget":{
+        "prefix":"aws-route53-recordset.aliastarget",
+        "body":[
+            "${1:myAWSRoute53RecordSet.AliasTarget}:",
+            "  Type: AWS::Route53::RecordSet.AliasTarget",
+            "  Properties:",
+            "    DNSName : ${2:String(R)}",
+            "    EvaluateTargetHealth : ${2:Boolean(O)}",
+            "    HostedZoneId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codecommit-repository.repositorytrigger":{
+        "prefix":"aws-codecommit-repository.repositorytrigger",
+        "body":[
+            "${1:myAWSCodeCommitRepository.RepositoryTrigger}:",
+            "  Type: AWS::CodeCommit::Repository.RepositoryTrigger",
+            "  Properties:",
+            "    Events : [ ${2:String(O)} ]",
+            "    Branches : [ ${2:String(O)} ]",
+            "    CustomData : ${2:String(O)}",
+            "    DestinationArn : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-broker.user":{
+        "prefix":"aws-amazonmq-broker.user",
+        "body":[
+            "${1:myAWSAmazonMQBroker.User}:",
+            "  Type: AWS::AmazonMQ::Broker.User",
+            "  Properties:",
+            "    Username : ${2:String(R)}",
+            "    Groups : [ ${2:String(O)} ]",
+            "    ConsoleAccess : ${2:Boolean(O)}",
+            "    Password : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-bytematchset.bytematchtuple":{
+        "prefix":"aws-waf-bytematchset.bytematchtuple",
+        "body":[
+            "${1:myAWSWAFByteMatchSet.ByteMatchTuple}:",
+            "  Type: AWS::WAF::ByteMatchSet.ByteMatchTuple",
+            "  Properties:",
+            "    FieldToMatch : ${2:aws-waf-bytematchsetbytematchtuple.FieldToMatch(R)}",
+            "    PositionalConstraint : ${2:String(R)}",
+            "    TargetString : ${2:String(O)}",
+            "    TargetStringBase64 : ${2:String(O)}",
+            "    TextTransformation : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-scalingpolicy.targettrackingconfiguration":{
+        "prefix":"aws-autoscaling-scalingpolicy.targettrackingconfiguration",
+        "body":[
+            "${1:myAWSAutoScalingScalingPolicy.TargetTrackingConfiguration}:",
+            "  Type: AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration",
+            "  Properties:",
+            "    CustomizedMetricSpecification : ${2:aws-autoscaling-scalingpolicytargettrackingconfiguration.CustomizedMetricSpecification(O)}",
+            "    DisableScaleIn : ${2:Boolean(O)}",
+            "    PredefinedMetricSpecification : ${2:aws-autoscaling-scalingpolicytargettrackingconfiguration.PredefinedMetricSpecification(O)}",
+            "    TargetValue : ${2:Double(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.mountpoint":{
+        "prefix":"aws-ecs-taskdefinition.mountpoint",
+        "body":[
+            "${1:myAWSECSTaskDefinition.MountPoint}:",
+            "  Type: AWS::ECS::TaskDefinition.MountPoint",
+            "  Properties:",
+            "    ContainerPath : ${2:String(O)}",
+            "    ReadOnly : ${2:Boolean(O)}",
+            "    SourceVolume : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.math":{
+        "prefix":"aws-iotanalytics-pipeline.math",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.Math}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.Math",
+            "  Properties:",
+            "    Attribute : ${2:String(O)}",
+            "    Next : ${2:String(O)}",
+            "    Math : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.application":{
+        "prefix":"aws-emr-cluster.application",
+        "body":[
+            "${1:myAWSEMRCluster.Application}:",
+            "  Type: AWS::EMR::Cluster.Application",
+            "  Properties:",
+            "    AdditionalInfo : [ ${2:String(O)} ]",
+            "    Args : [ ${2:String(O)} ]",
+            "    Name : ${2:String(O)}",
+            "    Version : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.httproutematch":{
+        "prefix":"aws-appmesh-route.httproutematch",
+        "body":[
+            "${1:myAWSAppMeshRoute.HttpRouteMatch}:",
+            "  Type: AWS::AppMesh::Route.HttpRouteMatch",
+            "  Properties:",
+            "    Prefix : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.kinesisstreamsourceconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.kinesisstreamsourceconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.KinesisStreamSourceConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration",
+            "  Properties:",
+            "    KinesisStreamARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.removeattributes":{
+        "prefix":"aws-iotanalytics-pipeline.removeattributes",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.RemoveAttributes}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.RemoveAttributes",
+            "  Properties:",
+            "    Next : ${2:String(O)}",
+            "    Attributes : [ ${2:String(O)} ]",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-classifier.xmlclassifier":{
+        "prefix":"aws-glue-classifier.xmlclassifier",
+        "body":[
+            "${1:myAWSGlueClassifier.XMLClassifier}:",
+            "  Type: AWS::Glue::Classifier.XMLClassifier",
+            "  Properties:",
+            "    RowTag : ${2:String(R)}",
+            "    Classification : ${2:String(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.taskinvocationparameters":{
+        "prefix":"aws-ssm-maintenancewindowtask.taskinvocationparameters",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.TaskInvocationParameters}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters",
+            "  Properties:",
+            "    MaintenanceWindowRunCommandParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowRunCommandParameters(O)}",
+            "    MaintenanceWindowAutomationParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowAutomationParameters(O)}",
+            "    MaintenanceWindowStepFunctionsParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowStepFunctionsParameters(O)}",
+            "    MaintenanceWindowLambdaParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowLambdaParameters(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.lambdaconfig":{
+        "prefix":"aws-appsync-datasource.lambdaconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.LambdaConfig}:",
+            "  Type: AWS::AppSync::DataSource.LambdaConfig",
+            "  Properties:",
+            "    LambdaFunctionArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.mappingparameters":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.mappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.MappingParameters}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters",
+            "  Properties:",
+            "    JSONMappingParameters : ${2:aws-kinesisanalytics-applicationreferencedatasourcemappingparameters.JSONMappingParameters(O)}",
+            "    CSVMappingParameters : ${2:aws-kinesisanalytics-applicationreferencedatasourcemappingparameters.CSVMappingParameters(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.ec2tagset":{
+        "prefix":"aws-codedeploy-deploymentgroup.ec2tagset",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.EC2TagSet}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagSet",
+            "  Properties:",
+            "    Ec2TagSetList : [ ${2:aws-codedeploy-deploymentgroupec2tagset.EC2TagSetListObject(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-routeresponse.parameterconstraints":{
+        "prefix":"aws-apigatewayv2-routeresponse.parameterconstraints",
+        "body":[
+            "${1:myAWSApiGatewayV2RouteResponse.ParameterConstraints}:",
+            "  Type: AWS::ApiGatewayV2::RouteResponse.ParameterConstraints",
+            "  Properties:",
+            "    Required : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.metricdimension":{
+        "prefix":"aws-autoscalingplans-scalingplan.metricdimension",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.MetricDimension}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.MetricDimension",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.globalsecondaryindex":{
+        "prefix":"aws-dynamodb-table.globalsecondaryindex",
+        "body":[
+            "${1:myAWSDynamoDBTable.GlobalSecondaryIndex}:",
+            "  Type: AWS::DynamoDB::Table.GlobalSecondaryIndex",
+            "  Properties:",
+            "    IndexName : ${2:String(R)}",
+            "    KeySchema : [ ${2:aws-dynamodb-tableglobalsecondaryindex.KeySchema(R)} ]",
+            "    Projection : ${2:aws-dynamodb-tableglobalsecondaryindex.Projection(R)}",
+            "    ProvisionedThroughput : ${2:aws-dynamodb-tableglobalsecondaryindex.ProvisionedThroughput(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.redirectrule":{
+        "prefix":"aws-s3-bucket.redirectrule",
+        "body":[
+            "${1:myAWSS3Bucket.RedirectRule}:",
+            "  Type: AWS::S3::Bucket.RedirectRule",
+            "  Properties:",
+            "    HostName : ${2:String(O)}",
+            "    HttpRedirectCode : ${2:String(O)}",
+            "    Protocol : ${2:String(O)}",
+            "    ReplaceKeyPrefixWith : ${2:String(O)}",
+            "    ReplaceKeyWith : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-eventbuspolicy.condition":{
+        "prefix":"aws-events-eventbuspolicy.condition",
+        "body":[
+            "${1:myAWSEventsEventBusPolicy.Condition}:",
+            "  Type: AWS::Events::EventBusPolicy.Condition",
+            "  Properties:",
+            "    Type : ${2:String(O)}",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.scalingrule":{
+        "prefix":"aws-emr-instancegroupconfig.scalingrule",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.ScalingRule}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.ScalingRule",
+            "  Properties:",
+            "    Action : ${2:aws-emr-instancegroupconfigscalingrule.ScalingAction(R)}",
+            "    Description : ${2:String(O)}",
+            "    Name : ${2:String(R)}",
+            "    Trigger : ${2:aws-emr-instancegroupconfigscalingrule.ScalingTrigger(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.placementtype":{
+        "prefix":"aws-emr-cluster.placementtype",
+        "body":[
+            "${1:myAWSEMRCluster.PlacementType}:",
+            "  Type: AWS::EMR::Cluster.PlacementType",
+            "  Properties:",
+            "    AvailabilityZone : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule.rulecondition":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule.rulecondition",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule.RuleCondition}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition",
+            "  Properties:",
+            "    Field : ${2:String(O)}",
+            "    Values : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualservice.tagref":{
+        "prefix":"aws-appmesh-virtualservice.tagref",
+        "body":[
+            "${1:myAWSAppMeshVirtualService.TagRef}:",
+            "  Type: AWS::AppMesh::VirtualService.TagRef",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.healthcheck":{
+        "prefix":"aws-appmesh-virtualnode.healthcheck",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.HealthCheck}:",
+            "  Type: AWS::AppMesh::VirtualNode.HealthCheck",
+            "  Properties:",
+            "    Path : ${2:String(O)}",
+            "    UnhealthyThreshold : ${2:Integer(R)}",
+            "    Port : ${2:Integer(O)}",
+            "    HealthyThreshold : ${2:Integer(R)}",
+            "    TimeoutMillis : ${2:Integer(R)}",
+            "    Protocol : ${2:String(R)}",
+            "    IntervalMillis : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.alarmconfiguration":{
+        "prefix":"aws-codedeploy-deploymentgroup.alarmconfiguration",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.AlarmConfiguration}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration",
+            "  Properties:",
+            "    Alarms : [ ${2:aws-codedeploy-deploymentgroupalarmconfiguration.Alarm(O)} ]",
+            "    Enabled : ${2:Boolean(O)}",
+            "    IgnorePollAlarmFailure : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.jsonmappingparameters":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.jsonmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.JSONMappingParameters}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters",
+            "  Properties:",
+            "    RecordRowPath : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.datastore":{
+        "prefix":"aws-iotanalytics-pipeline.datastore",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.Datastore}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.Datastore",
+            "  Properties:",
+            "    DatastoreName : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-app.sslconfiguration":{
+        "prefix":"aws-opsworks-app.sslconfiguration",
+        "body":[
+            "${1:myAWSOpsWorksApp.SslConfiguration}:",
+            "  Type: AWS::OpsWorks::App.SslConfiguration",
+            "  Properties:",
+            "    Certificate : ${2:String(O)}",
+            "    Chain : ${2:String(O)}",
+            "    PrivateKey : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalabletarget.scheduledaction":{
+        "prefix":"aws-applicationautoscaling-scalabletarget.scheduledaction",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalableTarget.ScheduledAction}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction",
+            "  Properties:",
+            "    EndTime : ${2:Timestamp(O)}",
+            "    ScalableTargetAction : ${2:aws-applicationautoscaling-scalabletargetscheduledaction.ScalableTargetAction(O)}",
+            "    Schedule : ${2:String(R)}",
+            "    ScheduledActionName : ${2:String(R)}",
+            "    StartTime : ${2:Timestamp(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-patchbaseline.patchfilter":{
+        "prefix":"aws-ssm-patchbaseline.patchfilter",
+        "body":[
+            "${1:myAWSSSMPatchBaseline.PatchFilter}:",
+            "  Type: AWS::SSM::PatchBaseline.PatchFilter",
+            "  Properties:",
+            "    Values : [ ${2:String(O)} ]",
+            "    Key : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.instanceipv6address":{
+        "prefix":"aws-ec2-instance.instanceipv6address",
+        "body":[
+            "${1:myAWSEC2Instance.InstanceIpv6Address}:",
+            "  Type: AWS::EC2::Instance.InstanceIpv6Address",
+            "  Properties:",
+            "    Ipv6Address : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-environment.tier":{
+        "prefix":"aws-elasticbeanstalk-environment.tier",
+        "body":[
+            "${1:myAWSElasticBeanstalkEnvironment.Tier}:",
+            "  Type: AWS::ElasticBeanstalk::Environment.Tier",
+            "  Properties:",
+            "    Name : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Version : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.associationparameter":{
+        "prefix":"aws-ec2-instance.associationparameter",
+        "body":[
+            "${1:myAWSEC2Instance.AssociationParameter}:",
+            "  Type: AWS::EC2::Instance.AssociationParameter",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.topicrulepayload":{
+        "prefix":"aws-iot-topicrule.topicrulepayload",
+        "body":[
+            "${1:myAWSIoTTopicRule.TopicRulePayload}:",
+            "  Type: AWS::IoT::TopicRule.TopicRulePayload",
+            "  Properties:",
+            "    Actions : [ ${2:aws-iot-topicruletopicrulepayload.Action(R)} ]",
+            "    AwsIotSqlVersion : ${2:String(O)}",
+            "    Description : ${2:String(O)}",
+            "    ErrorAction : ${2:aws-iot-topicruletopicrulepayload.Action(O)}",
+            "    RuleDisabled : ${2:Boolean(R)}",
+            "    Sql : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypool.pushsync":{
+        "prefix":"aws-cognito-identitypool.pushsync",
+        "body":[
+            "${1:myAWSCognitoIdentityPool.PushSync}:",
+            "  Type: AWS::Cognito::IdentityPool.PushSync",
+            "  Properties:",
+            "    ApplicationArns : [ ${2:String(O)} ]",
+            "    RoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.connectiondrainingpolicy":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.connectiondrainingpolicy",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.ConnectionDrainingPolicy}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(R)}",
+            "    Timeout : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-service.serviceregistry":{
+        "prefix":"aws-ecs-service.serviceregistry",
+        "body":[
+            "${1:myAWSECSService.ServiceRegistry}:",
+            "  Type: AWS::ECS::Service.ServiceRegistry",
+            "  Properties:",
+            "    ContainerName : ${2:String(O)}",
+            "    ContainerPort : ${2:Integer(O)}",
+            "    Port : ${2:Integer(O)}",
+            "    RegistryArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.websiteconfiguration":{
+        "prefix":"aws-s3-bucket.websiteconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.WebsiteConfiguration}:",
+            "  Type: AWS::S3::Bucket.WebsiteConfiguration",
+            "  Properties:",
+            "    ErrorDocument : ${2:String(O)}",
+            "    IndexDocument : ${2:String(O)}",
+            "    RedirectAllRequestsTo : ${2:aws-s3-bucketwebsiteconfiguration.RedirectAllRequestsTo(O)}",
+            "    RoutingRules : [ ${2:aws-s3-bucketwebsiteconfiguration.RoutingRule(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypool.cognitoidentityprovider":{
+        "prefix":"aws-cognito-identitypool.cognitoidentityprovider",
+        "body":[
+            "${1:myAWSCognitoIdentityPool.CognitoIdentityProvider}:",
+            "  Type: AWS::Cognito::IdentityPool.CognitoIdentityProvider",
+            "  Properties:",
+            "    ServerSideTokenCheck : ${2:Boolean(O)}",
+            "    ProviderName : ${2:String(O)}",
+            "    ClientId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.georestriction":{
+        "prefix":"aws-cloudfront-distribution.georestriction",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.GeoRestriction}:",
+            "  Type: AWS::CloudFront::Distribution.GeoRestriction",
+            "  Properties:",
+            "    Locations : [ ${2:String(O)} ]",
+            "    RestrictionType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.fleetlaunchtemplateconfigrequest":{
+        "prefix":"aws-ec2-ec2fleet.fleetlaunchtemplateconfigrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.FleetLaunchTemplateConfigRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest",
+            "  Properties:",
+            "    LaunchTemplateSpecification : ${2:aws-ec2-ec2fleetfleetlaunchtemplateconfigrequest.FleetLaunchTemplateSpecificationRequest(O)}",
+            "    Overrides : [ ${2:aws-ec2-ec2fleetfleetlaunchtemplateconfigrequest.FleetLaunchTemplateOverridesRequest(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.resourceconfiguration":{
+        "prefix":"aws-iotanalytics-dataset.resourceconfiguration",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.ResourceConfiguration}:",
+            "  Type: AWS::IoTAnalytics::Dataset.ResourceConfiguration",
+            "  Properties:",
+            "    VolumeSizeInGB : ${2:Integer(R)}",
+            "    ComputeType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.snsaction":{
+        "prefix":"aws-ses-receiptrule.snsaction",
+        "body":[
+            "${1:myAWSSESReceiptRule.SNSAction}:",
+            "  Type: AWS::SES::ReceiptRule.SNSAction",
+            "  Properties:",
+            "    TopicArn : ${2:String(O)}",
+            "    Encoding : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-configurationtemplate.configurationoptionsetting":{
+        "prefix":"aws-elasticbeanstalk-configurationtemplate.configurationoptionsetting",
+        "body":[
+            "${1:myAWSElasticBeanstalkConfigurationTemplate.ConfigurationOptionSetting}:",
+            "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting",
+            "  Properties:",
+            "    Namespace : ${2:String(R)}",
+            "    OptionName : ${2:String(R)}",
+            "    ResourceName : ${2:String(O)}",
+            "    Value : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-batch-jobdefinition.noderangeproperty":{
+        "prefix":"aws-batch-jobdefinition.noderangeproperty",
+        "body":[
+            "${1:myAWSBatchJobDefinition.NodeRangeProperty}:",
+            "  Type: AWS::Batch::JobDefinition.NodeRangeProperty",
+            "  Properties:",
+            "    Container : ${2:aws-batch-jobdefinitionnoderangeproperty.ContainerProperties(O)}",
+            "    TargetNodes : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.policies":{
+        "prefix":"aws-cognito-userpool.policies",
+        "body":[
+            "${1:myAWSCognitoUserPool.Policies}:",
+            "  Type: AWS::Cognito::UserPool.Policies",
+            "  Properties:",
+            "    PasswordPolicy : ${2:aws-cognito-userpoolpolicies.PasswordPolicy(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.kinesisparameters":{
+        "prefix":"aws-events-rule.kinesisparameters",
+        "body":[
+            "${1:myAWSEventsRule.KinesisParameters}:",
+            "  Type: AWS::Events::Rule.KinesisParameters",
+            "  Properties:",
+            "    PartitionKeyPath : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-bytematchset.fieldtomatch":{
+        "prefix":"aws-wafregional-bytematchset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFRegionalByteMatchSet.FieldToMatch}:",
+            "  Type: AWS::WAFRegional::ByteMatchSet.FieldToMatch",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Data : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.launchtemplatespecification":{
+        "prefix":"aws-ec2-instance.launchtemplatespecification",
+        "body":[
+            "${1:myAWSEC2Instance.LaunchTemplateSpecification}:",
+            "  Type: AWS::EC2::Instance.LaunchTemplateSpecification",
+            "  Properties:",
+            "    LaunchTemplateId : ${2:String(O)}",
+            "    LaunchTemplateName : ${2:String(O)}",
+            "    Version : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.metricscollection":{
+        "prefix":"aws-autoscaling-autoscalinggroup.metricscollection",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.MetricsCollection}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.MetricsCollection",
+            "  Properties:",
+            "    Granularity : ${2:String(R)}",
+            "    Metrics : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.artifactstore":{
+        "prefix":"aws-codepipeline-pipeline.artifactstore",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.ArtifactStore}:",
+            "  Type: AWS::CodePipeline::Pipeline.ArtifactStore",
+            "  Properties:",
+            "    EncryptionKey : ${2:aws-codepipeline-pipelineartifactstore.EncryptionKey(O)}",
+            "    Location : ${2:String(R)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.cloudwatchlogsconfig":{
+        "prefix":"aws-codebuild-project.cloudwatchlogsconfig",
+        "body":[
+            "${1:myAWSCodeBuildProject.CloudWatchLogsConfig}:",
+            "  Type: AWS::CodeBuild::Project.CloudWatchLogsConfig",
+            "  Properties:",
+            "    Status : ${2:String(R)}",
+            "    GroupName : ${2:String(O)}",
+            "    StreamName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.keyschema":{
+        "prefix":"aws-dynamodb-table.keyschema",
+        "body":[
+            "${1:myAWSDynamoDBTable.KeySchema}:",
+            "  Type: AWS::DynamoDB::Table.KeySchema",
+            "  Properties:",
+            "    AttributeName : ${2:String(R)}",
+            "    KeyType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.localvolumeresourcedata":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.localvolumeresourcedata",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.LocalVolumeResourceData}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData",
+            "  Properties:",
+            "    SourcePath : ${2:String(R)}",
+            "    DestinationPath : ${2:String(R)}",
+            "    GroupOwnerSetting : ${2:aws-greengrass-resourcedefinitionversionlocalvolumeresourcedata.GroupOwnerSetting(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-mesh.egressfilter":{
+        "prefix":"aws-appmesh-mesh.egressfilter",
+        "body":[
+            "${1:myAWSAppMeshMesh.EgressFilter}:",
+            "  Type: AWS::AppMesh::Mesh.EgressFilter",
+            "  Properties:",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-patchbaseline.rule":{
+        "prefix":"aws-ssm-patchbaseline.rule",
+        "body":[
+            "${1:myAWSSSMPatchBaseline.Rule}:",
+            "  Type: AWS::SSM::PatchBaseline.Rule",
+            "  Properties:",
+            "    EnableNonSecurity : ${2:Boolean(O)}",
+            "    PatchFilterGroup : ${2:aws-ssm-patchbaselinerule.PatchFilterGroup(O)}",
+            "    ApproveAfterDays : ${2:Integer(O)}",
+            "    ComplianceLevel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.viewercertificate":{
+        "prefix":"aws-cloudfront-distribution.viewercertificate",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.ViewerCertificate}:",
+            "  Type: AWS::CloudFront::Distribution.ViewerCertificate",
+            "  Properties:",
+            "    IamCertificateId : ${2:String(O)}",
+            "    SslSupportMethod : ${2:String(O)}",
+            "    MinimumProtocolVersion : ${2:String(O)}",
+            "    CloudFrontDefaultCertificate : ${2:Boolean(O)}",
+            "    AcmCertificateArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-configurationseteventdestination.cloudwatchdestination":{
+        "prefix":"aws-ses-configurationseteventdestination.cloudwatchdestination",
+        "body":[
+            "${1:myAWSSESConfigurationSetEventDestination.CloudWatchDestination}:",
+            "  Type: AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination",
+            "  Properties:",
+            "    DimensionConfigurations : [ ${2:aws-ses-configurationseteventdestinationcloudwatchdestination.DimensionConfiguration(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualservice.virtualnodeserviceprovider":{
+        "prefix":"aws-appmesh-virtualservice.virtualnodeserviceprovider",
+        "body":[
+            "${1:myAWSAppMeshVirtualService.VirtualNodeServiceProvider}:",
+            "  Type: AWS::AppMesh::VirtualService.VirtualNodeServiceProvider",
+            "  Properties:",
+            "    VirtualNodeName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.configuration":{
+        "prefix":"aws-emr-cluster.configuration",
+        "body":[
+            "${1:myAWSEMRCluster.Configuration}:",
+            "  Type: AWS::EMR::Cluster.Configuration",
+            "  Properties:",
+            "    Classification : ${2:String(O)}",
+            "    ConfigurationProperties : [ ${2:String(O)} ]",
+            "    Configurations : [ ${2:aws-emr-clusterconfiguration.Configuration(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.instancetypeconfig":{
+        "prefix":"aws-emr-instancefleetconfig.instancetypeconfig",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.InstanceTypeConfig}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.InstanceTypeConfig",
+            "  Properties:",
+            "    BidPrice : ${2:String(O)}",
+            "    BidPriceAsPercentageOfOnDemandPrice : ${2:Double(O)}",
+            "    Configurations : [ ${2:aws-emr-instancefleetconfiginstancetypeconfig.Configuration(O)} ]",
+            "    EbsConfiguration : ${2:aws-emr-instancefleetconfiginstancetypeconfig.EbsConfiguration(O)}",
+            "    InstanceType : ${2:String(R)}",
+            "    WeightedCapacity : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-xssmatchset.xssmatchtuple":{
+        "prefix":"aws-wafregional-xssmatchset.xssmatchtuple",
+        "body":[
+            "${1:myAWSWAFRegionalXssMatchSet.XssMatchTuple}:",
+            "  Type: AWS::WAFRegional::XssMatchSet.XssMatchTuple",
+            "  Properties:",
+            "    TextTransformation : ${2:String(R)}",
+            "    FieldToMatch : ${2:aws-wafregional-xssmatchsetxssmatchtuple.FieldToMatch(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.rule":{
+        "prefix":"aws-s3-bucket.rule",
+        "body":[
+            "${1:myAWSS3Bucket.Rule}:",
+            "  Type: AWS::S3::Bucket.Rule",
+            "  Properties:",
+            "    AbortIncompleteMultipartUpload : ${2:aws-s3-bucketrule.AbortIncompleteMultipartUpload(O)}",
+            "    ExpirationDate : ${2:Timestamp(O)}",
+            "    ExpirationInDays : ${2:Integer(O)}",
+            "    Id : ${2:String(O)}",
+            "    NoncurrentVersionExpirationInDays : ${2:Integer(O)}",
+            "    NoncurrentVersionTransition : ${2:aws-s3-bucketrule.NoncurrentVersionTransition(O)}",
+            "    NoncurrentVersionTransitions : [ ${2:aws-s3-bucketrule.NoncurrentVersionTransition(O)} ]",
+            "    Prefix : ${2:String(O)}",
+            "    Status : ${2:String(R)}",
+            "    TagFilters : [ ${2:aws-s3-bucketrule.TagFilter(O)} ]",
+            "    Transition : ${2:aws-s3-bucketrule.Transition(O)}",
+            "    Transitions : [ ${2:aws-s3-bucketrule.Transition(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dlm-lifecyclepolicy.retainrule":{
+        "prefix":"aws-dlm-lifecyclepolicy.retainrule",
+        "body":[
+            "${1:myAWSDLMLifecyclePolicy.RetainRule}:",
+            "  Type: AWS::DLM::LifecyclePolicy.RetainRule",
+            "  Properties:",
+            "    Count : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.kernelcapabilities":{
+        "prefix":"aws-ecs-taskdefinition.kernelcapabilities",
+        "body":[
+            "${1:myAWSECSTaskDefinition.KernelCapabilities}:",
+            "  Type: AWS::ECS::TaskDefinition.KernelCapabilities",
+            "  Properties:",
+            "    Add : [ ${2:String(O)} ]",
+            "    Drop : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.triggeringdataset":{
+        "prefix":"aws-iotanalytics-dataset.triggeringdataset",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.TriggeringDataset}:",
+            "  Type: AWS::IoTAnalytics::Dataset.TriggeringDataset",
+            "  Properties:",
+            "    DatasetName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.topicconfiguration":{
+        "prefix":"aws-s3-bucket.topicconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.TopicConfiguration}:",
+            "  Type: AWS::S3::Bucket.TopicConfiguration",
+            "  Properties:",
+            "    Event : ${2:String(R)}",
+            "    Filter : ${2:aws-s3-buckettopicconfiguration.NotificationFilter(O)}",
+            "    Topic : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.s3originconfig":{
+        "prefix":"aws-cloudfront-distribution.s3originconfig",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.S3OriginConfig}:",
+            "  Type: AWS::CloudFront::Distribution.S3OriginConfig",
+            "  Properties:",
+            "    OriginAccessIdentity : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-association.parametervalues":{
+        "prefix":"aws-ssm-association.parametervalues",
+        "body":[
+            "${1:myAWSSSMAssociation.ParameterValues}:",
+            "  Type: AWS::SSM::Association.ParameterValues",
+            "  Properties:",
+            "    ParameterValues : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.recordcolumn":{
+        "prefix":"aws-kinesisanalytics-application.recordcolumn",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.RecordColumn}:",
+            "  Type: AWS::KinesisAnalytics::Application.RecordColumn",
+            "  Properties:",
+            "    Mapping : ${2:String(O)}",
+            "    SqlType : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-patchbaseline.patchfiltergroup":{
+        "prefix":"aws-ssm-patchbaseline.patchfiltergroup",
+        "body":[
+            "${1:myAWSSSMPatchBaseline.PatchFilterGroup}:",
+            "  Type: AWS::SSM::PatchBaseline.PatchFilterGroup",
+            "  Properties:",
+            "    PatchFilters : [ ${2:aws-ssm-patchbaselinepatchfiltergroup.PatchFilter(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.lambdaconfig":{
+        "prefix":"aws-cognito-userpool.lambdaconfig",
+        "body":[
+            "${1:myAWSCognitoUserPool.LambdaConfig}:",
+            "  Type: AWS::Cognito::UserPool.LambdaConfig",
+            "  Properties:",
+            "    CreateAuthChallenge : ${2:String(O)}",
+            "    PreAuthentication : ${2:String(O)}",
+            "    DefineAuthChallenge : ${2:String(O)}",
+            "    PreSignUp : ${2:String(O)}",
+            "    PostAuthentication : ${2:String(O)}",
+            "    PostConfirmation : ${2:String(O)}",
+            "    CustomMessage : ${2:String(O)}",
+            "    VerifyAuthChallengeResponse : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dlm-lifecyclepolicy.policydetails":{
+        "prefix":"aws-dlm-lifecyclepolicy.policydetails",
+        "body":[
+            "${1:myAWSDLMLifecyclePolicy.PolicyDetails}:",
+            "  Type: AWS::DLM::LifecyclePolicy.PolicyDetails",
+            "  Properties:",
+            "    ResourceTypes : [ ${2:String(O)} ]",
+            "    Schedules : [ ${2:aws-dlm-lifecyclepolicypolicydetails.Schedule(O)} ]",
+            "    TargetTags : [ ${2:aws-dlm-lifecyclepolicypolicydetails.Tag(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-configuration.tagsentry":{
+        "prefix":"aws-amazonmq-configuration.tagsentry",
+        "body":[
+            "${1:myAWSAmazonMQConfiguration.TagsEntry}:",
+            "  Type: AWS::AmazonMQ::Configuration.TagsEntry",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table.tableinput":{
+        "prefix":"aws-glue-table.tableinput",
+        "body":[
+            "${1:myAWSGlueTable.TableInput}:",
+            "  Type: AWS::Glue::Table.TableInput",
+            "  Properties:",
+            "    Owner : ${2:String(O)}",
+            "    ViewOriginalText : ${2:String(O)}",
+            "    Description : ${2:String(O)}",
+            "    TableType : ${2:String(O)}",
+            "    Parameters : ${2:Json(O)}",
+            "    ViewExpandedText : ${2:String(O)}",
+            "    StorageDescriptor : ${2:aws-glue-tabletableinput.StorageDescriptor(O)}",
+            "    PartitionKeys : [ ${2:aws-glue-tabletableinput.Column(O)} ]",
+            "    Retention : ${2:Integer(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.projectcache":{
+        "prefix":"aws-codebuild-project.projectcache",
+        "body":[
+            "${1:myAWSCodeBuildProject.ProjectCache}:",
+            "  Type: AWS::CodeBuild::Project.ProjectCache",
+            "  Properties:",
+            "    Modes : [ ${2:String(O)} ]",
+            "    Type : ${2:String(R)}",
+            "    Location : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-sizeconstraintset.fieldtomatch":{
+        "prefix":"aws-waf-sizeconstraintset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFSizeConstraintSet.FieldToMatch}:",
+            "  Type: AWS::WAF::SizeConstraintSet.FieldToMatch",
+            "  Properties:",
+            "    Data : ${2:String(O)}",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualrouter.tagref":{
+        "prefix":"aws-appmesh-virtualrouter.tagref",
+        "body":[
+            "${1:myAWSAppMeshVirtualRouter.TagRef}:",
+            "  Type: AWS::AppMesh::VirtualRouter.TagRef",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.addattributes":{
+        "prefix":"aws-iotanalytics-pipeline.addattributes",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.AddAttributes}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.AddAttributes",
+            "  Properties:",
+            "    Next : ${2:String(O)}",
+            "    Attributes : ${2:Json(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-function.tracingconfig":{
+        "prefix":"aws-lambda-function.tracingconfig",
+        "body":[
+            "${1:myAWSLambdaFunction.TracingConfig}:",
+            "  Type: AWS::Lambda::Function.TracingConfig",
+            "  Properties:",
+            "    Mode : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.scriptbootstrapactionconfig":{
+        "prefix":"aws-emr-cluster.scriptbootstrapactionconfig",
+        "body":[
+            "${1:myAWSEMRCluster.ScriptBootstrapActionConfig}:",
+            "  Type: AWS::EMR::Cluster.ScriptBootstrapActionConfig",
+            "  Properties:",
+            "    Args : [ ${2:String(O)} ]",
+            "    Path : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-launchconfiguration.blockdevice":{
+        "prefix":"aws-autoscaling-launchconfiguration.blockdevice",
+        "body":[
+            "${1:myAWSAutoScalingLaunchConfiguration.BlockDevice}:",
+            "  Type: AWS::AutoScaling::LaunchConfiguration.BlockDevice",
+            "  Properties:",
+            "    DeleteOnTermination : ${2:Boolean(O)}",
+            "    Encrypted : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    SnapshotId : ${2:String(O)}",
+            "    VolumeSize : ${2:Integer(O)}",
+            "    VolumeType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.metricsconfiguration":{
+        "prefix":"aws-s3-bucket.metricsconfiguration",
+        "body":[
+            "${1:myAWSS3Bucket.MetricsConfiguration}:",
+            "  Type: AWS::S3::Bucket.MetricsConfiguration",
+            "  Properties:",
+            "    Id : ${2:String(R)}",
+            "    Prefix : ${2:String(O)}",
+            "    TagFilters : [ ${2:aws-s3-bucketmetricsconfiguration.TagFilter(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer.autoscalingthresholds":{
+        "prefix":"aws-opsworks-layer.autoscalingthresholds",
+        "body":[
+            "${1:myAWSOpsWorksLayer.AutoScalingThresholds}:",
+            "  Type: AWS::OpsWorks::Layer.AutoScalingThresholds",
+            "  Properties:",
+            "    CpuThreshold : ${2:Double(O)}",
+            "    IgnoreMetricsTime : ${2:Integer(O)}",
+            "    InstanceCount : ${2:Integer(O)}",
+            "    LoadThreshold : ${2:Double(O)}",
+            "    MemoryThreshold : ${2:Double(O)}",
+            "    ThresholdsWaitTime : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.schedule":{
+        "prefix":"aws-iotanalytics-dataset.schedule",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.Schedule}:",
+            "  Type: AWS::IoTAnalytics::Dataset.Schedule",
+            "  Properties:",
+            "    ScheduleExpression : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.s3referencedatasource":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.s3referencedatasource",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.S3ReferenceDataSource}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource",
+            "  Properties:",
+            "    BucketARN : ${2:String(R)}",
+            "    FileKey : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.recordcolumn":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.recordcolumn",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.RecordColumn}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn",
+            "  Properties:",
+            "    Mapping : ${2:String(O)}",
+            "    SqlType : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-classifier.grokclassifier":{
+        "prefix":"aws-glue-classifier.grokclassifier",
+        "body":[
+            "${1:myAWSGlueClassifier.GrokClassifier}:",
+            "  Type: AWS::Glue::Classifier.GrokClassifier",
+            "  Properties:",
+            "    CustomPatterns : ${2:String(O)}",
+            "    GrokPattern : ${2:String(R)}",
+            "    Classification : ${2:String(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.recordformat":{
+        "prefix":"aws-kinesisanalytics-application.recordformat",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.RecordFormat}:",
+            "  Type: AWS::KinesisAnalytics::Application.RecordFormat",
+            "  Properties:",
+            "    MappingParameters : ${2:aws-kinesisanalytics-applicationrecordformat.MappingParameters(O)}",
+            "    RecordFormatType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.httpconfig":{
+        "prefix":"aws-appsync-datasource.httpconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.HttpConfig}:",
+            "  Type: AWS::AppSync::DataSource.HttpConfig",
+            "  Properties:",
+            "    Endpoint : ${2:String(R)}",
+            "    AuthorizationConfig : ${2:aws-appsync-datasourcehttpconfig.AuthorizationConfig(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.tagfilter":{
+        "prefix":"aws-s3-bucket.tagfilter",
+        "body":[
+            "${1:myAWSS3Bucket.TagFilter}:",
+            "  Type: AWS::S3::Bucket.TagFilter",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-pipeline.deviceregistryenrich":{
+        "prefix":"aws-iotanalytics-pipeline.deviceregistryenrich",
+        "body":[
+            "${1:myAWSIoTAnalyticsPipeline.DeviceRegistryEnrich}:",
+            "  Type: AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich",
+            "  Properties:",
+            "    Attribute : ${2:String(O)}",
+            "    Next : ${2:String(O)}",
+            "    ThingName : ${2:String(O)}",
+            "    RoleArn : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-waf-sizeconstraintset.sizeconstraint":{
+        "prefix":"aws-waf-sizeconstraintset.sizeconstraint",
+        "body":[
+            "${1:myAWSWAFSizeConstraintSet.SizeConstraint}:",
+            "  Type: AWS::WAF::SizeConstraintSet.SizeConstraint",
+            "  Properties:",
+            "    ComparisonOperator : ${2:String(R)}",
+            "    FieldToMatch : ${2:aws-waf-sizeconstraintsetsizeconstraint.FieldToMatch(R)}",
+            "    Size : ${2:Integer(R)}",
+            "    TextTransformation : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-guardduty-filter.condition":{
+        "prefix":"aws-guardduty-filter.condition",
+        "body":[
+            "${1:myAWSGuardDutyFilter.Condition}:",
+            "  Type: AWS::GuardDuty::Filter.Condition",
+            "  Properties:",
+            "    Lt : ${2:Integer(O)}",
+            "    Gte : ${2:Integer(O)}",
+            "    Neq : [ ${2:String(O)} ]",
+            "    Eq : [ ${2:String(O)} ]",
+            "    Lte : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.filtergroup":{
+        "prefix":"aws-codebuild-project.filtergroup",
+        "body":[
+            "${1:myAWSCodeBuildProject.FilterGroup}:",
+            "  Type: AWS::CodeBuild::Project.FilterGroup",
+            "  Properties:"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.ipv6add":{
+        "prefix":"aws-ec2-launchtemplate.ipv6add",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.Ipv6Add}:",
+            "  Type: AWS::EC2::LaunchTemplate.Ipv6Add",
+            "  Properties:",
+            "    Ipv6Address : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.licensespecification":{
+        "prefix":"aws-ec2-instance.licensespecification",
+        "body":[
+            "${1:myAWSEC2Instance.LicenseSpecification}:",
+            "  Type: AWS::EC2::Instance.LicenseSpecification",
+            "  Properties:",
+            "    LicenseConfigurationArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.predefinedscalingmetricspecification":{
+        "prefix":"aws-autoscalingplans-scalingplan.predefinedscalingmetricspecification",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.PredefinedScalingMetricSpecification}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification",
+            "  Properties:",
+            "    ResourceLabel : ${2:String(O)}",
+            "    PredefinedScalingMetricType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.rule":{
+        "prefix":"aws-ses-receiptrule.rule",
+        "body":[
+            "${1:myAWSSESReceiptRule.Rule}:",
+            "  Type: AWS::SES::ReceiptRule.Rule",
+            "  Properties:",
+            "    ScanEnabled : ${2:Boolean(O)}",
+            "    Recipients : [ ${2:String(O)} ]",
+            "    Actions : [ ${2:aws-ses-receiptrulerule.Action(O)} ]",
+            "    Enabled : ${2:Boolean(O)}",
+            "    Name : ${2:String(O)}",
+            "    TlsPolicy : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudtrail-trail.dataresource":{
+        "prefix":"aws-cloudtrail-trail.dataresource",
+        "body":[
+            "${1:myAWSCloudTrailTrail.DataResource}:",
+            "  Type: AWS::CloudTrail::Trail.DataResource",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Values : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-imagebuilder.domainjoininfo":{
+        "prefix":"aws-appstream-imagebuilder.domainjoininfo",
+        "body":[
+            "${1:myAWSAppStreamImageBuilder.DomainJoinInfo}:",
+            "  Type: AWS::AppStream::ImageBuilder.DomainJoinInfo",
+            "  Properties:",
+            "    OrganizationalUnitDistinguishedName : ${2:String(O)}",
+            "    DirectoryName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.dynamodbv2action":{
+        "prefix":"aws-iot-topicrule.dynamodbv2action",
+        "body":[
+            "${1:myAWSIoTTopicRule.DynamoDBv2Action}:",
+            "  Type: AWS::IoT::TopicRule.DynamoDBv2Action",
+            "  Properties:",
+            "    PutItem : ${2:aws-iot-topicruledynamodbv2action.PutItemInput(O)}",
+            "    RoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-usageplan.throttlesettings":{
+        "prefix":"aws-apigateway-usageplan.throttlesettings",
+        "body":[
+            "${1:myAWSApiGatewayUsagePlan.ThrottleSettings}:",
+            "  Type: AWS::ApiGateway::UsagePlan.ThrottleSettings",
+            "  Properties:",
+            "    BurstLimit : ${2:Integer(O)}",
+            "    RateLimit : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.sqlapplicationconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.sqlapplicationconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.SqlApplicationConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration",
+            "  Properties:",
+            "    Inputs : [ ${2:aws-kinesisanalyticsv2-applicationsqlapplicationconfiguration.Input(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-channel.retentionperiod":{
+        "prefix":"aws-iotanalytics-channel.retentionperiod",
+        "body":[
+            "${1:myAWSIoTAnalyticsChannel.RetentionPeriod}:",
+            "  Type: AWS::IoTAnalytics::Channel.RetentionPeriod",
+            "  Properties:",
+            "    NumberOfDays : ${2:Integer(O)}",
+            "    Unlimited : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-table.serdeinfo":{
+        "prefix":"aws-glue-table.serdeinfo",
+        "body":[
+            "${1:myAWSGlueTable.SerdeInfo}:",
+            "  Type: AWS::Glue::Table.SerdeInfo",
+            "  Properties:",
+            "    Parameters : ${2:Json(O)}",
+            "    SerializationLibrary : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.inputprocessingconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.inputprocessingconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.InputProcessingConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration",
+            "  Properties:",
+            "    InputLambdaProcessor : ${2:aws-kinesisanalyticsv2-applicationinputprocessingconfiguration.InputLambdaProcessor(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.ssmassociation":{
+        "prefix":"aws-ec2-instance.ssmassociation",
+        "body":[
+            "${1:myAWSEC2Instance.SsmAssociation}:",
+            "  Type: AWS::EC2::Instance.SsmAssociation",
+            "  Properties:",
+            "    AssociationParameters : [ ${2:aws-ec2-instancessmassociation.AssociationParameter(O)} ]",
+            "    DocumentName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-broker.configurationid":{
+        "prefix":"aws-amazonmq-broker.configurationid",
+        "body":[
+            "${1:myAWSAmazonMQBroker.ConfigurationId}:",
+            "  Type: AWS::AmazonMQ::Broker.ConfigurationId",
+            "  Properties:",
+            "    Revision : ${2:Integer(R)}",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-patchbaseline.patchsource":{
+        "prefix":"aws-ssm-patchbaseline.patchsource",
+        "body":[
+            "${1:myAWSSSMPatchBaseline.PatchSource}:",
+            "  Type: AWS::SSM::PatchBaseline.PatchSource",
+            "  Properties:",
+            "    Products : [ ${2:String(O)} ]",
+            "    Configuration : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.capacityreservationtarget":{
+        "prefix":"aws-ec2-launchtemplate.capacityreservationtarget",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.CapacityReservationTarget}:",
+            "  Type: AWS::EC2::LaunchTemplate.CapacityReservationTarget",
+            "  Properties:",
+            "    CapacityReservationId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.kinesisfirehoseinput":{
+        "prefix":"aws-kinesisanalytics-application.kinesisfirehoseinput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.KinesisFirehoseInput}:",
+            "  Type: AWS::KinesisAnalytics::Application.KinesisFirehoseInput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.applicationconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.applicationconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.ApplicationConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration",
+            "  Properties:",
+            "    ApplicationCodeConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.ApplicationCodeConfiguration(O)}",
+            "    EnvironmentProperties : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.EnvironmentProperties(O)}",
+            "    FlinkApplicationConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.FlinkApplicationConfiguration(O)}",
+            "    SqlApplicationConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.SqlApplicationConfiguration(O)}",
+            "    ApplicationSnapshotConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.ApplicationSnapshotConfiguration(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworkscm-server.engineattribute":{
+        "prefix":"aws-opsworkscm-server.engineattribute",
+        "body":[
+            "${1:myAWSOpsWorksCMServer.EngineAttribute}:",
+            "  Type: AWS::OpsWorksCM::Server.EngineAttribute",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.function":{
+        "prefix":"aws-greengrass-functiondefinition.function",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.Function}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.Function",
+            "  Properties:",
+            "    FunctionArn : ${2:String(R)}",
+            "    FunctionConfiguration : ${2:aws-greengrass-functiondefinitionfunction.FunctionConfiguration(R)}",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-partition.skewedinfo":{
+        "prefix":"aws-glue-partition.skewedinfo",
+        "body":[
+            "${1:myAWSGluePartition.SkewedInfo}:",
+            "  Type: AWS::Glue::Partition.SkewedInfo",
+            "  Properties:",
+            "    SkewedColumnNames : [ ${2:String(O)} ]",
+            "    SkewedColumnValues : [ ${2:String(O)} ]",
+            "    SkewedColumnValueLocationMaps : ${2:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configrule.source":{
+        "prefix":"aws-config-configrule.source",
+        "body":[
+            "${1:myAWSConfigConfigRule.Source}:",
+            "  Type: AWS::Config::ConfigRule.Source",
+            "  Properties:",
+            "    Owner : ${2:String(R)}",
+            "    SourceDetails : [ ${2:aws-config-configrulesource.SourceDetail(O)} ]",
+            "    SourceIdentifier : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-restapi.s3location":{
+        "prefix":"aws-apigateway-restapi.s3location",
+        "body":[
+            "${1:myAWSApiGatewayRestApi.S3Location}:",
+            "  Type: AWS::ApiGateway::RestApi.S3Location",
+            "  Properties:",
+            "    Bucket : ${2:String(O)}",
+            "    ETag : ${2:String(O)}",
+            "    Key : ${2:String(O)}",
+            "    Version : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.projection":{
+        "prefix":"aws-dynamodb-table.projection",
+        "body":[
+            "${1:myAWSDynamoDBTable.Projection}:",
+            "  Type: AWS::DynamoDB::Table.Projection",
+            "  Properties:",
+            "    NonKeyAttributes : [ ${2:String(O)} ]",
+            "    ProjectionType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.networkinterface":{
+        "prefix":"aws-ec2-launchtemplate.networkinterface",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.NetworkInterface}:",
+            "  Type: AWS::EC2::LaunchTemplate.NetworkInterface",
+            "  Properties:",
+            "    Description : ${2:String(O)}",
+            "    PrivateIpAddress : ${2:String(O)}",
+            "    PrivateIpAddresses : [ ${2:aws-ec2-launchtemplatenetworkinterface.PrivateIpAdd(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${2:Integer(O)}",
+            "    Ipv6AddressCount : ${2:Integer(O)}",
+            "    Groups : [ ${2:String(O)} ]",
+            "    DeviceIndex : ${2:Integer(O)}",
+            "    SubnetId : ${2:String(O)}",
+            "    Ipv6Addresses : [ ${2:aws-ec2-launchtemplatenetworkinterface.Ipv6Add(O)} ]",
+            "    AssociatePublicIpAddress : ${2:Boolean(O)}",
+            "    NetworkInterfaceId : ${2:String(O)}",
+            "    DeleteOnTermination : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listener.certificate":{
+        "prefix":"aws-elasticloadbalancingv2-listener.certificate",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2Listener.Certificate}:",
+            "  Type: AWS::ElasticLoadBalancingV2::Listener.Certificate",
+            "  Properties:",
+            "    CertificateArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-stack.storageconnector":{
+        "prefix":"aws-appstream-stack.storageconnector",
+        "body":[
+            "${1:myAWSAppStreamStack.StorageConnector}:",
+            "  Type: AWS::AppStream::Stack.StorageConnector",
+            "  Properties:",
+            "    Domains : [ ${2:String(O)} ]",
+            "    ResourceIdentifier : ${2:String(O)}",
+            "    ConnectorType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.applicationcodeconfiguration":{
+        "prefix":"aws-kinesisanalyticsv2-application.applicationcodeconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.ApplicationCodeConfiguration}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration",
+            "  Properties:",
+            "    CodeContentType : ${2:String(R)}",
+            "    CodeContent : ${2:aws-kinesisanalyticsv2-applicationapplicationcodeconfiguration.CodeContent(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-listenerrule.redirectconfig":{
+        "prefix":"aws-elasticloadbalancingv2-listenerrule.redirectconfig",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2ListenerRule.RedirectConfig}:",
+            "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig",
+            "  Properties:",
+            "    Host : ${2:String(O)}",
+            "    Path : ${2:String(O)}",
+            "    Port : ${2:String(O)}",
+            "    Protocol : ${2:String(O)}",
+            "    Query : ${2:String(O)}",
+            "    StatusCode : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-xssmatchset.fieldtomatch":{
+        "prefix":"aws-wafregional-xssmatchset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFRegionalXssMatchSet.FieldToMatch}:",
+            "  Type: AWS::WAFRegional::XssMatchSet.FieldToMatch",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Data : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iotanalytics-dataset.retentionperiod":{
+        "prefix":"aws-iotanalytics-dataset.retentionperiod",
+        "body":[
+            "${1:myAWSIoTAnalyticsDataset.RetentionPeriod}:",
+            "  Type: AWS::IoTAnalytics::Dataset.RetentionPeriod",
+            "  Properties:",
+            "    NumberOfDays : ${2:Integer(R)}",
+            "    Unlimited : ${2:Boolean(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configurationaggregator.accountaggregationsource":{
+        "prefix":"aws-config-configurationaggregator.accountaggregationsource",
+        "body":[
+            "${1:myAWSConfigConfigurationAggregator.AccountAggregationSource}:",
+            "  Type: AWS::Config::ConfigurationAggregator.AccountAggregationSource",
+            "  Properties:",
+            "    AllAwsRegions : ${2:Boolean(O)}",
+            "    AwsRegions : [ ${2:String(O)} ]",
+            "    AccountIds : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.httprouteaction":{
+        "prefix":"aws-appmesh-route.httprouteaction",
+        "body":[
+            "${1:myAWSAppMeshRoute.HttpRouteAction}:",
+            "  Type: AWS::AppMesh::Route.HttpRouteAction",
+            "  Properties:",
+            "    WeightedTargets : [ ${2:aws-appmesh-routehttprouteaction.WeightedTarget(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentconfig.minimumhealthyhosts":{
+        "prefix":"aws-codedeploy-deploymentconfig.minimumhealthyhosts",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentConfig.MinimumHealthyHosts}:",
+            "  Type: AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Value : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualrouter.virtualrouterspec":{
+        "prefix":"aws-appmesh-virtualrouter.virtualrouterspec",
+        "body":[
+            "${1:myAWSAppMeshVirtualRouter.VirtualRouterSpec}:",
+            "  Type: AWS::AppMesh::VirtualRouter.VirtualRouterSpec",
+            "  Properties:",
+            "    Listeners : [ ${2:aws-appmesh-virtualroutervirtualrouterspec.VirtualRouterListener(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-recordsetgroup.geolocation":{
+        "prefix":"aws-route53-recordsetgroup.geolocation",
+        "body":[
+            "${1:myAWSRoute53RecordSetGroup.GeoLocation}:",
+            "  Type: AWS::Route53::RecordSetGroup.GeoLocation",
+            "  Properties:",
+            "    ContinentCode : ${2:String(O)}",
+            "    CountryCode : ${2:String(O)}",
+            "    SubdivisionCode : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-restapi.endpointconfiguration":{
+        "prefix":"aws-apigateway-restapi.endpointconfiguration",
+        "body":[
+            "${1:myAWSApiGatewayRestApi.EndpointConfiguration}:",
+            "  Type: AWS::ApiGateway::RestApi.EndpointConfiguration",
+            "  Properties:",
+            "    Types : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.scalingconstraints":{
+        "prefix":"aws-emr-instancegroupconfig.scalingconstraints",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.ScalingConstraints}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.ScalingConstraints",
+            "  Properties:",
+            "    MaxCapacity : ${2:Integer(R)}",
+            "    MinCapacity : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-layer.recipes":{
+        "prefix":"aws-opsworks-layer.recipes",
+        "body":[
+            "${1:myAWSOpsWorksLayer.Recipes}:",
+            "  Type: AWS::OpsWorks::Layer.Recipes",
+            "  Properties:",
+            "    Configure : [ ${2:String(O)} ]",
+            "    Deploy : [ ${2:String(O)} ]",
+            "    Setup : [ ${2:String(O)} ]",
+            "    Shutdown : [ ${2:String(O)} ]",
+            "    Undeploy : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-crawler.s3target":{
+        "prefix":"aws-glue-crawler.s3target",
+        "body":[
+            "${1:myAWSGlueCrawler.S3Target}:",
+            "  Type: AWS::Glue::Crawler.S3Target",
+            "  Properties:",
+            "    Path : ${2:String(O)}",
+            "    Exclusions : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.resourcedatacontainer":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.resourcedatacontainer",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.ResourceDataContainer}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer",
+            "  Properties:",
+            "    SecretsManagerSecretResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.SecretsManagerSecretResourceData(O)}",
+            "    SageMakerMachineLearningModelResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.SageMakerMachineLearningModelResourceData(O)}",
+            "    LocalVolumeResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.LocalVolumeResourceData(O)}",
+            "    LocalDeviceResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.LocalDeviceResourceData(O)}",
+            "    S3MachineLearningModelResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.S3MachineLearningModelResourceData(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-fleet.vpcconfig":{
+        "prefix":"aws-appstream-fleet.vpcconfig",
+        "body":[
+            "${1:myAWSAppStreamFleet.VpcConfig}:",
+            "  Type: AWS::AppStream::Fleet.VpcConfig",
+            "  Properties:",
+            "    SubnetIds : [ ${2:String(O)} ]",
+            "    SecurityGroupIds : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinition.resourceaccesspolicy":{
+        "prefix":"aws-greengrass-functiondefinition.resourceaccesspolicy",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinition.ResourceAccessPolicy}:",
+            "  Type: AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy",
+            "  Properties:",
+            "    ResourceId : ${2:String(R)}",
+            "    Permission : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudwatch-alarm.dimension":{
+        "prefix":"aws-cloudwatch-alarm.dimension",
+        "body":[
+            "${1:myAWSCloudWatchAlarm.Dimension}:",
+            "  Type: AWS::CloudWatch::Alarm.Dimension",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancegroupconfig.cloudwatchalarmdefinition":{
+        "prefix":"aws-emr-instancegroupconfig.cloudwatchalarmdefinition",
+        "body":[
+            "${1:myAWSEMRInstanceGroupConfig.CloudWatchAlarmDefinition}:",
+            "  Type: AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition",
+            "  Properties:",
+            "    ComparisonOperator : ${2:String(R)}",
+            "    Dimensions : [ ${2:aws-emr-instancegroupconfigcloudwatchalarmdefinition.MetricDimension(O)} ]",
+            "    EvaluationPeriods : ${2:Integer(O)}",
+            "    MetricName : ${2:String(R)}",
+            "    Namespace : ${2:String(O)}",
+            "    Period : ${2:Integer(R)}",
+            "    Statistic : ${2:String(O)}",
+            "    Threshold : ${2:Double(R)}",
+            "    Unit : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.transition":{
+        "prefix":"aws-s3-bucket.transition",
+        "body":[
+            "${1:myAWSS3Bucket.Transition}:",
+            "  Type: AWS::S3::Bucket.Transition",
+            "  Properties:",
+            "    StorageClass : ${2:String(R)}",
+            "    TransitionDate : ${2:Timestamp(O)}",
+            "    TransitionInDays : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.instanceipv6address":{
+        "prefix":"aws-ec2-spotfleet.instanceipv6address",
+        "body":[
+            "${1:myAWSEC2SpotFleet.InstanceIpv6Address}:",
+            "  Type: AWS::EC2::SpotFleet.InstanceIpv6Address",
+            "  Properties:",
+            "    Ipv6Address : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.ebsconfiguration":{
+        "prefix":"aws-emr-cluster.ebsconfiguration",
+        "body":[
+            "${1:myAWSEMRCluster.EbsConfiguration}:",
+            "  Type: AWS::EMR::Cluster.EbsConfiguration",
+            "  Properties:",
+            "    EbsBlockDeviceConfigs : [ ${2:aws-emr-clusterebsconfiguration.EbsBlockDeviceConfig(O)} ]",
+            "    EbsOptimized : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.groupownersetting":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.groupownersetting",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.GroupOwnerSetting}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting",
+            "  Properties:",
+            "    AutoAddGroupOwner : ${2:Boolean(R)}",
+            "    GroupOwner : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.dataexport":{
+        "prefix":"aws-s3-bucket.dataexport",
+        "body":[
+            "${1:myAWSS3Bucket.DataExport}:",
+            "  Type: AWS::S3::Bucket.DataExport",
+            "  Properties:",
+            "    Destination : ${2:aws-s3-bucketdataexport.Destination(R)}",
+            "    OutputSchemaVersion : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.customerrorresponse":{
+        "prefix":"aws-cloudfront-distribution.customerrorresponse",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.CustomErrorResponse}:",
+            "  Type: AWS::CloudFront::Distribution.CustomErrorResponse",
+            "  Properties:",
+            "    ResponseCode : ${2:Integer(O)}",
+            "    ErrorCachingMinTTL : ${2:Double(O)}",
+            "    ErrorCode : ${2:Integer(R)}",
+            "    ResponsePagePath : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.lambdaaction":{
+        "prefix":"aws-ses-receiptrule.lambdaaction",
+        "body":[
+            "${1:myAWSSESReceiptRule.LambdaAction}:",
+            "  Type: AWS::SES::ReceiptRule.LambdaAction",
+            "  Properties:",
+            "    FunctionArn : ${2:String(R)}",
+            "    TopicArn : ${2:String(O)}",
+            "    InvocationType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.healthcheck":{
+        "prefix":"aws-ecs-taskdefinition.healthcheck",
+        "body":[
+            "${1:myAWSECSTaskDefinition.HealthCheck}:",
+            "  Type: AWS::ECS::TaskDefinition.HealthCheck",
+            "  Properties:",
+            "    Command : [ ${2:String(R)} ]",
+            "    Interval : ${2:Integer(O)}",
+            "    Retries : ${2:Integer(O)}",
+            "    StartPeriod : ${2:Integer(O)}",
+            "    Timeout : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.instancesdistribution":{
+        "prefix":"aws-autoscaling-autoscalinggroup.instancesdistribution",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.InstancesDistribution}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.InstancesDistribution",
+            "  Properties:",
+            "    OnDemandAllocationStrategy : ${2:String(O)}",
+            "    OnDemandBaseCapacity : ${2:Integer(O)}",
+            "    OnDemandPercentageAboveBaseCapacity : ${2:Integer(O)}",
+            "    SpotAllocationStrategy : ${2:String(O)}",
+            "    SpotInstancePools : ${2:Integer(O)}",
+            "    SpotMaxPrice : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.targetgroupsconfig":{
+        "prefix":"aws-ec2-spotfleet.targetgroupsconfig",
+        "body":[
+            "${1:myAWSEC2SpotFleet.TargetGroupsConfig}:",
+            "  Type: AWS::EC2::SpotFleet.TargetGroupsConfig",
+            "  Properties:",
+            "    TargetGroups : [ ${2:aws-ec2-spotfleettargetgroupsconfig.TargetGroup(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancingv2-loadbalancer.subnetmapping":{
+        "prefix":"aws-elasticloadbalancingv2-loadbalancer.subnetmapping",
+        "body":[
+            "${1:myAWSElasticLoadBalancingV2LoadBalancer.SubnetMapping}:",
+            "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping",
+            "  Properties:",
+            "    AllocationId : ${2:String(R)}",
+            "    SubnetId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-notebookinstancelifecycleconfig.notebookinstancelifecyclehook":{
+        "prefix":"aws-sagemaker-notebookinstancelifecycleconfig.notebookinstancelifecyclehook",
+        "body":[
+            "${1:myAWSSageMakerNotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook}:",
+            "  Type: AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook",
+            "  Properties:",
+            "    Content : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-stage.accesslogsettings":{
+        "prefix":"aws-apigatewayv2-stage.accesslogsettings",
+        "body":[
+            "${1:myAWSApiGatewayV2Stage.AccessLogSettings}:",
+            "  Type: AWS::ApiGatewayV2::Stage.AccessLogSettings",
+            "  Properties:",
+            "    Format : ${2:String(O)}",
+            "    DestinationArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.inputparallelism":{
+        "prefix":"aws-kinesisanalytics-application.inputparallelism",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.InputParallelism}:",
+            "  Type: AWS::KinesisAnalytics::Application.InputParallelism",
+            "  Properties:",
+            "    Count : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.accesslog":{
+        "prefix":"aws-appmesh-virtualnode.accesslog",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.AccessLog}:",
+            "  Type: AWS::AppMesh::VirtualNode.AccessLog",
+            "  Properties:",
+            "    File : ${2:aws-appmesh-virtualnodeaccesslog.FileAccessLog(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.portmapping":{
+        "prefix":"aws-ecs-taskdefinition.portmapping",
+        "body":[
+            "${1:myAWSECSTaskDefinition.PortMapping}:",
+            "  Type: AWS::ECS::TaskDefinition.PortMapping",
+            "  Properties:",
+            "    ContainerPort : ${2:Integer(O)}",
+            "    HostPort : ${2:Integer(O)}",
+            "    Protocol : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.cpuoptions":{
+        "prefix":"aws-ec2-launchtemplate.cpuoptions",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.CpuOptions}:",
+            "  Type: AWS::EC2::LaunchTemplate.CpuOptions",
+            "  Properties:",
+            "    ThreadsPerCore : ${2:Integer(O)}",
+            "    CoreCount : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.elasticinferenceaccelerator":{
+        "prefix":"aws-ec2-instance.elasticinferenceaccelerator",
+        "body":[
+            "${1:myAWSEC2Instance.ElasticInferenceAccelerator}:",
+            "  Type: AWS::EC2::Instance.ElasticInferenceAccelerator",
+            "  Properties:",
+            "    Type : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-sizeconstraintset.fieldtomatch":{
+        "prefix":"aws-wafregional-sizeconstraintset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFRegionalSizeConstraintSet.FieldToMatch}:",
+            "  Type: AWS::WAFRegional::SizeConstraintSet.FieldToMatch",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Data : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.virtualnodespec":{
+        "prefix":"aws-appmesh-virtualnode.virtualnodespec",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.VirtualNodeSpec}:",
+            "  Type: AWS::AppMesh::VirtualNode.VirtualNodeSpec",
+            "  Properties:",
+            "    Logging : ${2:aws-appmesh-virtualnodevirtualnodespec.Logging(O)}",
+            "    Backends : [ ${2:aws-appmesh-virtualnodevirtualnodespec.Backend(O)} ]",
+            "    Listeners : [ ${2:aws-appmesh-virtualnodevirtualnodespec.Listener(O)} ]",
+            "    ServiceDiscovery : ${2:aws-appmesh-virtualnodevirtualnodespec.ServiceDiscovery(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.cloudwatchalarmaction":{
+        "prefix":"aws-iot-topicrule.cloudwatchalarmaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.CloudwatchAlarmAction}:",
+            "  Type: AWS::IoT::TopicRule.CloudwatchAlarmAction",
+            "  Properties:",
+            "    AlarmName : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}",
+            "    StateReason : ${2:String(R)}",
+            "    StateValue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.ulimit":{
+        "prefix":"aws-ecs-taskdefinition.ulimit",
+        "body":[
+            "${1:myAWSECSTaskDefinition.Ulimit}:",
+            "  Type: AWS::ECS::TaskDefinition.Ulimit",
+            "  Properties:",
+            "    HardLimit : ${2:Integer(R)}",
+            "    Name : ${2:String(R)}",
+            "    SoftLimit : ${2:Integer(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.inputprocessingconfiguration":{
+        "prefix":"aws-kinesisanalytics-application.inputprocessingconfiguration",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.InputProcessingConfiguration}:",
+            "  Type: AWS::KinesisAnalytics::Application.InputProcessingConfiguration",
+            "  Properties:",
+            "    InputLambdaProcessor : ${2:aws-kinesisanalytics-applicationinputprocessingconfiguration.InputLambdaProcessor(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-function.environment":{
+        "prefix":"aws-lambda-function.environment",
+        "body":[
+            "${1:myAWSLambdaFunction.Environment}:",
+            "  Type: AWS::Lambda::Function.Environment",
+            "  Properties:",
+            "    Variables : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.groupidentifier":{
+        "prefix":"aws-ec2-spotfleet.groupidentifier",
+        "body":[
+            "${1:myAWSEC2SpotFleet.GroupIdentifier}:",
+            "  Type: AWS::EC2::SpotFleet.GroupIdentifier",
+            "  Properties:",
+            "    GroupId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.scalingrule":{
+        "prefix":"aws-emr-cluster.scalingrule",
+        "body":[
+            "${1:myAWSEMRCluster.ScalingRule}:",
+            "  Type: AWS::EMR::Cluster.ScalingRule",
+            "  Properties:",
+            "    Action : ${2:aws-emr-clusterscalingrule.ScalingAction(R)}",
+            "    Description : ${2:String(O)}",
+            "    Name : ${2:String(R)}",
+            "    Trigger : ${2:aws-emr-clusterscalingrule.ScalingTrigger(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-streamingdistribution.logging":{
+        "prefix":"aws-cloudfront-streamingdistribution.logging",
+        "body":[
+            "${1:myAWSCloudFrontStreamingDistribution.Logging}:",
+            "  Type: AWS::CloudFront::StreamingDistribution.Logging",
+            "  Properties:",
+            "    Bucket : ${2:String(R)}",
+            "    Enabled : ${2:Boolean(R)}",
+            "    Prefix : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-classifier.jsonclassifier":{
+        "prefix":"aws-glue-classifier.jsonclassifier",
+        "body":[
+            "${1:myAWSGlueClassifier.JsonClassifier}:",
+            "  Type: AWS::Glue::Classifier.JsonClassifier",
+            "  Properties:",
+            "    JsonPath : ${2:String(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-configurationseteventdestination.kinesisfirehosedestination":{
+        "prefix":"aws-ses-configurationseteventdestination.kinesisfirehosedestination",
+        "body":[
+            "${1:myAWSSESConfigurationSetEventDestination.KinesisFirehoseDestination}:",
+            "  Type: AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination",
+            "  Properties:",
+            "    IAMRoleARN : ${2:String(R)}",
+            "    DeliveryStreamARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.listener":{
+        "prefix":"aws-appmesh-virtualnode.listener",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.Listener}:",
+            "  Type: AWS::AppMesh::VirtualNode.Listener",
+            "  Properties:",
+            "    HealthCheck : ${2:aws-appmesh-virtualnodelistener.HealthCheck(O)}",
+            "    PortMapping : ${2:aws-appmesh-virtualnodelistener.PortMapping(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.copycommand":{
+        "prefix":"aws-kinesisfirehose-deliverystream.copycommand",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.CopyCommand}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.CopyCommand",
+            "  Properties:",
+            "    CopyOptions : ${2:String(O)}",
+            "    DataTableColumns : ${2:String(O)}",
+            "    DataTableName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline.parametervalue":{
+        "prefix":"aws-datapipeline-pipeline.parametervalue",
+        "body":[
+            "${1:myAWSDataPipelinePipeline.ParameterValue}:",
+            "  Type: AWS::DataPipeline::Pipeline.ParameterValue",
+            "  Properties:",
+            "    Id : ${2:String(R)}",
+            "    StringValue : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.projecttriggers":{
+        "prefix":"aws-codebuild-project.projecttriggers",
+        "body":[
+            "${1:myAWSCodeBuildProject.ProjectTriggers}:",
+            "  Type: AWS::CodeBuild::Project.ProjectTriggers",
+            "  Properties:",
+            "    FilterGroups : [ ${2:aws-codebuild-projectprojecttriggers.FilterGroup(O)} ]",
+            "    Webhook : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-distribution.logging":{
+        "prefix":"aws-cloudfront-distribution.logging",
+        "body":[
+            "${1:myAWSCloudFrontDistribution.Logging}:",
+            "  Type: AWS::CloudFront::Distribution.Logging",
+            "  Properties:",
+            "    IncludeCookies : ${2:Boolean(O)}",
+            "    Bucket : ${2:String(R)}",
+            "    Prefix : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualservice.virtualserviceprovider":{
+        "prefix":"aws-appmesh-virtualservice.virtualserviceprovider",
+        "body":[
+            "${1:myAWSAppMeshVirtualService.VirtualServiceProvider}:",
+            "  Type: AWS::AppMesh::VirtualService.VirtualServiceProvider",
+            "  Properties:",
+            "    VirtualNode : ${2:aws-appmesh-virtualservicevirtualserviceprovider.VirtualNodeServiceProvider(O)}",
+            "    VirtualRouter : ${2:aws-appmesh-virtualservicevirtualserviceprovider.VirtualRouterServiceProvider(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-identitypoolroleattachment.rulesconfigurationtype":{
+        "prefix":"aws-cognito-identitypoolroleattachment.rulesconfigurationtype",
+        "body":[
+            "${1:myAWSCognitoIdentityPoolRoleAttachment.RulesConfigurationType}:",
+            "  Type: AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType",
+            "  Properties:",
+            "    Rules : [ ${2:aws-cognito-identitypoolroleattachmentrulesconfigurationtype.MappingRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-glue-job.executionproperty":{
+        "prefix":"aws-glue-job.executionproperty",
+        "body":[
+            "${1:myAWSGlueJob.ExecutionProperty}:",
+            "  Type: AWS::Glue::Job.ExecutionProperty",
+            "  Properties:",
+            "    MaxConcurrentRuns : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.linuxparameters":{
+        "prefix":"aws-ecs-taskdefinition.linuxparameters",
+        "body":[
+            "${1:myAWSECSTaskDefinition.LinuxParameters}:",
+            "  Type: AWS::ECS::TaskDefinition.LinuxParameters",
+            "  Properties:",
+            "    Capabilities : ${2:aws-ecs-taskdefinitionlinuxparameters.KernelCapabilities(O)}",
+            "    Devices : [ ${2:aws-ecs-taskdefinitionlinuxparameters.Device(O)} ]",
+            "    InitProcessEnabled : ${2:Boolean(O)}",
+            "    SharedMemorySize : ${2:Integer(O)}",
+            "    Tmpfs : [ ${2:aws-ecs-taskdefinitionlinuxparameters.Tmpfs(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appstream-stack.usersetting":{
+        "prefix":"aws-appstream-stack.usersetting",
+        "body":[
+            "${1:myAWSAppStreamStack.UserSetting}:",
+            "  Type: AWS::AppStream::Stack.UserSetting",
+            "  Properties:",
+            "    Action : ${2:String(R)}",
+            "    Permission : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-amazonmq-configurationassociation.configurationid":{
+        "prefix":"aws-amazonmq-configurationassociation.configurationid",
+        "body":[
+            "${1:myAWSAmazonMQConfigurationAssociation.ConfigurationId}:",
+            "  Type: AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId",
+            "  Properties:",
+            "    Revision : ${2:Integer(R)}",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-servicediscovery-service.healthcheckconfig":{
+        "prefix":"aws-servicediscovery-service.healthcheckconfig",
+        "body":[
+            "${1:myAWSServiceDiscoveryService.HealthCheckConfig}:",
+            "  Type: AWS::ServiceDiscovery::Service.HealthCheckConfig",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    ResourcePath : ${2:String(O)}",
+            "    FailureThreshold : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.deviceconfiguration":{
+        "prefix":"aws-cognito-userpool.deviceconfiguration",
+        "body":[
+            "${1:myAWSCognitoUserPool.DeviceConfiguration}:",
+            "  Type: AWS::Cognito::UserPool.DeviceConfiguration",
+            "  Properties:",
+            "    DeviceOnlyRememberedOnUserPrompt : ${2:Boolean(O)}",
+            "    ChallengeRequiredOnNewDevice : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-virtualnode.dnsservicediscovery":{
+        "prefix":"aws-appmesh-virtualnode.dnsservicediscovery",
+        "body":[
+            "${1:myAWSAppMeshVirtualNode.DnsServiceDiscovery}:",
+            "  Type: AWS::AppMesh::VirtualNode.DnsServiceDiscovery",
+            "  Properties:",
+            "    Hostname : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesis-stream.streamencryption":{
+        "prefix":"aws-kinesis-stream.streamencryption",
+        "body":[
+            "${1:myAWSKinesisStream.StreamEncryption}:",
+            "  Type: AWS::Kinesis::Stream.StreamEncryption",
+            "  Properties:",
+            "    EncryptionType : ${2:String(R)}",
+            "    KeyId : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalingpolicy.targettrackingscalingpolicyconfiguration":{
+        "prefix":"aws-applicationautoscaling-scalingpolicy.targettrackingscalingpolicyconfiguration",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalingPolicy.TargetTrackingScalingPolicyConfiguration}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration",
+            "  Properties:",
+            "    CustomizedMetricSpecification : ${2:aws-applicationautoscaling-scalingpolicytargettrackingscalingpolicyconfiguration.CustomizedMetricSpecification(O)}",
+            "    DisableScaleIn : ${2:Boolean(O)}",
+            "    PredefinedMetricSpecification : ${2:aws-applicationautoscaling-scalingpolicytargettrackingscalingpolicyconfiguration.PredefinedMetricSpecification(O)}",
+            "    ScaleInCooldown : ${2:Integer(O)}",
+            "    ScaleOutCooldown : ${2:Integer(O)}",
+            "    TargetValue : ${2:Double(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.s3destinationconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.s3destinationconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.S3DestinationConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration",
+            "  Properties:",
+            "    BucketARN : ${2:String(R)}",
+            "    BufferingHints : ${2:aws-kinesisfirehose-deliverystreams3destinationconfiguration.BufferingHints(R)}",
+            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreams3destinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    CompressionFormat : ${2:String(R)}",
+            "    EncryptionConfiguration : ${2:aws-kinesisfirehose-deliverystreams3destinationconfiguration.EncryptionConfiguration(O)}",
+            "    Prefix : ${2:String(O)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudfront-streamingdistribution.streamingdistributionconfig":{
+        "prefix":"aws-cloudfront-streamingdistribution.streamingdistributionconfig",
+        "body":[
+            "${1:myAWSCloudFrontStreamingDistribution.StreamingDistributionConfig}:",
+            "  Type: AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig",
+            "  Properties:",
+            "    Logging : ${2:aws-cloudfront-streamingdistributionstreamingdistributionconfig.Logging(O)}",
+            "    Comment : ${2:String(R)}",
+            "    PriceClass : ${2:String(O)}",
+            "    S3Origin : ${2:aws-cloudfront-streamingdistributionstreamingdistributionconfig.S3Origin(R)}",
+            "    Enabled : ${2:Boolean(R)}",
+            "    Aliases : [ ${2:String(O)} ]",
+            "    TrustedSigners : ${2:aws-cloudfront-streamingdistributionstreamingdistributionconfig.TrustedSigners(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.instancetypeconfig":{
+        "prefix":"aws-emr-cluster.instancetypeconfig",
+        "body":[
+            "${1:myAWSEMRCluster.InstanceTypeConfig}:",
+            "  Type: AWS::EMR::Cluster.InstanceTypeConfig",
+            "  Properties:",
+            "    BidPrice : ${2:String(O)}",
+            "    BidPriceAsPercentageOfOnDemandPrice : ${2:Double(O)}",
+            "    Configurations : [ ${2:aws-emr-clusterinstancetypeconfig.Configuration(O)} ]",
+            "    EbsConfiguration : ${2:aws-emr-clusterinstancetypeconfig.EbsConfiguration(O)}",
+            "    InstanceType : ${2:String(R)}",
+            "    WeightedCapacity : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-secretsmanager-secret.generatesecretstring":{
+        "prefix":"aws-secretsmanager-secret.generatesecretstring",
+        "body":[
+            "${1:myAWSSecretsManagerSecret.GenerateSecretString}:",
+            "  Type: AWS::SecretsManager::Secret.GenerateSecretString",
+            "  Properties:",
+            "    ExcludeUppercase : ${2:Boolean(O)}",
+            "    RequireEachIncludedType : ${2:Boolean(O)}",
+            "    IncludeSpace : ${2:Boolean(O)}",
+            "    ExcludeCharacters : ${2:String(O)}",
+            "    GenerateStringKey : ${2:String(O)}",
+            "    PasswordLength : ${2:Integer(O)}",
+            "    ExcludePunctuation : ${2:Boolean(O)}",
+            "    ExcludeLowercase : ${2:Boolean(O)}",
+            "    SecretStringTemplate : ${2:String(O)}",
+            "    ExcludeNumbers : ${2:Boolean(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-sagemaker-model.containerdefinition":{
+        "prefix":"aws-sagemaker-model.containerdefinition",
+        "body":[
+            "${1:myAWSSageMakerModel.ContainerDefinition}:",
+            "  Type: AWS::SageMaker::Model.ContainerDefinition",
+            "  Properties:",
+            "    ContainerHostname : ${2:String(O)}",
+            "    Environment : ${2:Json(O)}",
+            "    ModelDataUrl : ${2:String(O)}",
+            "    Image : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.launchtemplate":{
+        "prefix":"aws-autoscaling-autoscalinggroup.launchtemplate",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.LaunchTemplate}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplate",
+            "  Properties:",
+            "    LaunchTemplateSpecification : ${2:aws-autoscaling-autoscalinggrouplaunchtemplate.LaunchTemplateSpecification(R)}",
+            "    Overrides : [ ${2:aws-autoscaling-autoscalinggrouplaunchtemplate.LaunchTemplateOverrides(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-healthcheck.healthchecktag":{
+        "prefix":"aws-route53-healthcheck.healthchecktag",
+        "body":[
+            "${1:myAWSRoute53HealthCheck.HealthCheckTag}:",
+            "  Type: AWS::Route53::HealthCheck.HealthCheckTag",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ssm-maintenancewindowtask.maintenancewindowstepfunctionsparameters":{
+        "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowstepfunctionsparameters",
+        "body":[
+            "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters}:",
+            "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters",
+            "  Properties:",
+            "    Input : ${2:String(O)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.environmentvariable":{
+        "prefix":"aws-codebuild-project.environmentvariable",
+        "body":[
+            "${1:myAWSCodeBuildProject.EnvironmentVariable}:",
+            "  Type: AWS::CodeBuild::Project.EnvironmentVariable",
+            "  Properties:",
+            "    Type : ${2:String(O)}",
+            "    Value : ${2:String(R)}",
+            "    Name : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot1click-project.placementtemplate":{
+        "prefix":"aws-iot1click-project.placementtemplate",
+        "body":[
+            "${1:myAWSIoT1ClickProject.PlacementTemplate}:",
+            "  Type: AWS::IoT1Click::Project.PlacementTemplate",
+            "  Properties:",
+            "    DeviceTemplates : ${2:Json(O)}",
+            "    DefaultAttributes : ${2:Json(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cognito-userpool.invitemessagetemplate":{
+        "prefix":"aws-cognito-userpool.invitemessagetemplate",
+        "body":[
+            "${1:myAWSCognitoUserPool.InviteMessageTemplate}:",
+            "  Type: AWS::Cognito::UserPool.InviteMessageTemplate",
+            "  Properties:",
+            "    EmailMessage : ${2:String(O)}",
+            "    SMSMessage : ${2:String(O)}",
+            "    EmailSubject : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.metricdimension":{
+        "prefix":"aws-emr-cluster.metricdimension",
+        "body":[
+            "${1:myAWSEMRCluster.MetricDimension}:",
+            "  Type: AWS::EMR::Cluster.MetricDimension",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticbeanstalk-application.maxcountrule":{
+        "prefix":"aws-elasticbeanstalk-application.maxcountrule",
+        "body":[
+            "${1:myAWSElasticBeanstalkApplication.MaxCountRule}:",
+            "  Type: AWS::ElasticBeanstalk::Application.MaxCountRule",
+            "  Properties:",
+            "    DeleteSourceFromS3 : ${2:Boolean(O)}",
+            "    Enabled : ${2:Boolean(O)}",
+            "    MaxCount : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-connectordefinition.connector":{
+        "prefix":"aws-greengrass-connectordefinition.connector",
+        "body":[
+            "${1:myAWSGreengrassConnectorDefinition.Connector}:",
+            "  Type: AWS::Greengrass::ConnectorDefinition.Connector",
+            "  Properties:",
+            "    ConnectorArn : ${2:String(R)}",
+            "    Parameters : ${2:Json(O)}",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscaling-autoscalinggroup.tagproperty":{
+        "prefix":"aws-autoscaling-autoscalinggroup.tagproperty",
+        "body":[
+            "${1:myAWSAutoScalingAutoScalingGroup.TagProperty}:",
+            "  Type: AWS::AutoScaling::AutoScalingGroup.TagProperty",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    PropagateAtLaunch : ${2:Boolean(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.referenceschema":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.referenceschema",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.ReferenceSchema}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema",
+            "  Properties:",
+            "    RecordEncoding : ${2:String(O)}",
+            "    RecordColumns : [ ${2:aws-kinesisanalytics-applicationreferencedatasourcereferenceschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${2:aws-kinesisanalytics-applicationreferencedatasourcereferenceschema.RecordFormat(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-s3-bucket.filterrule":{
+        "prefix":"aws-s3-bucket.filterrule",
+        "body":[
+            "${1:myAWSS3Bucket.FilterRule}:",
+            "  Type: AWS::S3::Bucket.FilterRule",
+            "  Properties:",
+            "    Name : ${2:String(R)}",
+            "    Value : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-pipeline.actiontypeid":{
+        "prefix":"aws-codepipeline-pipeline.actiontypeid",
+        "body":[
+            "${1:myAWSCodePipelinePipeline.ActionTypeId}:",
+            "  Type: AWS::CodePipeline::Pipeline.ActionTypeId",
+            "  Properties:",
+            "    Category : ${2:String(R)}",
+            "    Owner : ${2:String(R)}",
+            "    Provider : ${2:String(R)}",
+            "    Version : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-route53-hostedzone.vpc":{
+        "prefix":"aws-route53-hostedzone.vpc",
+        "body":[
+            "${1:myAWSRoute53HostedZone.VPC}:",
+            "  Type: AWS::Route53::HostedZone.VPC",
+            "  Properties:",
+            "    VPCId : ${2:String(R)}",
+            "    VPCRegion : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-functiondefinitionversion.resourceaccesspolicy":{
+        "prefix":"aws-greengrass-functiondefinitionversion.resourceaccesspolicy",
+        "body":[
+            "${1:myAWSGreengrassFunctionDefinitionVersion.ResourceAccessPolicy}:",
+            "  Type: AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy",
+            "  Properties:",
+            "    ResourceId : ${2:String(R)}",
+            "    Permission : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "tag":{
+        "prefix":"tag",
+        "body":[
+            "${1:myTag}:",
+            "  Type: Tag",
+            "  Properties:",
+            "    Value : ${2:String(R)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-resourcedefinitionversion.secretsmanagersecretresourcedata":{
+        "prefix":"aws-greengrass-resourcedefinitionversion.secretsmanagersecretresourcedata",
+        "body":[
+            "${1:myAWSGreengrassResourceDefinitionVersion.SecretsManagerSecretResourceData}:",
+            "  Type: AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData",
+            "  Properties:",
+            "    ARN : ${2:String(R)}",
+            "    AdditionalStagingLabelsToDownload : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-thing.attributepayload":{
+        "prefix":"aws-iot-thing.attributepayload",
+        "body":[
+            "${1:myAWSIoTThing.AttributePayload}:",
+            "  Type: AWS::IoT::Thing.AttributePayload",
+            "  Properties:",
+            "    Attributes : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.timeperiod":{
+        "prefix":"aws-budgets-budget.timeperiod",
+        "body":[
+            "${1:myAWSBudgetsBudget.TimePeriod}:",
+            "  Type: AWS::Budgets::Budget.TimePeriod",
+            "  Properties:",
+            "    Start : ${2:String(O)}",
+            "    End : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-events-rule.ecsparameters":{
+        "prefix":"aws-events-rule.ecsparameters",
+        "body":[
+            "${1:myAWSEventsRule.EcsParameters}:",
+            "  Type: AWS::Events::Rule.EcsParameters",
+            "  Properties:",
+            "    TaskCount : ${2:Integer(O)}",
+            "    TaskDefinitionArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigateway-usageplan.quotasettings":{
+        "prefix":"aws-apigateway-usageplan.quotasettings",
+        "body":[
+            "${1:myAWSApiGatewayUsagePlan.QuotaSettings}:",
+            "  Type: AWS::ApiGateway::UsagePlan.QuotaSettings",
+            "  Properties:",
+            "    Limit : ${2:Integer(O)}",
+            "    Offset : ${2:Integer(O)}",
+            "    Period : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-loggerdefinition.loggerdefinitionversion":{
+        "prefix":"aws-greengrass-loggerdefinition.loggerdefinitionversion",
+        "body":[
+            "${1:myAWSGreengrassLoggerDefinition.LoggerDefinitionVersion}:",
+            "  Type: AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion",
+            "  Properties:",
+            "    Loggers : [ ${2:aws-greengrass-loggerdefinitionloggerdefinitionversion.Logger(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.blockdevicemapping":{
+        "prefix":"aws-ec2-instance.blockdevicemapping",
+        "body":[
+            "${1:myAWSEC2Instance.BlockDeviceMapping}:",
+            "  Type: AWS::EC2::Instance.BlockDeviceMapping",
+            "  Properties:",
+            "    DeviceName : ${2:String(R)}",
+            "    Ebs : ${2:aws-ec2-instanceblockdevicemapping.Ebs(O)}",
+            "    NoDevice : ${2:aws-ec2-instanceblockdevicemapping.NoDevice(O)}",
+            "    VirtualName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-datapipeline-pipeline.field":{
+        "prefix":"aws-datapipeline-pipeline.field",
+        "body":[
+            "${1:myAWSDataPipelinePipeline.Field}:",
+            "  Type: AWS::DataPipeline::Pipeline.Field",
+            "  Properties:",
+            "    Key : ${2:String(R)}",
+            "    RefValue : ${2:String(O)}",
+            "    StringValue : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.httproute":{
+        "prefix":"aws-appmesh-route.httproute",
+        "body":[
+            "${1:myAWSAppMeshRoute.HttpRoute}:",
+            "  Type: AWS::AppMesh::Route.HttpRoute",
+            "  Properties:",
+            "    Action : ${2:aws-appmesh-routehttproute.HttpRouteAction(R)}",
+            "    Match : ${2:aws-appmesh-routehttproute.HttpRouteMatch(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationreferencedatasource.referencedatasource":{
+        "prefix":"aws-kinesisanalytics-applicationreferencedatasource.referencedatasource",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.ReferenceDataSource}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource",
+            "  Properties:",
+            "    ReferenceSchema : ${2:aws-kinesisanalytics-applicationreferencedatasourcereferencedatasource.ReferenceSchema(R)}",
+            "    TableName : ${2:String(O)}",
+            "    S3ReferenceDataSource : ${2:aws-kinesisanalytics-applicationreferencedatasourcereferencedatasource.S3ReferenceDataSource(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-eks-cluster.resourcesvpcconfig":{
+        "prefix":"aws-eks-cluster.resourcesvpcconfig",
+        "body":[
+            "${1:myAWSEKSCluster.ResourcesVpcConfig}:",
+            "  Type: AWS::EKS::Cluster.ResourcesVpcConfig",
+            "  Properties:",
+            "    SecurityGroupIds : [ ${2:String(O)} ]",
+            "    SubnetIds : [ ${2:String(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-application.environmentproperties":{
+        "prefix":"aws-kinesisanalyticsv2-application.environmentproperties",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2Application.EnvironmentProperties}:",
+            "  Type: AWS::KinesisAnalyticsV2::Application.EnvironmentProperties",
+            "  Properties:",
+            "    PropertyGroups : [ ${2:aws-kinesisanalyticsv2-applicationenvironmentproperties.PropertyGroup(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iot-topicrule.cloudwatchmetricaction":{
+        "prefix":"aws-iot-topicrule.cloudwatchmetricaction",
+        "body":[
+            "${1:myAWSIoTTopicRule.CloudwatchMetricAction}:",
+            "  Type: AWS::IoT::TopicRule.CloudwatchMetricAction",
+            "  Properties:",
+            "    MetricName : ${2:String(R)}",
+            "    MetricNamespace : ${2:String(R)}",
+            "    MetricTimestamp : ${2:String(O)}",
+            "    MetricUnit : ${2:String(R)}",
+            "    MetricValue : ${2:String(R)}",
+            "    RoleArn : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.referenceschema":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.referenceschema",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.ReferenceSchema}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema",
+            "  Properties:",
+            "    RecordEncoding : ${2:String(O)}",
+            "    RecordColumns : [ ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferenceschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferenceschema.RecordFormat(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-subscriptiondefinitionversion.subscription":{
+        "prefix":"aws-greengrass-subscriptiondefinitionversion.subscription",
+        "body":[
+            "${1:myAWSGreengrassSubscriptionDefinitionVersion.Subscription}:",
+            "  Type: AWS::Greengrass::SubscriptionDefinitionVersion.Subscription",
+            "  Properties:",
+            "    Target : ${2:String(R)}",
+            "    Id : ${2:String(R)}",
+            "    Source : ${2:String(R)}",
+            "    Subject : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-spotfleet.blockdevicemapping":{
+        "prefix":"aws-ec2-spotfleet.blockdevicemapping",
+        "body":[
+            "${1:myAWSEC2SpotFleet.BlockDeviceMapping}:",
+            "  Type: AWS::EC2::SpotFleet.BlockDeviceMapping",
+            "  Properties:",
+            "    DeviceName : ${2:String(R)}",
+            "    Ebs : ${2:aws-ec2-spotfleetblockdevicemapping.EbsBlockDevice(O)}",
+            "    NoDevice : ${2:String(O)}",
+            "    VirtualName : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-application.inputlambdaprocessor":{
+        "prefix":"aws-kinesisanalytics-application.inputlambdaprocessor",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplication.InputLambdaProcessor}:",
+            "  Type: AWS::KinesisAnalytics::Application.InputLambdaProcessor",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-wafregional-sqlinjectionmatchset.fieldtomatch":{
+        "prefix":"aws-wafregional-sqlinjectionmatchset.fieldtomatch",
+        "body":[
+            "${1:myAWSWAFRegionalSqlInjectionMatchSet.FieldToMatch}:",
+            "  Type: AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    Data : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptrule.addheaderaction":{
+        "prefix":"aws-ses-receiptrule.addheaderaction",
+        "body":[
+            "${1:myAWSSESReceiptRule.AddHeaderAction}:",
+            "  Type: AWS::SES::ReceiptRule.AddHeaderAction",
+            "  Properties:",
+            "    HeaderValue : ${2:String(R)}",
+            "    HeaderName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalytics-applicationoutput.lambdaoutput":{
+        "prefix":"aws-kinesisanalytics-applicationoutput.lambdaoutput",
+        "body":[
+            "${1:myAWSKinesisAnalyticsApplicationOutput.LambdaOutput}:",
+            "  Type: AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput",
+            "  Properties:",
+            "    ResourceARN : ${2:String(R)}",
+            "    RoleARN : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.tagref":{
+        "prefix":"aws-appmesh-route.tagref",
+        "body":[
+            "${1:myAWSAppMeshRoute.TagRef}:",
+            "  Type: AWS::AppMesh::Route.TagRef",
+            "  Properties:",
+            "    Value : ${2:String(O)}",
+            "    Key : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.autorollbackconfiguration":{
+        "prefix":"aws-codedeploy-deploymentgroup.autorollbackconfiguration",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.AutoRollbackConfiguration}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}",
+            "    Events : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloudwatch-alarm.metric":{
+        "prefix":"aws-cloudwatch-alarm.metric",
+        "body":[
+            "${1:myAWSCloudWatchAlarm.Metric}:",
+            "  Type: AWS::CloudWatch::Alarm.Metric",
+            "  Properties:",
+            "    Dimensions : [ ${2:aws-cloudwatch-alarmmetric.Dimension(O)} ]",
+            "    MetricName : ${2:String(O)}",
+            "    Namespace : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-autoscalingplans-scalingplan.predefinedloadmetricspecification":{
+        "prefix":"aws-autoscalingplans-scalingplan.predefinedloadmetricspecification",
+        "body":[
+            "${1:myAWSAutoScalingPlansScalingPlan.PredefinedLoadMetricSpecification}:",
+            "  Type: AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification",
+            "  Properties:",
+            "    PredefinedLoadMetricType : ${2:String(R)}",
+            "    ResourceLabel : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.instancefleetprovisioningspecifications":{
+        "prefix":"aws-emr-instancefleetconfig.instancefleetprovisioningspecifications",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.InstanceFleetProvisioningSpecifications}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications",
+            "  Properties:",
+            "    SpotSpecification : ${2:aws-emr-instancefleetconfiginstancefleetprovisioningspecifications.SpotProvisioningSpecification(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.policies":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.policies",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.Policies}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.Policies",
+            "  Properties:",
+            "    Attributes : [ ${2:Json(R)} ]",
+            "    InstancePorts : [ ${2:String(O)} ]",
+            "    LoadBalancerPorts : [ ${2:String(O)} ]",
+            "    PolicyName : ${2:String(R)}",
+            "    PolicyType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-apigatewayv2-stage.routesettings":{
+        "prefix":"aws-apigatewayv2-stage.routesettings",
+        "body":[
+            "${1:myAWSApiGatewayV2Stage.RouteSettings}:",
+            "  Type: AWS::ApiGatewayV2::Stage.RouteSettings",
+            "  Properties:",
+            "    LoggingLevel : ${2:String(O)}",
+            "    DataTraceEnabled : ${2:Boolean(O)}",
+            "    ThrottlingBurstLimit : ${2:Integer(O)}",
+            "    DetailedMetricsEnabled : ${2:Boolean(O)}",
+            "    ThrottlingRateLimit : ${2:Double(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-stack.elasticip":{
+        "prefix":"aws-opsworks-stack.elasticip",
+        "body":[
+            "${1:myAWSOpsWorksStack.ElasticIp}:",
+            "  Type: AWS::OpsWorks::Stack.ElasticIp",
+            "  Properties:",
+            "    Ip : ${2:String(R)}",
+            "    Name : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.autoscalingpolicy":{
+        "prefix":"aws-emr-cluster.autoscalingpolicy",
+        "body":[
+            "${1:myAWSEMRCluster.AutoScalingPolicy}:",
+            "  Type: AWS::EMR::Cluster.AutoScalingPolicy",
+            "  Properties:",
+            "    Constraints : ${2:aws-emr-clusterautoscalingpolicy.ScalingConstraints(R)}",
+            "    Rules : [ ${2:aws-emr-clusterautoscalingpolicy.ScalingRule(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dynamodb-table.streamspecification":{
+        "prefix":"aws-dynamodb-table.streamspecification",
+        "body":[
+            "${1:myAWSDynamoDBTable.StreamSpecification}:",
+            "  Type: AWS::DynamoDB::Table.StreamSpecification",
+            "  Properties:",
+            "    StreamViewType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.extendeds3destinationconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.extendeds3destinationconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.ExtendedS3DestinationConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration",
+            "  Properties:",
+            "    BucketARN : ${2:String(R)}",
+            "    BufferingHints : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.BufferingHints(R)}",
+            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    CompressionFormat : ${2:String(R)}",
+            "    EncryptionConfiguration : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.EncryptionConfiguration(O)}",
+            "    Prefix : ${2:String(R)}",
+            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.ProcessingConfiguration(O)}",
+            "    RoleARN : ${2:String(R)}",
+            "    S3BackupConfiguration : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.S3DestinationConfiguration(O)}",
+            "    S3BackupMode : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codebuild-project.source":{
+        "prefix":"aws-codebuild-project.source",
+        "body":[
+            "${1:myAWSCodeBuildProject.Source}:",
+            "  Type: AWS::CodeBuild::Project.Source",
+            "  Properties:",
+            "    Type : ${2:String(R)}",
+            "    ReportBuildStatus : ${2:Boolean(O)}",
+            "    Auth : ${2:aws-codebuild-projectsource.SourceAuth(O)}",
+            "    SourceIdentifier : ${2:String(O)}",
+            "    BuildSpec : ${2:String(O)}",
+            "    GitCloneDepth : ${2:Integer(O)}",
+            "    GitSubmodulesConfig : ${2:aws-codebuild-projectsource.GitSubmodulesConfig(O)}",
+            "    InsecureSsl : ${2:Boolean(O)}",
+            "    Location : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-instance.privateipaddressspecification":{
+        "prefix":"aws-ec2-instance.privateipaddressspecification",
+        "body":[
+            "${1:myAWSEC2Instance.PrivateIpAddressSpecification}:",
+            "  Type: AWS::EC2::Instance.PrivateIpAddressSpecification",
+            "  Properties:",
+            "    Primary : ${2:Boolean(R)}",
+            "    PrivateIpAddress : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appsync-datasource.elasticsearchconfig":{
+        "prefix":"aws-appsync-datasource.elasticsearchconfig",
+        "body":[
+            "${1:myAWSAppSyncDataSource.ElasticsearchConfig}:",
+            "  Type: AWS::AppSync::DataSource.ElasticsearchConfig",
+            "  Properties:",
+            "    AwsRegion : ${2:String(R)}",
+            "    Endpoint : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.tagspecification":{
+        "prefix":"aws-ec2-ec2fleet.tagspecification",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.TagSpecification}:",
+            "  Type: AWS::EC2::EC2Fleet.TagSpecification",
+            "  Properties:",
+            "    ResourceType : ${2:String(O)}",
+            "    Tags : [ ${2:aws-ec2-ec2fleettagspecification.TagRequest(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-iam-user.policy":{
+        "prefix":"aws-iam-user.policy",
+        "body":[
+            "${1:myAWSIAMUser.Policy}:",
+            "  Type: AWS::IAM::User.Policy",
+            "  Properties:",
+            "    PolicyDocument : ${2:Json(R)}",
+            "    PolicyName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.hostvolumeproperties":{
+        "prefix":"aws-ecs-taskdefinition.hostvolumeproperties",
+        "body":[
+            "${1:myAWSECSTaskDefinition.HostVolumeProperties}:",
+            "  Type: AWS::ECS::TaskDefinition.HostVolumeProperties",
+            "  Properties:",
+            "    SourcePath : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisfirehose-deliverystream.redshiftdestinationconfiguration":{
+        "prefix":"aws-kinesisfirehose-deliverystream.redshiftdestinationconfiguration",
+        "body":[
+            "${1:myAWSKinesisFirehoseDeliveryStream.RedshiftDestinationConfiguration}:",
+            "  Type: AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration",
+            "  Properties:",
+            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    ClusterJDBCURL : ${2:String(R)}",
+            "    CopyCommand : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.CopyCommand(R)}",
+            "    Password : ${2:String(R)}",
+            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.ProcessingConfiguration(O)}",
+            "    RoleARN : ${2:String(R)}",
+            "    S3Configuration : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.S3DestinationConfiguration(R)}",
+            "    Username : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain.ebsoptions":{
+        "prefix":"aws-elasticsearch-domain.ebsoptions",
+        "body":[
+            "${1:myAWSElasticsearchDomain.EBSOptions}:",
+            "  Type: AWS::Elasticsearch::Domain.EBSOptions",
+            "  Properties:",
+            "    EBSEnabled : ${2:Boolean(O)}",
+            "    Iops : ${2:Integer(O)}",
+            "    VolumeSize : ${2:Integer(O)}",
+            "    VolumeType : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-instancefleetconfig.ebsblockdeviceconfig":{
+        "prefix":"aws-emr-instancefleetconfig.ebsblockdeviceconfig",
+        "body":[
+            "${1:myAWSEMRInstanceFleetConfig.EbsBlockDeviceConfig}:",
+            "  Type: AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig",
+            "  Properties:",
+            "    VolumeSpecification : ${2:aws-emr-instancefleetconfigebsblockdeviceconfig.VolumeSpecification(R)}",
+            "    VolumesPerInstance : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-launchtemplate.launchtemplateelasticinferenceaccelerator":{
+        "prefix":"aws-ec2-launchtemplate.launchtemplateelasticinferenceaccelerator",
+        "body":[
+            "${1:myAWSEC2LaunchTemplate.LaunchTemplateElasticInferenceAccelerator}:",
+            "  Type: AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator",
+            "  Properties:",
+            "    Type : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-instance.timebasedautoscaling":{
+        "prefix":"aws-opsworks-instance.timebasedautoscaling",
+        "body":[
+            "${1:myAWSOpsWorksInstance.TimeBasedAutoScaling}:",
+            "  Type: AWS::OpsWorks::Instance.TimeBasedAutoScaling",
+            "  Properties:",
+            "    Friday : [ ${2:String(O)} ]",
+            "    Monday : [ ${2:String(O)} ]",
+            "    Saturday : [ ${2:String(O)} ]",
+            "    Sunday : [ ${2:String(O)} ]",
+            "    Thursday : [ ${2:String(O)} ]",
+            "    Tuesday : [ ${2:String(O)} ]",
+            "    Wednesday : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-config-configrule.sourcedetail":{
+        "prefix":"aws-config-configrule.sourcedetail",
+        "body":[
+            "${1:myAWSConfigConfigRule.SourceDetail}:",
+            "  Type: AWS::Config::ConfigRule.SourceDetail",
+            "  Properties:",
+            "    EventSource : ${2:String(R)}",
+            "    MaximumExecutionFrequency : ${2:String(O)}",
+            "    MessageType : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ec2-ec2fleet.spotoptionsrequest":{
+        "prefix":"aws-ec2-ec2fleet.spotoptionsrequest",
+        "body":[
+            "${1:myAWSEC2EC2Fleet.SpotOptionsRequest}:",
+            "  Type: AWS::EC2::EC2Fleet.SpotOptionsRequest",
+            "  Properties:",
+            "    AllocationStrategy : ${2:String(O)}",
+            "    InstanceInterruptionBehavior : ${2:String(O)}",
+            "    InstancePoolsToUseCount : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-dms-endpoint.elasticsearchsettings":{
+        "prefix":"aws-dms-endpoint.elasticsearchsettings",
+        "body":[
+            "${1:myAWSDMSEndpoint.ElasticsearchSettings}:",
+            "  Type: AWS::DMS::Endpoint.ElasticsearchSettings",
+            "  Properties:",
+            "    EndpointUri : ${2:String(O)}",
+            "    FullLoadErrorPercentage : ${2:Integer(O)}",
+            "    ErrorRetryDuration : ${2:Integer(O)}",
+            "    ServiceAccessRoleArn : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticloadbalancing-loadbalancer.appcookiestickinesspolicy":{
+        "prefix":"aws-elasticloadbalancing-loadbalancer.appcookiestickinesspolicy",
+        "body":[
+            "${1:myAWSElasticLoadBalancingLoadBalancer.AppCookieStickinessPolicy}:",
+            "  Type: AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy",
+            "  Properties:",
+            "    CookieName : ${2:String(R)}",
+            "    PolicyName : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ses-receiptfilter.ipfilter":{
+        "prefix":"aws-ses-receiptfilter.ipfilter",
+        "body":[
+            "${1:myAWSSESReceiptFilter.IpFilter}:",
+            "  Type: AWS::SES::ReceiptFilter.IpFilter",
+            "  Properties:",
+            "    Policy : ${2:String(R)}",
+            "    Cidr : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-cloud9-environmentec2.repository":{
+        "prefix":"aws-cloud9-environmentec2.repository",
+        "body":[
+            "${1:myAWSCloud9EnvironmentEC2.Repository}:",
+            "  Type: AWS::Cloud9::EnvironmentEC2.Repository",
+            "  Properties:",
+            "    PathComponent : ${2:String(R)}",
+            "    RepositoryUrl : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.hadoopjarstepconfig":{
+        "prefix":"aws-emr-cluster.hadoopjarstepconfig",
+        "body":[
+            "${1:myAWSEMRCluster.HadoopJarStepConfig}:",
+            "  Type: AWS::EMR::Cluster.HadoopJarStepConfig",
+            "  Properties:",
+            "    Args : [ ${2:String(O)} ]",
+            "    Jar : ${2:String(R)}",
+            "    MainClass : ${2:String(O)}",
+            "    StepProperties : [ ${2:aws-emr-clusterhadoopjarstepconfig.KeyValue(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-rds-optiongroup.optionconfiguration":{
+        "prefix":"aws-rds-optiongroup.optionconfiguration",
+        "body":[
+            "${1:myAWSRDSOptionGroup.OptionConfiguration}:",
+            "  Type: AWS::RDS::OptionGroup.OptionConfiguration",
+            "  Properties:",
+            "    DBSecurityGroupMemberships : [ ${2:String(O)} ]",
+            "    OptionName : ${2:String(R)}",
+            "    OptionSettings : [ ${2:aws-rds-optiongroupoptionconfiguration.OptionSetting(O)} ]",
+            "    OptionVersion : ${2:String(O)}",
+            "    Port : ${2:Integer(O)}",
+            "    VpcSecurityGroupMemberships : [ ${2:String(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-greengrass-connectordefinitionversion.connector":{
+        "prefix":"aws-greengrass-connectordefinitionversion.connector",
+        "body":[
+            "${1:myAWSGreengrassConnectorDefinitionVersion.Connector}:",
+            "  Type: AWS::Greengrass::ConnectorDefinitionVersion.Connector",
+            "  Properties:",
+            "    ConnectorArn : ${2:String(R)}",
+            "    Parameters : ${2:Json(O)}",
+            "    Id : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-lambda-alias.versionweight":{
+        "prefix":"aws-lambda-alias.versionweight",
+        "body":[
+            "${1:myAWSLambdaAlias.VersionWeight}:",
+            "  Type: AWS::Lambda::Alias.VersionWeight",
+            "  Properties:",
+            "    FunctionVersion : ${2:String(R)}",
+            "    FunctionWeight : ${2:Double(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-opsworks-app.source":{
+        "prefix":"aws-opsworks-app.source",
+        "body":[
+            "${1:myAWSOpsWorksApp.Source}:",
+            "  Type: AWS::OpsWorks::App.Source",
+            "  Properties:",
+            "    Password : ${2:String(O)}",
+            "    Revision : ${2:String(O)}",
+            "    SshKey : ${2:String(O)}",
+            "    Type : ${2:String(O)}",
+            "    Url : ${2:String(O)}",
+            "    Username : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-elasticsearch-domain.encryptionatrestoptions":{
+        "prefix":"aws-elasticsearch-domain.encryptionatrestoptions",
+        "body":[
+            "${1:myAWSElasticsearchDomain.EncryptionAtRestOptions}:",
+            "  Type: AWS::Elasticsearch::Domain.EncryptionAtRestOptions",
+            "  Properties:",
+            "    Enabled : ${2:Boolean(O)}",
+            "    KmsKeyId : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-kinesisanalyticsv2-applicationreferencedatasource.csvmappingparameters":{
+        "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.csvmappingparameters",
+        "body":[
+            "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.CSVMappingParameters}:",
+            "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters",
+            "  Properties:",
+            "    RecordRowDelimiter : ${2:String(R)}",
+            "    RecordColumnDelimiter : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-appmesh-route.tcprouteaction":{
+        "prefix":"aws-appmesh-route.tcprouteaction",
+        "body":[
+            "${1:myAWSAppMeshRoute.TcpRouteAction}:",
+            "  Type: AWS::AppMesh::Route.TcpRouteAction",
+            "  Properties:",
+            "    WeightedTargets : [ ${2:aws-appmesh-routetcprouteaction.WeightedTarget(R)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codepipeline-webhook.webhookauthconfiguration":{
+        "prefix":"aws-codepipeline-webhook.webhookauthconfiguration",
+        "body":[
+            "${1:myAWSCodePipelineWebhook.WebhookAuthConfiguration}:",
+            "  Type: AWS::CodePipeline::Webhook.WebhookAuthConfiguration",
+            "  Properties:",
+            "    AllowedIPRange : ${2:String(O)}",
+            "    SecretToken : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-budgets-budget.spend":{
+        "prefix":"aws-budgets-budget.spend",
+        "body":[
+            "${1:myAWSBudgetsBudget.Spend}:",
+            "  Type: AWS::Budgets::Budget.Spend",
+            "  Properties:",
+            "    Amount : ${2:Double(R)}",
+            "    Unit : ${2:String(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-emr-cluster.scalingtrigger":{
+        "prefix":"aws-emr-cluster.scalingtrigger",
+        "body":[
+            "${1:myAWSEMRCluster.ScalingTrigger}:",
+            "  Type: AWS::EMR::Cluster.ScalingTrigger",
+            "  Properties:",
+            "    CloudWatchAlarmDefinition : ${2:aws-emr-clusterscalingtrigger.CloudWatchAlarmDefinition(R)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-applicationautoscaling-scalabletarget.scalabletargetaction":{
+        "prefix":"aws-applicationautoscaling-scalabletarget.scalabletargetaction",
+        "body":[
+            "${1:myAWSApplicationAutoScalingScalableTarget.ScalableTargetAction}:",
+            "  Type: AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction",
+            "  Properties:",
+            "    MaxCapacity : ${2:Integer(O)}",
+            "    MinCapacity : ${2:Integer(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-codedeploy-deploymentgroup.ec2tagsetlistobject":{
+        "prefix":"aws-codedeploy-deploymentgroup.ec2tagsetlistobject",
+        "body":[
+            "${1:myAWSCodeDeployDeploymentGroup.EC2TagSetListObject}:",
+            "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject",
+            "  Properties:",
+            "    Ec2TagGroup : [ ${2:aws-codedeploy-deploymentgroupec2tagsetlistobject.EC2TagFilter(O)} ]"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    },
+    "aws-ecs-taskdefinition.repositorycredentials":{
+        "prefix":"aws-ecs-taskdefinition.repositorycredentials",
+        "body":[
+            "${1:myAWSECSTaskDefinition.RepositoryCredentials}:",
+            "  Type: AWS::ECS::TaskDefinition.RepositoryCredentials",
+            "  Properties:",
+            "    CredentialsParameter : ${2:String(O)}"
+        ],
+        "scope":"source.cloudformation",
+        "description":""
+    }
 }
\ No newline at end of file

From a203bfea3f5b8167621162bd92ef562590554d42 Mon Sep 17 00:00:00 2001
From: lunarxlark <lunarxlark@gmail.com>
Date: Sat, 30 Mar 2019 17:34:31 +0900
Subject: [PATCH 2/3] fix order number in placeholders of Properties

---
 snippets/yaml-snippets.json | 3622 +++++++++++++++++------------------
 1 file changed, 1811 insertions(+), 1811 deletions(-)

diff --git a/snippets/yaml-snippets.json b/snippets/yaml-snippets.json
index 2911d46..06eff95 100644
--- a/snippets/yaml-snippets.json
+++ b/snippets/yaml-snippets.json
@@ -6062,7 +6062,7 @@
             "  Type: AWS::FSx::FileSystem.TagEntry",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6074,7 +6074,7 @@
             "  Type: AWS::AppMesh::VirtualRouter.PortMapping",
             "  Properties:",
             "    Port : ${2:Integer(R)}",
-            "    Protocol : ${2:String(R)}"
+            "    Protocol : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6086,10 +6086,10 @@
             "  Type: AWS::WAFRegional::ByteMatchSet.ByteMatchTuple",
             "  Properties:",
             "    TargetString : ${2:String(O)}",
-            "    TargetStringBase64 : ${2:String(O)}",
-            "    PositionalConstraint : ${2:String(R)}",
-            "    TextTransformation : ${2:String(R)}",
-            "    FieldToMatch : ${2:aws-wafregional-bytematchsetbytematchtuple.FieldToMatch(R)}"
+            "    TargetStringBase64 : ${3:String(O)}",
+            "    PositionalConstraint : ${4:String(R)}",
+            "    TextTransformation : ${5:String(R)}",
+            "    FieldToMatch : ${6:aws-wafregional-bytematchsetbytematchtuple.FieldToMatch(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6101,9 +6101,9 @@
             "  Type: AWS::Greengrass::CoreDefinition.Core",
             "  Properties:",
             "    SyncShadow : ${2:Boolean(O)}",
-            "    ThingArn : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    CertificateArn : ${2:String(R)}"
+            "    ThingArn : ${3:String(R)}",
+            "    Id : ${4:String(R)}",
+            "    CertificateArn : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6126,10 +6126,10 @@
             "  Type: Alexa::ASK::Skill.SkillPackage",
             "  Properties:",
             "    S3BucketRole : ${2:String(O)}",
-            "    S3ObjectVersion : ${2:String(O)}",
-            "    S3Bucket : ${2:String(R)}",
-            "    S3Key : ${2:String(R)}",
-            "    Overrides : ${2:alexa-ask-skillskillpackage.Overrides(O)}"
+            "    S3ObjectVersion : ${3:String(O)}",
+            "    S3Bucket : ${4:String(R)}",
+            "    S3Key : ${5:String(R)}",
+            "    Overrides : ${6:alexa-ask-skillskillpackage.Overrides(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6163,12 +6163,12 @@
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration",
             "  Properties:",
             "    MemorySize : ${2:Integer(R)}",
-            "    Pinned : ${2:Boolean(O)}",
-            "    ExecArgs : ${2:String(O)}",
-            "    Timeout : ${2:Integer(R)}",
-            "    EncodingType : ${2:String(O)}",
-            "    Environment : ${2:aws-greengrass-functiondefinitionversionfunctionconfiguration.Environment(O)}",
-            "    Executable : ${2:String(O)}"
+            "    Pinned : ${3:Boolean(O)}",
+            "    ExecArgs : ${4:String(O)}",
+            "    Timeout : ${5:Integer(R)}",
+            "    EncodingType : ${6:String(O)}",
+            "    Environment : ${7:aws-greengrass-functiondefinitionversionfunctionconfiguration.Environment(O)}",
+            "    Executable : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6180,9 +6180,9 @@
             "  Type: AWS::ElasticBeanstalk::Environment.OptionSetting",
             "  Properties:",
             "    Namespace : ${2:String(R)}",
-            "    OptionName : ${2:String(R)}",
-            "    ResourceName : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    OptionName : ${3:String(R)}",
+            "    ResourceName : ${4:String(O)}",
+            "    Value : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6205,7 +6205,7 @@
             "  Type: AWS::CertificateManager::Certificate.DomainValidationOption",
             "  Properties:",
             "    DomainName : ${2:String(R)}",
-            "    ValidationDomain : ${2:String(R)}"
+            "    ValidationDomain : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6217,8 +6217,8 @@
             "  Type: AWS::DMS::Endpoint.KinesisSettings",
             "  Properties:",
             "    MessageFormat : ${2:String(O)}",
-            "    StreamArn : ${2:String(O)}",
-            "    ServiceAccessRoleArn : ${2:String(O)}"
+            "    StreamArn : ${3:String(O)}",
+            "    ServiceAccessRoleArn : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6241,8 +6241,8 @@
             "  Type: AWS::CloudTrail::Trail.EventSelector",
             "  Properties:",
             "    DataResources : [ ${2:aws-cloudtrail-traileventselector.DataResource(O)} ]",
-            "    IncludeManagementEvents : ${2:Boolean(O)}",
-            "    ReadWriteType : ${2:String(O)}"
+            "    IncludeManagementEvents : ${3:Boolean(O)}",
+            "    ReadWriteType : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6254,10 +6254,10 @@
             "  Type: AWS::SES::ReceiptRule.BounceAction",
             "  Properties:",
             "    Sender : ${2:String(R)}",
-            "    SmtpReplyCode : ${2:String(R)}",
-            "    Message : ${2:String(R)}",
-            "    TopicArn : ${2:String(O)}",
-            "    StatusCode : ${2:String(O)}"
+            "    SmtpReplyCode : ${3:String(R)}",
+            "    Message : ${4:String(R)}",
+            "    TopicArn : ${5:String(O)}",
+            "    StatusCode : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6269,7 +6269,7 @@
             "  Type: AWS::S3::Bucket.RoutingRuleCondition",
             "  Properties:",
             "    HttpErrorCodeReturnedEquals : ${2:String(O)}",
-            "    KeyPrefixEquals : ${2:String(O)}"
+            "    KeyPrefixEquals : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6303,9 +6303,9 @@
             "  Type: AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping",
             "  Properties:",
             "    DeviceName : ${2:String(R)}",
-            "    Ebs : ${2:aws-autoscaling-launchconfigurationblockdevicemapping.BlockDevice(O)}",
-            "    NoDevice : ${2:Boolean(O)}",
-            "    VirtualName : ${2:String(O)}"
+            "    Ebs : ${3:aws-autoscaling-launchconfigurationblockdevicemapping.BlockDevice(O)}",
+            "    NoDevice : ${4:Boolean(O)}",
+            "    VirtualName : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6317,12 +6317,12 @@
             "  Type: AWS::DMS::Endpoint.S3Settings",
             "  Properties:",
             "    ExternalTableDefinition : ${2:String(O)}",
-            "    BucketName : ${2:String(O)}",
-            "    BucketFolder : ${2:String(O)}",
-            "    CsvRowDelimiter : ${2:String(O)}",
-            "    CsvDelimiter : ${2:String(O)}",
-            "    ServiceAccessRoleArn : ${2:String(O)}",
-            "    CompressionType : ${2:String(O)}"
+            "    BucketName : ${3:String(O)}",
+            "    BucketFolder : ${4:String(O)}",
+            "    CsvRowDelimiter : ${5:String(O)}",
+            "    CsvDelimiter : ${6:String(O)}",
+            "    ServiceAccessRoleArn : ${7:String(O)}",
+            "    CompressionType : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6334,8 +6334,8 @@
             "  Type: AWS::Glue::Partition.SerdeInfo",
             "  Properties:",
             "    Parameters : ${2:Json(O)}",
-            "    SerializationLibrary : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    SerializationLibrary : ${3:String(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6358,7 +6358,7 @@
             "  Type: AWS::CloudFront::Distribution.Cookies",
             "  Properties:",
             "    WhitelistedNames : [ ${2:String(O)} ]",
-            "    Forward : ${2:String(R)}"
+            "    Forward : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6370,8 +6370,8 @@
             "  Type: AWS::ApiGateway::Deployment.DeploymentCanarySettings",
             "  Properties:",
             "    PercentTraffic : ${2:Double(O)}",
-            "    StageVariableOverrides : [ ${2:String(O)} ]",
-            "    UseStageCache : ${2:Boolean(O)}"
+            "    StageVariableOverrides : [ ${3:String(O)} ]",
+            "    UseStageCache : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6383,9 +6383,9 @@
             "  Type: AWS::EMR::Step.HadoopJarStepConfig",
             "  Properties:",
             "    Args : [ ${2:String(O)} ]",
-            "    Jar : ${2:String(R)}",
-            "    MainClass : ${2:String(O)}",
-            "    StepProperties : [ ${2:aws-emr-stephadoopjarstepconfig.KeyValue(O)} ]"
+            "    Jar : ${3:String(R)}",
+            "    MainClass : ${4:String(O)}",
+            "    StepProperties : [ ${5:aws-emr-stephadoopjarstepconfig.KeyValue(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6397,7 +6397,7 @@
             "  Type: AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig",
             "  Properties:",
             "    VolumeSpecification : ${2:aws-emr-instancegroupconfigebsblockdeviceconfig.VolumeSpecification(R)}",
-            "    VolumesPerInstance : ${2:Integer(O)}"
+            "    VolumesPerInstance : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6409,10 +6409,10 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.S3Location",
             "  Properties:",
             "    Bucket : ${2:String(R)}",
-            "    BundleType : ${2:String(O)}",
-            "    ETag : ${2:String(O)}",
-            "    Key : ${2:String(R)}",
-            "    Version : ${2:String(O)}"
+            "    BundleType : ${3:String(O)}",
+            "    ETag : ${4:String(O)}",
+            "    Key : ${5:String(R)}",
+            "    Version : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6424,7 +6424,7 @@
             "  Type: AWS::EC2::LaunchTemplate.PrivateIpAdd",
             "  Properties:",
             "    PrivateIpAddress : ${2:String(O)}",
-            "    Primary : ${2:Boolean(O)}"
+            "    Primary : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6447,7 +6447,7 @@
             "  Type: AWS::CloudFront::Distribution.LambdaFunctionAssociation",
             "  Properties:",
             "    EventType : ${2:String(O)}",
-            "    LambdaFunctionARN : ${2:String(O)}"
+            "    LambdaFunctionARN : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6459,7 +6459,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints",
             "  Properties:",
             "    IntervalInSeconds : ${2:Integer(R)}",
-            "    SizeInMBs : ${2:Integer(R)}"
+            "    SizeInMBs : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6471,8 +6471,8 @@
             "  Type: AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification",
             "  Properties:",
             "    LaunchTemplateName : ${2:String(O)}",
-            "    Version : ${2:String(O)}",
-            "    LaunchTemplateId : ${2:String(O)}"
+            "    Version : ${3:String(O)}",
+            "    LaunchTemplateId : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6484,9 +6484,9 @@
             "  Type: AWS::Glue::Database.DatabaseInput",
             "  Properties:",
             "    LocationUri : ${2:String(O)}",
-            "    Description : ${2:String(O)}",
-            "    Parameters : ${2:Json(O)}",
-            "    Name : ${2:String(O)}"
+            "    Description : ${3:String(O)}",
+            "    Parameters : ${4:Json(O)}",
+            "    Name : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6498,12 +6498,12 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification",
             "  Properties:",
             "    DefaultResult : ${2:String(O)}",
-            "    HeartbeatTimeout : ${2:Integer(O)}",
-            "    LifecycleHookName : ${2:String(R)}",
-            "    LifecycleTransition : ${2:String(R)}",
-            "    NotificationMetadata : ${2:String(O)}",
-            "    NotificationTargetARN : ${2:String(O)}",
-            "    RoleARN : ${2:String(O)}"
+            "    HeartbeatTimeout : ${3:Integer(O)}",
+            "    LifecycleHookName : ${4:String(R)}",
+            "    LifecycleTransition : ${5:String(R)}",
+            "    NotificationMetadata : ${6:String(O)}",
+            "    NotificationTargetARN : ${7:String(O)}",
+            "    RoleARN : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6515,8 +6515,8 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn",
             "  Properties:",
             "    Mapping : ${2:String(O)}",
-            "    SqlType : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    SqlType : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6528,10 +6528,10 @@
             "  Type: AWS::Cognito::UserPool.PasswordPolicy",
             "  Properties:",
             "    RequireNumbers : ${2:Boolean(O)}",
-            "    MinimumLength : ${2:Integer(O)}",
-            "    RequireUppercase : ${2:Boolean(O)}",
-            "    RequireLowercase : ${2:Boolean(O)}",
-            "    RequireSymbols : ${2:Boolean(O)}"
+            "    MinimumLength : ${3:Integer(O)}",
+            "    RequireUppercase : ${4:Boolean(O)}",
+            "    RequireLowercase : ${5:Boolean(O)}",
+            "    RequireSymbols : ${6:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6543,7 +6543,7 @@
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput",
             "  Properties:",
             "    ResourceARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6555,8 +6555,8 @@
             "  Type: AWS::Config::ConfigurationAggregator.OrganizationAggregationSource",
             "  Properties:",
             "    AllAwsRegions : ${2:Boolean(O)}",
-            "    AwsRegions : [ ${2:String(O)} ]",
-            "    RoleArn : ${2:String(R)}"
+            "    AwsRegions : [ ${3:String(O)} ]",
+            "    RoleArn : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6568,7 +6568,7 @@
             "  Type: AWS::OpsWorks::Layer.ShutdownEventConfiguration",
             "  Properties:",
             "    DelayUntilElbConnectionsDrained : ${2:Boolean(O)}",
-            "    ExecutionTimeout : ${2:Integer(O)}"
+            "    ExecutionTimeout : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6580,7 +6580,7 @@
             "  Type: AWS::Batch::JobDefinition.Volumes",
             "  Properties:",
             "    Host : ${2:aws-batch-jobdefinitionvolumes.VolumesHost(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6592,10 +6592,10 @@
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration",
             "  Properties:",
             "    AdjustmentType : ${2:String(O)}",
-            "    Cooldown : ${2:Integer(O)}",
-            "    MetricAggregationType : ${2:String(O)}",
-            "    MinAdjustmentMagnitude : ${2:Integer(O)}",
-            "    StepAdjustments : [ ${2:aws-applicationautoscaling-scalingpolicystepscalingpolicyconfiguration.StepAdjustment(O)} ]"
+            "    Cooldown : ${3:Integer(O)}",
+            "    MetricAggregationType : ${4:String(O)}",
+            "    MinAdjustmentMagnitude : ${5:Integer(O)}",
+            "    StepAdjustments : [ ${6:aws-applicationautoscaling-scalingpolicystepscalingpolicyconfiguration.StepAdjustment(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6607,10 +6607,10 @@
             "  Type: AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich",
             "  Properties:",
             "    Attribute : ${2:String(O)}",
-            "    Next : ${2:String(O)}",
-            "    ThingName : ${2:String(O)}",
-            "    RoleArn : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Next : ${3:String(O)}",
+            "    ThingName : ${4:String(O)}",
+            "    RoleArn : ${5:String(O)}",
+            "    Name : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6622,11 +6622,11 @@
             "  Type: AWS::S3::Bucket.CorsRule",
             "  Properties:",
             "    AllowedHeaders : [ ${2:String(O)} ]",
-            "    AllowedMethods : [ ${2:String(R)} ]",
-            "    AllowedOrigins : [ ${2:String(R)} ]",
-            "    ExposedHeaders : [ ${2:String(O)} ]",
-            "    Id : ${2:String(O)}",
-            "    MaxAge : ${2:Integer(O)}"
+            "    AllowedMethods : [ ${3:String(R)} ]",
+            "    AllowedOrigins : [ ${4:String(R)} ]",
+            "    ExposedHeaders : [ ${5:String(O)} ]",
+            "    Id : ${6:String(O)}",
+            "    MaxAge : ${7:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6638,8 +6638,8 @@
             "  Type: AWS::IoT::TopicRule.S3Action",
             "  Properties:",
             "    BucketName : ${2:String(R)}",
-            "    Key : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}"
+            "    Key : ${3:String(R)}",
+            "    RoleArn : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6662,7 +6662,7 @@
             "  Type: AWS::CodeBuild::Project.LogsConfig",
             "  Properties:",
             "    CloudWatchLogs : ${2:aws-codebuild-projectlogsconfig.CloudWatchLogsConfig(O)}",
-            "    S3Logs : ${2:aws-codebuild-projectlogsconfig.S3LogsConfig(O)}"
+            "    S3Logs : ${3:aws-codebuild-projectlogsconfig.S3LogsConfig(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6674,14 +6674,14 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration",
             "  Properties:",
             "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.CloudWatchLoggingOptions(O)}",
-            "    HECAcknowledgmentTimeoutInSeconds : ${2:Integer(O)}",
-            "    HECEndpoint : ${2:String(R)}",
-            "    HECEndpointType : ${2:String(R)}",
-            "    HECToken : ${2:String(R)}",
-            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.ProcessingConfiguration(O)}",
-            "    RetryOptions : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.SplunkRetryOptions(O)}",
-            "    S3BackupMode : ${2:String(O)}",
-            "    S3Configuration : ${2:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.S3DestinationConfiguration(R)}"
+            "    HECAcknowledgmentTimeoutInSeconds : ${3:Integer(O)}",
+            "    HECEndpoint : ${4:String(R)}",
+            "    HECEndpointType : ${5:String(R)}",
+            "    HECToken : ${6:String(R)}",
+            "    ProcessingConfiguration : ${7:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.ProcessingConfiguration(O)}",
+            "    RetryOptions : ${8:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.SplunkRetryOptions(O)}",
+            "    S3BackupMode : ${9:String(O)}",
+            "    S3Configuration : ${10:aws-kinesisfirehose-deliverystreamsplunkdestinationconfiguration.S3DestinationConfiguration(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6693,7 +6693,7 @@
             "  Type: AWS::Greengrass::FunctionDefinition.Execution",
             "  Properties:",
             "    IsolationMode : ${2:String(O)}",
-            "    RunAs : ${2:aws-greengrass-functiondefinitionexecution.RunAs(O)}"
+            "    RunAs : ${3:aws-greengrass-functiondefinitionexecution.RunAs(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6705,7 +6705,7 @@
             "  Type: AWS::DirectoryService::MicrosoftAD.VpcSettings",
             "  Properties:",
             "    SubnetIds : [ ${2:String(R)} ]",
-            "    VpcId : ${2:String(R)}"
+            "    VpcId : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6717,7 +6717,7 @@
             "  Type: AWS::AppSync::DataSource.RelationalDatabaseConfig",
             "  Properties:",
             "    RdsHttpEndpointConfig : ${2:aws-appsync-datasourcerelationaldatabaseconfig.RdsHttpEndpointConfig(O)}",
-            "    RelationalDatabaseSourceType : ${2:String(R)}"
+            "    RelationalDatabaseSourceType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6729,7 +6729,7 @@
             "  Type: AWS::Lambda::Function.VpcConfig",
             "  Properties:",
             "    SecurityGroupIds : [ ${2:String(R)} ]",
-            "    SubnetIds : [ ${2:String(R)} ]"
+            "    SubnetIds : [ ${3:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6741,7 +6741,7 @@
             "  Type: AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple",
             "  Properties:",
             "    FieldToMatch : ${2:aws-waf-sqlinjectionmatchsetsqlinjectionmatchtuple.FieldToMatch(R)}",
-            "    TextTransformation : ${2:String(R)}"
+            "    TextTransformation : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6753,7 +6753,7 @@
             "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute",
             "  Properties:",
             "    Key : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6765,7 +6765,7 @@
             "  Type: AWS::AppMesh::Route.WeightedTarget",
             "  Properties:",
             "    VirtualNode : ${2:String(R)}",
-            "    Weight : ${2:Integer(R)}"
+            "    Weight : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6777,8 +6777,8 @@
             "  Type: AWS::OpsWorks::App.DataSource",
             "  Properties:",
             "    Arn : ${2:String(O)}",
-            "    DatabaseName : ${2:String(O)}",
-            "    Type : ${2:String(O)}"
+            "    DatabaseName : ${3:String(O)}",
+            "    Type : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6790,9 +6790,9 @@
             "  Type: AWS::S3::Bucket.Destination",
             "  Properties:",
             "    BucketAccountId : ${2:String(O)}",
-            "    BucketArn : ${2:String(R)}",
-            "    Format : ${2:String(R)}",
-            "    Prefix : ${2:String(O)}"
+            "    BucketArn : ${3:String(R)}",
+            "    Format : ${4:String(R)}",
+            "    Prefix : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6815,9 +6815,9 @@
             "  Type: AWS::RDS::DBSecurityGroup.Ingress",
             "  Properties:",
             "    CIDRIP : ${2:String(O)}",
-            "    EC2SecurityGroupId : ${2:String(O)}",
-            "    EC2SecurityGroupName : ${2:String(O)}",
-            "    EC2SecurityGroupOwnerId : ${2:String(O)}"
+            "    EC2SecurityGroupId : ${3:String(O)}",
+            "    EC2SecurityGroupName : ${4:String(O)}",
+            "    EC2SecurityGroupOwnerId : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6829,7 +6829,7 @@
             "  Type: AWS::WAF::IPSet.IPSetDescriptor",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6841,12 +6841,12 @@
             "  Type: AWS::SES::ReceiptRule.Action",
             "  Properties:",
             "    BounceAction : ${2:aws-ses-receiptruleaction.BounceAction(O)}",
-            "    S3Action : ${2:aws-ses-receiptruleaction.S3Action(O)}",
-            "    StopAction : ${2:aws-ses-receiptruleaction.StopAction(O)}",
-            "    SNSAction : ${2:aws-ses-receiptruleaction.SNSAction(O)}",
-            "    WorkmailAction : ${2:aws-ses-receiptruleaction.WorkmailAction(O)}",
-            "    AddHeaderAction : ${2:aws-ses-receiptruleaction.AddHeaderAction(O)}",
-            "    LambdaAction : ${2:aws-ses-receiptruleaction.LambdaAction(O)}"
+            "    S3Action : ${3:aws-ses-receiptruleaction.S3Action(O)}",
+            "    StopAction : ${4:aws-ses-receiptruleaction.StopAction(O)}",
+            "    SNSAction : ${5:aws-ses-receiptruleaction.SNSAction(O)}",
+            "    WorkmailAction : ${6:aws-ses-receiptruleaction.WorkmailAction(O)}",
+            "    AddHeaderAction : ${7:aws-ses-receiptruleaction.AddHeaderAction(O)}",
+            "    LambdaAction : ${8:aws-ses-receiptruleaction.LambdaAction(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6869,15 +6869,15 @@
             "  Type: AWS::ApiGateway::Deployment.MethodSetting",
             "  Properties:",
             "    CacheDataEncrypted : ${2:Boolean(O)}",
-            "    CacheTtlInSeconds : ${2:Integer(O)}",
-            "    CachingEnabled : ${2:Boolean(O)}",
-            "    DataTraceEnabled : ${2:Boolean(O)}",
-            "    HttpMethod : ${2:String(O)}",
-            "    LoggingLevel : ${2:String(O)}",
-            "    MetricsEnabled : ${2:Boolean(O)}",
-            "    ResourcePath : ${2:String(O)}",
-            "    ThrottlingBurstLimit : ${2:Integer(O)}",
-            "    ThrottlingRateLimit : ${2:Double(O)}"
+            "    CacheTtlInSeconds : ${3:Integer(O)}",
+            "    CachingEnabled : ${4:Boolean(O)}",
+            "    DataTraceEnabled : ${5:Boolean(O)}",
+            "    HttpMethod : ${6:String(O)}",
+            "    LoggingLevel : ${7:String(O)}",
+            "    MetricsEnabled : ${8:Boolean(O)}",
+            "    ResourcePath : ${9:String(O)}",
+            "    ThrottlingBurstLimit : ${10:Integer(O)}",
+            "    ThrottlingRateLimit : ${11:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6889,12 +6889,12 @@
             "  Type: AWS::OpsWorks::Layer.VolumeConfiguration",
             "  Properties:",
             "    Encrypted : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    MountPoint : ${2:String(O)}",
-            "    NumberOfDisks : ${2:Integer(O)}",
-            "    RaidLevel : ${2:Integer(O)}",
-            "    Size : ${2:Integer(O)}",
-            "    VolumeType : ${2:String(O)}"
+            "    Iops : ${3:Integer(O)}",
+            "    MountPoint : ${4:String(O)}",
+            "    NumberOfDisks : ${5:Integer(O)}",
+            "    RaidLevel : ${6:Integer(O)}",
+            "    Size : ${7:Integer(O)}",
+            "    VolumeType : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6906,8 +6906,8 @@
             "  Type: AWS::EMR::Cluster.SpotProvisioningSpecification",
             "  Properties:",
             "    BlockDurationMinutes : ${2:Integer(O)}",
-            "    TimeoutAction : ${2:String(R)}",
-            "    TimeoutDurationMinutes : ${2:Integer(R)}"
+            "    TimeoutAction : ${3:String(R)}",
+            "    TimeoutDurationMinutes : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6919,7 +6919,7 @@
             "  Type: AWS::EMR::Cluster.BootstrapActionConfig",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    ScriptBootstrapAction : ${2:aws-emr-clusterbootstrapactionconfig.ScriptBootstrapActionConfig(R)}"
+            "    ScriptBootstrapAction : ${3:aws-emr-clusterbootstrapactionconfig.ScriptBootstrapActionConfig(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6931,8 +6931,8 @@
             "  Type: AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification",
             "  Properties:",
             "    BlockDurationMinutes : ${2:Integer(O)}",
-            "    TimeoutAction : ${2:String(R)}",
-            "    TimeoutDurationMinutes : ${2:Integer(R)}"
+            "    TimeoutAction : ${3:String(R)}",
+            "    TimeoutDurationMinutes : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6944,8 +6944,8 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification",
             "  Properties:",
             "    LaunchTemplateId : ${2:String(O)}",
-            "    LaunchTemplateName : ${2:String(O)}",
-            "    Version : ${2:String(R)}"
+            "    LaunchTemplateName : ${3:String(O)}",
+            "    Version : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6957,18 +6957,18 @@
             "  Type: AWS::Batch::JobDefinition.ContainerProperties",
             "  Properties:",
             "    User : ${2:String(O)}",
-            "    Memory : ${2:Integer(R)}",
-            "    Privileged : ${2:Boolean(O)}",
-            "    JobRoleArn : ${2:String(O)}",
-            "    ReadonlyRootFilesystem : ${2:Boolean(O)}",
-            "    Vcpus : ${2:Integer(R)}",
-            "    Image : ${2:String(R)}",
-            "    MountPoints : [ ${2:aws-batch-jobdefinitioncontainerproperties.MountPoints(O)} ]",
-            "    Volumes : [ ${2:aws-batch-jobdefinitioncontainerproperties.Volumes(O)} ]",
-            "    Command : [ ${2:String(O)} ]",
-            "    Environment : [ ${2:aws-batch-jobdefinitioncontainerproperties.Environment(O)} ]",
-            "    Ulimits : [ ${2:aws-batch-jobdefinitioncontainerproperties.Ulimit(O)} ]",
-            "    InstanceType : ${2:String(O)}"
+            "    Memory : ${3:Integer(R)}",
+            "    Privileged : ${4:Boolean(O)}",
+            "    JobRoleArn : ${5:String(O)}",
+            "    ReadonlyRootFilesystem : ${6:Boolean(O)}",
+            "    Vcpus : ${7:Integer(R)}",
+            "    Image : ${8:String(R)}",
+            "    MountPoints : [ ${9:aws-batch-jobdefinitioncontainerproperties.MountPoints(O)} ]",
+            "    Volumes : [ ${10:aws-batch-jobdefinitioncontainerproperties.Volumes(O)} ]",
+            "    Command : [ ${11:String(O)} ]",
+            "    Environment : [ ${12:aws-batch-jobdefinitioncontainerproperties.Environment(O)} ]",
+            "    Ulimits : [ ${13:aws-batch-jobdefinitioncontainerproperties.Ulimit(O)} ]",
+            "    InstanceType : ${14:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -6980,9 +6980,9 @@
             "  Type: AWS::GameLift::Fleet.IpPermission",
             "  Properties:",
             "    FromPort : ${2:Integer(R)}",
-            "    IpRange : ${2:String(R)}",
-            "    Protocol : ${2:String(R)}",
-            "    ToPort : ${2:Integer(R)}"
+            "    IpRange : ${3:String(R)}",
+            "    Protocol : ${4:String(R)}",
+            "    ToPort : ${5:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7005,9 +7005,9 @@
             "  Type: AWS::IoTAnalytics::Pipeline.Lambda",
             "  Properties:",
             "    BatchSize : ${2:Integer(O)}",
-            "    Next : ${2:String(O)}",
-            "    LambdaName : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Next : ${3:String(O)}",
+            "    LambdaName : ${4:String(O)}",
+            "    Name : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7019,10 +7019,10 @@
             "  Type: AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification",
             "  Properties:",
             "    Dimensions : [ ${2:aws-autoscaling-scalingpolicycustomizedmetricspecification.MetricDimension(O)} ]",
-            "    MetricName : ${2:String(R)}",
-            "    Namespace : ${2:String(R)}",
-            "    Statistic : ${2:String(R)}",
-            "    Unit : ${2:String(O)}"
+            "    MetricName : ${3:String(R)}",
+            "    Namespace : ${4:String(R)}",
+            "    Statistic : ${5:String(R)}",
+            "    Unit : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7034,8 +7034,8 @@
             "  Type: AWS::IoT::TopicRule.SqsAction",
             "  Properties:",
             "    QueueUrl : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}",
-            "    UseBase64 : ${2:Boolean(O)}"
+            "    RoleArn : ${3:String(R)}",
+            "    UseBase64 : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7047,13 +7047,13 @@
             "  Type: AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig",
             "  Properties:",
             "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
-            "    OnUnauthenticatedRequest : ${2:String(O)}",
-            "    Scope : ${2:String(O)}",
-            "    SessionCookieName : ${2:String(O)}",
-            "    SessionTimeout : ${2:Long(O)}",
-            "    UserPoolArn : ${2:String(R)}",
-            "    UserPoolClientId : ${2:String(R)}",
-            "    UserPoolDomain : ${2:String(R)}"
+            "    OnUnauthenticatedRequest : ${3:String(O)}",
+            "    Scope : ${4:String(O)}",
+            "    SessionCookieName : ${5:String(O)}",
+            "    SessionTimeout : ${6:Long(O)}",
+            "    UserPoolArn : ${7:String(R)}",
+            "    UserPoolClientId : ${8:String(R)}",
+            "    UserPoolDomain : ${9:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7065,7 +7065,7 @@
             "  Type: AWS::StepFunctions::Activity.TagsEntry",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7077,9 +7077,9 @@
             "  Type: AWS::ECS::Service.LoadBalancer",
             "  Properties:",
             "    ContainerName : ${2:String(O)}",
-            "    ContainerPort : ${2:Integer(R)}",
-            "    LoadBalancerName : ${2:String(O)}",
-            "    TargetGroupArn : ${2:String(O)}"
+            "    ContainerPort : ${3:Integer(R)}",
+            "    LoadBalancerName : ${4:String(O)}",
+            "    TargetGroupArn : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7091,7 +7091,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration",
             "  Properties:",
             "    KMSEncryptionConfig : ${2:aws-kinesisfirehose-deliverystreamencryptionconfiguration.KMSEncryptionConfig(O)}",
-            "    NoEncryptionConfig : ${2:String(O)}"
+            "    NoEncryptionConfig : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7103,7 +7103,7 @@
             "  Type: AWS::AppStream::ImageBuilder.VpcConfig",
             "  Properties:",
             "    SecurityGroupIds : [ ${2:String(O)} ]",
-            "    SubnetIds : [ ${2:String(O)} ]"
+            "    SubnetIds : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7115,8 +7115,8 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions",
             "  Properties:",
             "    Enabled : ${2:Boolean(O)}",
-            "    LogGroupName : ${2:String(O)}",
-            "    LogStreamName : ${2:String(O)}"
+            "    LogGroupName : ${3:String(O)}",
+            "    LogStreamName : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7128,7 +7128,7 @@
             "  Type: AWS::ECS::TaskDefinition.LogConfiguration",
             "  Properties:",
             "    LogDriver : ${2:String(R)}",
-            "    Options : [ ${2:String(O)} ]"
+            "    Options : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7151,9 +7151,9 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy",
             "  Properties:",
             "    EmitInterval : ${2:Integer(O)}",
-            "    Enabled : ${2:Boolean(R)}",
-            "    S3BucketName : ${2:String(R)}",
-            "    S3BucketPrefix : ${2:String(O)}"
+            "    Enabled : ${3:Boolean(R)}",
+            "    S3BucketName : ${4:String(R)}",
+            "    S3BucketPrefix : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7165,7 +7165,7 @@
             "  Type: AWS::SES::ReceiptFilter.Filter",
             "  Properties:",
             "    IpFilter : ${2:aws-ses-receiptfilterfilter.IpFilter(R)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7177,8 +7177,8 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.TagFilter",
             "  Properties:",
             "    Key : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Type : ${3:String(O)}",
+            "    Value : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7190,7 +7190,7 @@
             "  Type: AWS::EC2::SpotFleet.SpotFleetTagSpecification",
             "  Properties:",
             "    ResourceType : ${2:String(O)}",
-            "    Tags : [ ${2:aws-ec2-spotfleetspotfleettagspecification.Tag(O)} ]"
+            "    Tags : [ ${3:aws-ec2-spotfleetspotfleettagspecification.Tag(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7202,7 +7202,7 @@
             "  Type: AWS::EC2::SpotFleet.PrivateIpAddressSpecification",
             "  Properties:",
             "    Primary : ${2:Boolean(O)}",
-            "    PrivateIpAddress : ${2:String(R)}"
+            "    PrivateIpAddress : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7214,8 +7214,8 @@
             "  Type: AWS::ECS::TaskDefinition.Device",
             "  Properties:",
             "    ContainerPath : ${2:String(O)}",
-            "    HostPath : ${2:String(R)}",
-            "    Permissions : [ ${2:String(O)} ]"
+            "    HostPath : ${3:String(R)}",
+            "    Permissions : [ ${4:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7227,12 +7227,12 @@
             "  Type: AWS::ElasticLoadBalancingV2::Listener.Action",
             "  Properties:",
             "    AuthenticateCognitoConfig : ${2:aws-elasticloadbalancingv2-listeneraction.AuthenticateCognitoConfig(O)}",
-            "    AuthenticateOidcConfig : ${2:aws-elasticloadbalancingv2-listeneraction.AuthenticateOidcConfig(O)}",
-            "    FixedResponseConfig : ${2:aws-elasticloadbalancingv2-listeneraction.FixedResponseConfig(O)}",
-            "    Order : ${2:Integer(O)}",
-            "    RedirectConfig : ${2:aws-elasticloadbalancingv2-listeneraction.RedirectConfig(O)}",
-            "    TargetGroupArn : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    AuthenticateOidcConfig : ${3:aws-elasticloadbalancingv2-listeneraction.AuthenticateOidcConfig(O)}",
+            "    FixedResponseConfig : ${4:aws-elasticloadbalancingv2-listeneraction.FixedResponseConfig(O)}",
+            "    Order : ${5:Integer(O)}",
+            "    RedirectConfig : ${6:aws-elasticloadbalancingv2-listeneraction.RedirectConfig(O)}",
+            "    TargetGroupArn : ${7:String(O)}",
+            "    Type : ${8:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7244,7 +7244,7 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat",
             "  Properties:",
             "    MappingParameters : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcerecordformat.MappingParameters(O)}",
-            "    RecordFormatType : ${2:String(R)}"
+            "    RecordFormatType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7256,7 +7256,7 @@
             "  Type: AWS::Glue::Job.JobCommand",
             "  Properties:",
             "    ScriptLocation : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7268,10 +7268,10 @@
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.Output",
             "  Properties:",
             "    DestinationSchema : ${2:aws-kinesisanalytics-applicationoutputoutput.DestinationSchema(R)}",
-            "    LambdaOutput : ${2:aws-kinesisanalytics-applicationoutputoutput.LambdaOutput(O)}",
-            "    KinesisFirehoseOutput : ${2:aws-kinesisanalytics-applicationoutputoutput.KinesisFirehoseOutput(O)}",
-            "    KinesisStreamsOutput : ${2:aws-kinesisanalytics-applicationoutputoutput.KinesisStreamsOutput(O)}",
-            "    Name : ${2:String(O)}"
+            "    LambdaOutput : ${3:aws-kinesisanalytics-applicationoutputoutput.LambdaOutput(O)}",
+            "    KinesisFirehoseOutput : ${4:aws-kinesisanalytics-applicationoutputoutput.KinesisFirehoseOutput(O)}",
+            "    KinesisStreamsOutput : ${5:aws-kinesisanalytics-applicationoutputoutput.KinesisStreamsOutput(O)}",
+            "    Name : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7283,10 +7283,10 @@
             "  Type: AWS::EMR::Cluster.InstanceFleetConfig",
             "  Properties:",
             "    InstanceTypeConfigs : [ ${2:aws-emr-clusterinstancefleetconfig.InstanceTypeConfig(O)} ]",
-            "    LaunchSpecifications : ${2:aws-emr-clusterinstancefleetconfig.InstanceFleetProvisioningSpecifications(O)}",
-            "    Name : ${2:String(O)}",
-            "    TargetOnDemandCapacity : ${2:Integer(O)}",
-            "    TargetSpotCapacity : ${2:Integer(O)}"
+            "    LaunchSpecifications : ${3:aws-emr-clusterinstancefleetconfig.InstanceFleetProvisioningSpecifications(O)}",
+            "    Name : ${4:String(O)}",
+            "    TargetOnDemandCapacity : ${5:Integer(O)}",
+            "    TargetSpotCapacity : ${6:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7298,8 +7298,8 @@
             "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest",
             "  Properties:",
             "    LaunchTemplateName : ${2:String(O)}",
-            "    Version : ${2:String(O)}",
-            "    LaunchTemplateId : ${2:String(O)}"
+            "    Version : ${3:String(O)}",
+            "    LaunchTemplateId : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7311,7 +7311,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration",
             "  Properties:",
             "    Enabled : ${2:Boolean(O)}",
-            "    Processors : [ ${2:aws-kinesisfirehose-deliverystreamprocessingconfiguration.Processor(O)} ]"
+            "    Processors : [ ${3:aws-kinesisfirehose-deliverystreamprocessingconfiguration.Processor(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7323,8 +7323,8 @@
             "  Type: AWS::DynamoDB::Table.LocalSecondaryIndex",
             "  Properties:",
             "    IndexName : ${2:String(R)}",
-            "    KeySchema : [ ${2:aws-dynamodb-tablelocalsecondaryindex.KeySchema(R)} ]",
-            "    Projection : ${2:aws-dynamodb-tablelocalsecondaryindex.Projection(R)}"
+            "    KeySchema : [ ${3:aws-dynamodb-tablelocalsecondaryindex.KeySchema(R)} ]",
+            "    Projection : ${4:aws-dynamodb-tablelocalsecondaryindex.Projection(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7336,20 +7336,20 @@
             "  Type: AWS::EMR::Cluster.JobFlowInstancesConfig",
             "  Properties:",
             "    AdditionalMasterSecurityGroups : [ ${2:String(O)} ]",
-            "    AdditionalSlaveSecurityGroups : [ ${2:String(O)} ]",
-            "    CoreInstanceFleet : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceFleetConfig(O)}",
-            "    CoreInstanceGroup : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceGroupConfig(O)}",
-            "    Ec2KeyName : ${2:String(O)}",
-            "    Ec2SubnetId : ${2:String(O)}",
-            "    EmrManagedMasterSecurityGroup : ${2:String(O)}",
-            "    EmrManagedSlaveSecurityGroup : ${2:String(O)}",
-            "    HadoopVersion : ${2:String(O)}",
-            "    KeepJobFlowAliveWhenNoSteps : ${2:Boolean(O)}",
-            "    MasterInstanceFleet : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceFleetConfig(O)}",
-            "    MasterInstanceGroup : ${2:aws-emr-clusterjobflowinstancesconfig.InstanceGroupConfig(O)}",
-            "    Placement : ${2:aws-emr-clusterjobflowinstancesconfig.PlacementType(O)}",
-            "    ServiceAccessSecurityGroup : ${2:String(O)}",
-            "    TerminationProtected : ${2:Boolean(O)}"
+            "    AdditionalSlaveSecurityGroups : [ ${3:String(O)} ]",
+            "    CoreInstanceFleet : ${4:aws-emr-clusterjobflowinstancesconfig.InstanceFleetConfig(O)}",
+            "    CoreInstanceGroup : ${5:aws-emr-clusterjobflowinstancesconfig.InstanceGroupConfig(O)}",
+            "    Ec2KeyName : ${6:String(O)}",
+            "    Ec2SubnetId : ${7:String(O)}",
+            "    EmrManagedMasterSecurityGroup : ${8:String(O)}",
+            "    EmrManagedSlaveSecurityGroup : ${9:String(O)}",
+            "    HadoopVersion : ${10:String(O)}",
+            "    KeepJobFlowAliveWhenNoSteps : ${11:Boolean(O)}",
+            "    MasterInstanceFleet : ${12:aws-emr-clusterjobflowinstancesconfig.InstanceFleetConfig(O)}",
+            "    MasterInstanceGroup : ${13:aws-emr-clusterjobflowinstancesconfig.InstanceGroupConfig(O)}",
+            "    Placement : ${14:aws-emr-clusterjobflowinstancesconfig.PlacementType(O)}",
+            "    ServiceAccessSecurityGroup : ${15:String(O)}",
+            "    TerminationProtected : ${16:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7361,7 +7361,7 @@
             "  Type: AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification",
             "  Properties:",
             "    PreSharedKey : ${2:String(O)}",
-            "    TunnelInsideCidr : ${2:String(O)}"
+            "    TunnelInsideCidr : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7373,21 +7373,21 @@
             "  Type: AWS::Route53::HealthCheck.HealthCheckConfig",
             "  Properties:",
             "    AlarmIdentifier : ${2:aws-route53-healthcheckhealthcheckconfig.AlarmIdentifier(O)}",
-            "    ChildHealthChecks : [ ${2:String(O)} ]",
-            "    EnableSNI : ${2:Boolean(O)}",
-            "    FailureThreshold : ${2:Integer(O)}",
-            "    FullyQualifiedDomainName : ${2:String(O)}",
-            "    HealthThreshold : ${2:Integer(O)}",
-            "    IPAddress : ${2:String(O)}",
-            "    InsufficientDataHealthStatus : ${2:String(O)}",
-            "    Inverted : ${2:Boolean(O)}",
-            "    MeasureLatency : ${2:Boolean(O)}",
-            "    Port : ${2:Integer(O)}",
-            "    Regions : [ ${2:String(O)} ]",
-            "    RequestInterval : ${2:Integer(O)}",
-            "    ResourcePath : ${2:String(O)}",
-            "    SearchString : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    ChildHealthChecks : [ ${3:String(O)} ]",
+            "    EnableSNI : ${4:Boolean(O)}",
+            "    FailureThreshold : ${5:Integer(O)}",
+            "    FullyQualifiedDomainName : ${6:String(O)}",
+            "    HealthThreshold : ${7:Integer(O)}",
+            "    IPAddress : ${8:String(O)}",
+            "    InsufficientDataHealthStatus : ${9:String(O)}",
+            "    Inverted : ${10:Boolean(O)}",
+            "    MeasureLatency : ${11:Boolean(O)}",
+            "    Port : ${12:Integer(O)}",
+            "    Regions : [ ${13:String(O)} ]",
+            "    RequestInterval : ${14:Integer(O)}",
+            "    ResourcePath : ${15:String(O)}",
+            "    SearchString : ${16:String(O)}",
+            "    Type : ${17:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7399,8 +7399,8 @@
             "  Type: AWS::IoT::TopicRule.SnsAction",
             "  Properties:",
             "    MessageFormat : ${2:String(O)}",
-            "    RoleArn : ${2:String(R)}",
-            "    TargetArn : ${2:String(R)}"
+            "    RoleArn : ${3:String(R)}",
+            "    TargetArn : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7412,7 +7412,7 @@
             "  Type: AWS::DirectoryService::SimpleAD.VpcSettings",
             "  Properties:",
             "    SubnetIds : [ ${2:String(R)} ]",
-            "    VpcId : ${2:String(R)}"
+            "    VpcId : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7424,19 +7424,19 @@
             "  Type: AWS::CloudFront::Distribution.CacheBehavior",
             "  Properties:",
             "    Compress : ${2:Boolean(O)}",
-            "    LambdaFunctionAssociations : [ ${2:aws-cloudfront-distributioncachebehavior.LambdaFunctionAssociation(O)} ]",
-            "    TargetOriginId : ${2:String(R)}",
-            "    ViewerProtocolPolicy : ${2:String(R)}",
-            "    TrustedSigners : [ ${2:String(O)} ]",
-            "    DefaultTTL : ${2:Double(O)}",
-            "    FieldLevelEncryptionId : ${2:String(O)}",
-            "    AllowedMethods : [ ${2:String(O)} ]",
-            "    PathPattern : ${2:String(R)}",
-            "    CachedMethods : [ ${2:String(O)} ]",
-            "    SmoothStreaming : ${2:Boolean(O)}",
-            "    ForwardedValues : ${2:aws-cloudfront-distributioncachebehavior.ForwardedValues(R)}",
-            "    MinTTL : ${2:Double(O)}",
-            "    MaxTTL : ${2:Double(O)}"
+            "    LambdaFunctionAssociations : [ ${3:aws-cloudfront-distributioncachebehavior.LambdaFunctionAssociation(O)} ]",
+            "    TargetOriginId : ${4:String(R)}",
+            "    ViewerProtocolPolicy : ${5:String(R)}",
+            "    TrustedSigners : [ ${6:String(O)} ]",
+            "    DefaultTTL : ${7:Double(O)}",
+            "    FieldLevelEncryptionId : ${8:String(O)}",
+            "    AllowedMethods : [ ${9:String(O)} ]",
+            "    PathPattern : ${10:String(R)}",
+            "    CachedMethods : [ ${11:String(O)} ]",
+            "    SmoothStreaming : ${12:Boolean(O)}",
+            "    ForwardedValues : ${13:aws-cloudfront-distributioncachebehavior.ForwardedValues(R)}",
+            "    MinTTL : ${14:Double(O)}",
+            "    MaxTTL : ${15:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7448,8 +7448,8 @@
             "  Type: AWS::EMR::Cluster.StepConfig",
             "  Properties:",
             "    ActionOnFailure : ${2:String(O)}",
-            "    HadoopJarStep : ${2:aws-emr-clusterstepconfig.HadoopJarStepConfig(R)}",
-            "    Name : ${2:String(R)}"
+            "    HadoopJarStep : ${3:aws-emr-clusterstepconfig.HadoopJarStepConfig(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7461,7 +7461,7 @@
             "  Type: AWS::CodePipeline::Pipeline.BlockerDeclaration",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7473,7 +7473,7 @@
             "  Type: AWS::GuardDuty::Filter.FindingCriteria",
             "  Properties:",
             "    Criterion : ${2:Json(O)}",
-            "    ItemType : ${2:aws-guardduty-filterfindingcriteria.Condition(O)}"
+            "    ItemType : ${3:aws-guardduty-filterfindingcriteria.Condition(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7496,9 +7496,9 @@
             "  Type: AWS::CloudWatch::Alarm.MetricStat",
             "  Properties:",
             "    Metric : ${2:aws-cloudwatch-alarmmetricstat.Metric(R)}",
-            "    Period : ${2:Integer(R)}",
-            "    Stat : ${2:String(R)}",
-            "    Unit : ${2:String(O)}"
+            "    Period : ${3:Integer(R)}",
+            "    Stat : ${4:String(R)}",
+            "    Unit : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7510,11 +7510,11 @@
             "  Type: AWS::Elasticsearch::Domain.ElasticsearchClusterConfig",
             "  Properties:",
             "    DedicatedMasterCount : ${2:Integer(O)}",
-            "    DedicatedMasterEnabled : ${2:Boolean(O)}",
-            "    DedicatedMasterType : ${2:String(O)}",
-            "    InstanceCount : ${2:Integer(O)}",
-            "    InstanceType : ${2:String(O)}",
-            "    ZoneAwarenessEnabled : ${2:Boolean(O)}"
+            "    DedicatedMasterEnabled : ${3:Boolean(O)}",
+            "    DedicatedMasterType : ${4:String(O)}",
+            "    InstanceCount : ${5:Integer(O)}",
+            "    InstanceType : ${6:String(O)}",
+            "    ZoneAwarenessEnabled : ${7:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7537,7 +7537,7 @@
             "  Type: AWS::StepFunctions::StateMachine.TagsEntry",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7549,7 +7549,7 @@
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.Execution",
             "  Properties:",
             "    IsolationMode : ${2:String(O)}",
-            "    RunAs : ${2:aws-greengrass-functiondefinitionversionexecution.RunAs(O)}"
+            "    RunAs : ${3:aws-greengrass-functiondefinitionversionexecution.RunAs(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7561,7 +7561,7 @@
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7573,12 +7573,12 @@
             "  Type: AWS::Budgets::Budget.BudgetData",
             "  Properties:",
             "    BudgetLimit : ${2:aws-budgets-budgetbudgetdata.Spend(O)}",
-            "    TimePeriod : ${2:aws-budgets-budgetbudgetdata.TimePeriod(O)}",
-            "    TimeUnit : ${2:String(R)}",
-            "    CostFilters : ${2:Json(O)}",
-            "    BudgetName : ${2:String(O)}",
-            "    CostTypes : ${2:aws-budgets-budgetbudgetdata.CostTypes(O)}",
-            "    BudgetType : ${2:String(R)}"
+            "    TimePeriod : ${3:aws-budgets-budgetbudgetdata.TimePeriod(O)}",
+            "    TimeUnit : ${4:String(R)}",
+            "    CostFilters : ${5:Json(O)}",
+            "    BudgetName : ${6:String(O)}",
+            "    CostTypes : ${7:aws-budgets-budgetbudgetdata.CostTypes(O)}",
+            "    BudgetType : ${8:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7590,8 +7590,8 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.S3ContentLocation",
             "  Properties:",
             "    BucketARN : ${2:String(O)}",
-            "    FileKey : ${2:String(O)}",
-            "    ObjectVersion : ${2:String(O)}"
+            "    FileKey : ${3:String(O)}",
+            "    ObjectVersion : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7614,8 +7614,8 @@
             "  Type: Alexa::ASK::Skill.AuthenticationConfiguration",
             "  Properties:",
             "    RefreshToken : ${2:String(R)}",
-            "    ClientSecret : ${2:String(R)}",
-            "    ClientId : ${2:String(R)}"
+            "    ClientSecret : ${3:String(R)}",
+            "    ClientId : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7627,8 +7627,8 @@
             "  Type: AWS::ApiGateway::UsagePlan.ApiStage",
             "  Properties:",
             "    ApiId : ${2:String(O)}",
-            "    Stage : ${2:String(O)}",
-            "    Throttle : [ ${2:aws-apigateway-usageplanapistage.ThrottleSettings(O)} ]"
+            "    Stage : ${3:String(O)}",
+            "    Throttle : [ ${4:aws-apigateway-usageplanapistage.ThrottleSettings(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7640,8 +7640,8 @@
             "  Type: AWS::Config::ConfigurationRecorder.RecordingGroup",
             "  Properties:",
             "    AllSupported : ${2:Boolean(O)}",
-            "    IncludeGlobalResourceTypes : ${2:Boolean(O)}",
-            "    ResourceTypes : [ ${2:String(O)} ]"
+            "    IncludeGlobalResourceTypes : ${3:Boolean(O)}",
+            "    ResourceTypes : [ ${4:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7653,10 +7653,10 @@
             "  Type: AWS::DLM::LifecyclePolicy.Schedule",
             "  Properties:",
             "    TagsToAdd : [ ${2:aws-dlm-lifecyclepolicyschedule.Tag(O)} ]",
-            "    CreateRule : ${2:aws-dlm-lifecyclepolicyschedule.CreateRule(O)}",
-            "    RetainRule : ${2:aws-dlm-lifecyclepolicyschedule.RetainRule(O)}",
-            "    Name : ${2:String(O)}",
-            "    CopyTags : ${2:Boolean(O)}"
+            "    CreateRule : ${3:aws-dlm-lifecyclepolicyschedule.CreateRule(O)}",
+            "    RetainRule : ${4:aws-dlm-lifecyclepolicyschedule.RetainRule(O)}",
+            "    Name : ${5:String(O)}",
+            "    CopyTags : ${6:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7668,8 +7668,8 @@
             "  Type: AWS::WAF::WebACL.ActivatedRule",
             "  Properties:",
             "    Action : ${2:aws-waf-webaclactivatedrule.WafAction(O)}",
-            "    Priority : ${2:Integer(R)}",
-            "    RuleId : ${2:String(R)}"
+            "    Priority : ${3:Integer(R)}",
+            "    RuleId : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7681,9 +7681,9 @@
             "  Type: AWS::RDS::DBCluster.ScalingConfiguration",
             "  Properties:",
             "    AutoPause : ${2:Boolean(O)}",
-            "    MaxCapacity : ${2:Integer(O)}",
-            "    MinCapacity : ${2:Integer(O)}",
-            "    SecondsUntilAutoPause : ${2:Integer(O)}"
+            "    MaxCapacity : ${3:Integer(O)}",
+            "    MinCapacity : ${4:Integer(O)}",
+            "    SecondsUntilAutoPause : ${5:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7706,9 +7706,9 @@
             "  Type: AWS::FSx::FileSystem.LustreConfiguration",
             "  Properties:",
             "    ImportPath : ${2:String(O)}",
-            "    WeeklyMaintenanceStartTime : ${2:String(O)}",
-            "    ImportedFileChunkSize : ${2:Integer(O)}",
-            "    ExportPath : ${2:String(O)}"
+            "    WeeklyMaintenanceStartTime : ${3:String(O)}",
+            "    ImportedFileChunkSize : ${4:Integer(O)}",
+            "    ExportPath : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7720,7 +7720,7 @@
             "  Type: AWS::CloudFront::StreamingDistribution.TrustedSigners",
             "  Properties:",
             "    Enabled : ${2:Boolean(R)}",
-            "    AwsAccountNumbers : [ ${2:String(O)} ]"
+            "    AwsAccountNumbers : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7732,9 +7732,9 @@
             "  Type: AWS::EC2::LaunchTemplate.BlockDeviceMapping",
             "  Properties:",
             "    Ebs : ${2:aws-ec2-launchtemplateblockdevicemapping.Ebs(O)}",
-            "    NoDevice : ${2:String(O)}",
-            "    VirtualName : ${2:String(O)}",
-            "    DeviceName : ${2:String(O)}"
+            "    NoDevice : ${3:String(O)}",
+            "    VirtualName : ${4:String(O)}",
+            "    DeviceName : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7746,7 +7746,7 @@
             "  Type: AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig",
             "  Properties:",
             "    ServiceRole : ${2:String(O)}",
-            "    VersionLifecycleConfig : ${2:aws-elasticbeanstalk-applicationapplicationresourcelifecycleconfig.ApplicationVersionLifecycleConfig(O)}"
+            "    VersionLifecycleConfig : ${3:aws-elasticbeanstalk-applicationapplicationresourcelifecycleconfig.ApplicationVersionLifecycleConfig(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7769,8 +7769,8 @@
             "  Type: AWS::EC2::LaunchTemplate.SpotOptions",
             "  Properties:",
             "    SpotInstanceType : ${2:String(O)}",
-            "    InstanceInterruptionBehavior : ${2:String(O)}",
-            "    MaxPrice : ${2:String(O)}"
+            "    InstanceInterruptionBehavior : ${3:String(O)}",
+            "    MaxPrice : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7782,7 +7782,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.BufferingHints",
             "  Properties:",
             "    IntervalInSeconds : ${2:Integer(R)}",
-            "    SizeInMBs : ${2:Integer(R)}"
+            "    SizeInMBs : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7827,9 +7827,9 @@
             "  Type: AWS::Greengrass::CoreDefinitionVersion.Core",
             "  Properties:",
             "    SyncShadow : ${2:Boolean(O)}",
-            "    ThingArn : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    CertificateArn : ${2:String(R)}"
+            "    ThingArn : ${3:String(R)}",
+            "    Id : ${4:String(R)}",
+            "    CertificateArn : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7841,7 +7841,7 @@
             "  Type: AWS::RoboMaker::RobotApplication.RobotSoftwareSuite",
             "  Properties:",
             "    Version : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Name : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7853,7 +7853,7 @@
             "  Type: AWS::CodePipeline::Pipeline.ArtifactStoreMap",
             "  Properties:",
             "    ArtifactStore : ${2:aws-codepipeline-pipelineartifactstoremap.ArtifactStore(R)}",
-            "    Region : ${2:String(R)}"
+            "    Region : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7865,8 +7865,8 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance",
             "  Properties:",
             "    ResourceDataContainer : ${2:aws-greengrass-resourcedefinitionversionresourceinstance.ResourceDataContainer(R)}",
-            "    Id : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Id : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7878,8 +7878,8 @@
             "  Type: AWS::WAFRegional::Rule.Predicate",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    DataId : ${2:String(R)}",
-            "    Negated : ${2:Boolean(R)}"
+            "    DataId : ${3:String(R)}",
+            "    Negated : ${4:Boolean(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7902,16 +7902,16 @@
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig",
             "  Properties:",
             "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
-            "    AuthorizationEndpoint : ${2:String(R)}",
-            "    ClientId : ${2:String(R)}",
-            "    ClientSecret : ${2:String(R)}",
-            "    Issuer : ${2:String(R)}",
-            "    OnUnauthenticatedRequest : ${2:String(O)}",
-            "    Scope : ${2:String(O)}",
-            "    SessionCookieName : ${2:String(O)}",
-            "    SessionTimeout : ${2:Long(O)}",
-            "    TokenEndpoint : ${2:String(R)}",
-            "    UserInfoEndpoint : ${2:String(R)}"
+            "    AuthorizationEndpoint : ${3:String(R)}",
+            "    ClientId : ${4:String(R)}",
+            "    ClientSecret : ${5:String(R)}",
+            "    Issuer : ${6:String(R)}",
+            "    OnUnauthenticatedRequest : ${7:String(O)}",
+            "    Scope : ${8:String(O)}",
+            "    SessionCookieName : ${9:String(O)}",
+            "    SessionTimeout : ${10:Long(O)}",
+            "    TokenEndpoint : ${11:String(R)}",
+            "    UserInfoEndpoint : ${12:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7923,8 +7923,8 @@
             "  Type: AWS::EC2::SpotFleet.SpotPlacement",
             "  Properties:",
             "    AvailabilityZone : ${2:String(O)}",
-            "    GroupName : ${2:String(O)}",
-            "    Tenancy : ${2:String(O)}"
+            "    GroupName : ${3:String(O)}",
+            "    Tenancy : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7936,18 +7936,18 @@
             "  Type: AWS::CloudFront::Distribution.DefaultCacheBehavior",
             "  Properties:",
             "    Compress : ${2:Boolean(O)}",
-            "    LambdaFunctionAssociations : [ ${2:aws-cloudfront-distributiondefaultcachebehavior.LambdaFunctionAssociation(O)} ]",
-            "    TargetOriginId : ${2:String(R)}",
-            "    ViewerProtocolPolicy : ${2:String(R)}",
-            "    TrustedSigners : [ ${2:String(O)} ]",
-            "    DefaultTTL : ${2:Double(O)}",
-            "    FieldLevelEncryptionId : ${2:String(O)}",
-            "    AllowedMethods : [ ${2:String(O)} ]",
-            "    CachedMethods : [ ${2:String(O)} ]",
-            "    SmoothStreaming : ${2:Boolean(O)}",
-            "    ForwardedValues : ${2:aws-cloudfront-distributiondefaultcachebehavior.ForwardedValues(R)}",
-            "    MinTTL : ${2:Double(O)}",
-            "    MaxTTL : ${2:Double(O)}"
+            "    LambdaFunctionAssociations : [ ${3:aws-cloudfront-distributiondefaultcachebehavior.LambdaFunctionAssociation(O)} ]",
+            "    TargetOriginId : ${4:String(R)}",
+            "    ViewerProtocolPolicy : ${5:String(R)}",
+            "    TrustedSigners : [ ${6:String(O)} ]",
+            "    DefaultTTL : ${7:Double(O)}",
+            "    FieldLevelEncryptionId : ${8:String(O)}",
+            "    AllowedMethods : [ ${9:String(O)} ]",
+            "    CachedMethods : [ ${10:String(O)} ]",
+            "    SmoothStreaming : ${11:Boolean(O)}",
+            "    ForwardedValues : ${12:aws-cloudfront-distributiondefaultcachebehavior.ForwardedValues(R)}",
+            "    MinTTL : ${13:Double(O)}",
+            "    MaxTTL : ${14:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7959,12 +7959,12 @@
             "  Type: AWS::Greengrass::FunctionDefinition.FunctionConfiguration",
             "  Properties:",
             "    MemorySize : ${2:Integer(R)}",
-            "    Pinned : ${2:Boolean(O)}",
-            "    ExecArgs : ${2:String(O)}",
-            "    Timeout : ${2:Integer(R)}",
-            "    EncodingType : ${2:String(O)}",
-            "    Environment : ${2:aws-greengrass-functiondefinitionfunctionconfiguration.Environment(O)}",
-            "    Executable : ${2:String(O)}"
+            "    Pinned : ${3:Boolean(O)}",
+            "    ExecArgs : ${4:String(O)}",
+            "    Timeout : ${5:Integer(R)}",
+            "    EncodingType : ${6:String(O)}",
+            "    Environment : ${7:aws-greengrass-functiondefinitionfunctionconfiguration.Environment(O)}",
+            "    Executable : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -7976,10 +7976,10 @@
             "  Type: AWS::IoTAnalytics::Dataset.Variable",
             "  Properties:",
             "    DatasetContentVersionValue : ${2:aws-iotanalytics-datasetvariable.DatasetContentVersionValue(O)}",
-            "    DoubleValue : ${2:Double(O)}",
-            "    OutputFileUriValue : ${2:aws-iotanalytics-datasetvariable.OutputFileUriValue(O)}",
-            "    VariableName : ${2:String(R)}",
-            "    StringValue : ${2:String(O)}"
+            "    DoubleValue : ${3:Double(O)}",
+            "    OutputFileUriValue : ${4:aws-iotanalytics-datasetvariable.OutputFileUriValue(O)}",
+            "    VariableName : ${5:String(R)}",
+            "    StringValue : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8001,7 +8001,7 @@
             "  Type: AWS::CodePipeline::CustomActionType.ArtifactDetails",
             "  Properties:",
             "    MaximumCount : ${2:Integer(R)}",
-            "    MinimumCount : ${2:Integer(R)}"
+            "    MinimumCount : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8013,10 +8013,10 @@
             "  Type: AWS::Greengrass::LoggerDefinitionVersion.Logger",
             "  Properties:",
             "    Space : ${2:Integer(O)}",
-            "    Type : ${2:String(R)}",
-            "    Level : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    Component : ${2:String(R)}"
+            "    Type : ${3:String(R)}",
+            "    Level : ${4:String(R)}",
+            "    Id : ${5:String(R)}",
+            "    Component : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8039,7 +8039,7 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.GitHubLocation",
             "  Properties:",
             "    CommitId : ${2:String(R)}",
-            "    Repository : ${2:String(R)}"
+            "    Repository : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8051,7 +8051,7 @@
             "  Type: AWS::KinesisAnalytics::Application.CSVMappingParameters",
             "  Properties:",
             "    RecordRowDelimiter : ${2:String(R)}",
-            "    RecordColumnDelimiter : ${2:String(R)}"
+            "    RecordColumnDelimiter : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8074,7 +8074,7 @@
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.RunAs",
             "  Properties:",
             "    Uid : ${2:Integer(O)}",
-            "    Gid : ${2:Integer(O)}"
+            "    Gid : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8097,7 +8097,7 @@
             "  Type: AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle",
             "  Properties:",
             "    S3Bucket : ${2:String(R)}",
-            "    S3Key : ${2:String(R)}"
+            "    S3Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8109,7 +8109,7 @@
             "  Type: AWS::EMR::Step.KeyValue",
             "  Properties:",
             "    Key : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8121,10 +8121,10 @@
             "  Type: AWS::SES::ConfigurationSetEventDestination.EventDestination",
             "  Properties:",
             "    CloudWatchDestination : ${2:aws-ses-configurationseteventdestinationeventdestination.CloudWatchDestination(O)}",
-            "    Enabled : ${2:Boolean(O)}",
-            "    MatchingEventTypes : [ ${2:String(R)} ]",
-            "    Name : ${2:String(O)}",
-            "    KinesisFirehoseDestination : ${2:aws-ses-configurationseteventdestinationeventdestination.KinesisFirehoseDestination(O)}"
+            "    Enabled : ${3:Boolean(O)}",
+            "    MatchingEventTypes : [ ${4:String(R)} ]",
+            "    Name : ${5:String(O)}",
+            "    KinesisFirehoseDestination : ${6:aws-ses-configurationseteventdestinationeventdestination.KinesisFirehoseDestination(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8136,10 +8136,10 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification",
             "  Properties:",
             "    MetricName : ${2:String(R)}",
-            "    Statistic : ${2:String(R)}",
-            "    Dimensions : [ ${2:aws-autoscalingplans-scalingplancustomizedscalingmetricspecification.MetricDimension(O)} ]",
-            "    Unit : ${2:String(O)}",
-            "    Namespace : ${2:String(R)}"
+            "    Statistic : ${3:String(R)}",
+            "    Dimensions : [ ${4:aws-autoscalingplans-scalingplancustomizedscalingmetricspecification.MetricDimension(O)} ]",
+            "    Unit : ${5:String(O)}",
+            "    Namespace : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8162,7 +8162,7 @@
             "  Type: AWS::Route53::HostedZone.HostedZoneTag",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8174,7 +8174,7 @@
             "  Type: AWS::RoboMaker::SimulationApplication.RenderingEngine",
             "  Properties:",
             "    Version : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Name : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8186,8 +8186,8 @@
             "  Type: AWS::OpsWorks::App.EnvironmentVariable",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Secure : ${2:Boolean(O)}",
-            "    Value : ${2:String(R)}"
+            "    Secure : ${3:Boolean(O)}",
+            "    Value : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8199,9 +8199,9 @@
             "  Type: AWS::ApiGateway::Stage.CanarySetting",
             "  Properties:",
             "    DeploymentId : ${2:String(O)}",
-            "    PercentTraffic : ${2:Double(O)}",
-            "    StageVariableOverrides : [ ${2:String(O)} ]",
-            "    UseStageCache : ${2:Boolean(O)}"
+            "    PercentTraffic : ${3:Double(O)}",
+            "    StageVariableOverrides : [ ${4:String(O)} ]",
+            "    UseStageCache : ${5:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8224,13 +8224,13 @@
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig",
             "  Properties:",
             "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
-            "    OnUnauthenticatedRequest : ${2:String(O)}",
-            "    Scope : ${2:String(O)}",
-            "    SessionCookieName : ${2:String(O)}",
-            "    SessionTimeout : ${2:Long(O)}",
-            "    UserPoolArn : ${2:String(R)}",
-            "    UserPoolClientId : ${2:String(R)}",
-            "    UserPoolDomain : ${2:String(R)}"
+            "    OnUnauthenticatedRequest : ${3:String(O)}",
+            "    Scope : ${4:String(O)}",
+            "    SessionCookieName : ${5:String(O)}",
+            "    SessionTimeout : ${6:Long(O)}",
+            "    UserPoolArn : ${7:String(R)}",
+            "    UserPoolClientId : ${8:String(R)}",
+            "    UserPoolDomain : ${9:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8242,8 +8242,8 @@
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig",
             "  Properties:",
             "    ContentType : ${2:String(O)}",
-            "    MessageBody : ${2:String(O)}",
-            "    StatusCode : ${2:String(R)}"
+            "    MessageBody : ${3:String(O)}",
+            "    StatusCode : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8255,8 +8255,8 @@
             "  Type: AWS::S3::Bucket.NotificationConfiguration",
             "  Properties:",
             "    LambdaConfigurations : [ ${2:aws-s3-bucketnotificationconfiguration.LambdaConfiguration(O)} ]",
-            "    QueueConfigurations : [ ${2:aws-s3-bucketnotificationconfiguration.QueueConfiguration(O)} ]",
-            "    TopicConfigurations : [ ${2:aws-s3-bucketnotificationconfiguration.TopicConfiguration(O)} ]"
+            "    QueueConfigurations : [ ${3:aws-s3-bucketnotificationconfiguration.QueueConfiguration(O)} ]",
+            "    TopicConfigurations : [ ${4:aws-s3-bucketnotificationconfiguration.TopicConfiguration(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8268,7 +8268,7 @@
             "  Type: AWS::EMR::InstanceFleetConfig.EbsConfiguration",
             "  Properties:",
             "    EbsBlockDeviceConfigs : [ ${2:aws-emr-instancefleetconfigebsconfiguration.EbsBlockDeviceConfig(O)} ]",
-            "    EbsOptimized : ${2:Boolean(O)}"
+            "    EbsOptimized : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8280,9 +8280,9 @@
             "  Type: AWS::Logs::MetricFilter.MetricTransformation",
             "  Properties:",
             "    DefaultValue : ${2:Double(O)}",
-            "    MetricName : ${2:String(R)}",
-            "    MetricNamespace : ${2:String(R)}",
-            "    MetricValue : ${2:String(R)}"
+            "    MetricName : ${3:String(R)}",
+            "    MetricNamespace : ${4:String(R)}",
+            "    MetricValue : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8294,11 +8294,11 @@
             "  Type: AWS::EC2::SpotFleet.EbsBlockDevice",
             "  Properties:",
             "    DeleteOnTermination : ${2:Boolean(O)}",
-            "    Encrypted : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    SnapshotId : ${2:String(O)}",
-            "    VolumeSize : ${2:Integer(O)}",
-            "    VolumeType : ${2:String(O)}"
+            "    Encrypted : ${3:Boolean(O)}",
+            "    Iops : ${4:Integer(O)}",
+            "    SnapshotId : ${5:String(O)}",
+            "    VolumeSize : ${6:Integer(O)}",
+            "    VolumeType : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8310,7 +8310,7 @@
             "  Type: AWS::CodeBuild::Project.SourceAuth",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Resource : ${2:String(O)}"
+            "    Resource : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8322,7 +8322,7 @@
             "  Type: AWS::Glue::Crawler.Targets",
             "  Properties:",
             "    S3Targets : [ ${2:aws-glue-crawlertargets.S3Target(O)} ]",
-            "    JdbcTargets : [ ${2:aws-glue-crawlertargets.JdbcTarget(O)} ]"
+            "    JdbcTargets : [ ${3:aws-glue-crawlertargets.JdbcTarget(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8334,7 +8334,7 @@
             "  Type: AWS::ECS::Service.PlacementStrategy",
             "  Properties:",
             "    Field : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8357,20 +8357,20 @@
             "  Type: AWS::Route53::RecordSetGroup.RecordSet",
             "  Properties:",
             "    AliasTarget : ${2:aws-route53-recordsetgrouprecordset.AliasTarget(O)}",
-            "    Comment : ${2:String(O)}",
-            "    Failover : ${2:String(O)}",
-            "    GeoLocation : ${2:aws-route53-recordsetgrouprecordset.GeoLocation(O)}",
-            "    HealthCheckId : ${2:String(O)}",
-            "    HostedZoneId : ${2:String(O)}",
-            "    HostedZoneName : ${2:String(O)}",
-            "    MultiValueAnswer : ${2:Boolean(O)}",
-            "    Name : ${2:String(R)}",
-            "    Region : ${2:String(O)}",
-            "    ResourceRecords : [ ${2:String(O)} ]",
-            "    SetIdentifier : ${2:String(O)}",
-            "    TTL : ${2:String(O)}",
-            "    Type : ${2:String(R)}",
-            "    Weight : ${2:Integer(O)}"
+            "    Comment : ${3:String(O)}",
+            "    Failover : ${4:String(O)}",
+            "    GeoLocation : ${5:aws-route53-recordsetgrouprecordset.GeoLocation(O)}",
+            "    HealthCheckId : ${6:String(O)}",
+            "    HostedZoneId : ${7:String(O)}",
+            "    HostedZoneName : ${8:String(O)}",
+            "    MultiValueAnswer : ${9:Boolean(O)}",
+            "    Name : ${10:String(R)}",
+            "    Region : ${11:String(O)}",
+            "    ResourceRecords : [ ${12:String(O)} ]",
+            "    SetIdentifier : ${13:String(O)}",
+            "    TTL : ${14:String(O)}",
+            "    Type : ${15:String(R)}",
+            "    Weight : ${16:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8382,20 +8382,20 @@
             "  Type: AWS::Batch::ComputeEnvironment.ComputeResources",
             "  Properties:",
             "    SpotIamFleetRole : ${2:String(O)}",
-            "    MaxvCpus : ${2:Integer(R)}",
-            "    BidPercentage : ${2:Integer(O)}",
-            "    SecurityGroupIds : [ ${2:String(R)} ]",
-            "    Subnets : [ ${2:String(R)} ]",
-            "    Type : ${2:String(R)}",
-            "    MinvCpus : ${2:Integer(R)}",
-            "    LaunchTemplate : ${2:aws-batch-computeenvironmentcomputeresources.LaunchTemplateSpecification(O)}",
-            "    ImageId : ${2:String(O)}",
-            "    InstanceRole : ${2:String(R)}",
-            "    InstanceTypes : [ ${2:String(R)} ]",
-            "    Ec2KeyPair : ${2:String(O)}",
-            "    PlacementGroup : ${2:String(O)}",
-            "    Tags : ${2:Json(O)}",
-            "    DesiredvCpus : ${2:Integer(O)}"
+            "    MaxvCpus : ${3:Integer(R)}",
+            "    BidPercentage : ${4:Integer(O)}",
+            "    SecurityGroupIds : [ ${5:String(R)} ]",
+            "    Subnets : [ ${6:String(R)} ]",
+            "    Type : ${7:String(R)}",
+            "    MinvCpus : ${8:Integer(R)}",
+            "    LaunchTemplate : ${9:aws-batch-computeenvironmentcomputeresources.LaunchTemplateSpecification(O)}",
+            "    ImageId : ${10:String(O)}",
+            "    InstanceRole : ${11:String(R)}",
+            "    InstanceTypes : [ ${12:String(R)} ]",
+            "    Ec2KeyPair : ${13:String(O)}",
+            "    PlacementGroup : ${14:String(O)}",
+            "    Tags : ${15:Json(O)}",
+            "    DesiredvCpus : ${16:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8407,7 +8407,7 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData",
             "  Properties:",
             "    DestinationPath : ${2:String(R)}",
-            "    SageMakerJobArn : ${2:String(R)}"
+            "    SageMakerJobArn : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8419,12 +8419,12 @@
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.Action",
             "  Properties:",
             "    AuthenticateCognitoConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.AuthenticateCognitoConfig(O)}",
-            "    AuthenticateOidcConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.AuthenticateOidcConfig(O)}",
-            "    FixedResponseConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.FixedResponseConfig(O)}",
-            "    Order : ${2:Integer(O)}",
-            "    RedirectConfig : ${2:aws-elasticloadbalancingv2-listenerruleaction.RedirectConfig(O)}",
-            "    TargetGroupArn : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    AuthenticateOidcConfig : ${3:aws-elasticloadbalancingv2-listenerruleaction.AuthenticateOidcConfig(O)}",
+            "    FixedResponseConfig : ${4:aws-elasticloadbalancingv2-listenerruleaction.FixedResponseConfig(O)}",
+            "    Order : ${5:Integer(O)}",
+            "    RedirectConfig : ${6:aws-elasticloadbalancingv2-listenerruleaction.RedirectConfig(O)}",
+            "    TargetGroupArn : ${7:String(O)}",
+            "    Type : ${8:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8436,7 +8436,7 @@
             "  Type: AWS::EC2::SpotFleet.LoadBalancersConfig",
             "  Properties:",
             "    ClassicLoadBalancersConfig : ${2:aws-ec2-spotfleetloadbalancersconfig.ClassicLoadBalancersConfig(O)}",
-            "    TargetGroupsConfig : ${2:aws-ec2-spotfleetloadbalancersconfig.TargetGroupsConfig(O)}"
+            "    TargetGroupsConfig : ${3:aws-ec2-spotfleetloadbalancersconfig.TargetGroupsConfig(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8448,7 +8448,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.ProcessorParameter",
             "  Properties:",
             "    ParameterName : ${2:String(R)}",
-            "    ParameterValue : ${2:String(R)}"
+            "    ParameterValue : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8460,7 +8460,7 @@
             "  Type: AWS::ApiGateway::ApiKey.StageKey",
             "  Properties:",
             "    RestApiId : ${2:String(O)}",
-            "    StageName : ${2:String(O)}"
+            "    StageName : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8472,7 +8472,7 @@
             "  Type: AWS::S3::Bucket.ServerSideEncryptionByDefault",
             "  Properties:",
             "    KMSMasterKeyID : ${2:String(O)}",
-            "    SSEAlgorithm : ${2:String(R)}"
+            "    SSEAlgorithm : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8484,7 +8484,7 @@
             "  Type: AWS::EMR::Cluster.EbsBlockDeviceConfig",
             "  Properties:",
             "    VolumeSpecification : ${2:aws-emr-clusterebsblockdeviceconfig.VolumeSpecification(R)}",
-            "    VolumesPerInstance : ${2:Integer(O)}"
+            "    VolumesPerInstance : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8507,7 +8507,7 @@
             "  Type: AWS::AppMesh::Mesh.TagRef",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8519,7 +8519,7 @@
             "  Type: AWS::Events::Rule.RunCommandTarget",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Values : [ ${2:String(R)} ]"
+            "    Values : [ ${3:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8531,7 +8531,7 @@
             "  Type: AWS::AppStream::Stack.ApplicationSettings",
             "  Properties:",
             "    SettingsGroup : ${2:String(O)}",
-            "    Enabled : ${2:Boolean(R)}"
+            "    Enabled : ${3:Boolean(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8543,24 +8543,24 @@
             "  Type: AWS::ApiGateway::Deployment.StageDescription",
             "  Properties:",
             "    AccessLogSetting : ${2:aws-apigateway-deploymentstagedescription.AccessLogSetting(O)}",
-            "    CacheClusterEnabled : ${2:Boolean(O)}",
-            "    CacheClusterSize : ${2:String(O)}",
-            "    CacheDataEncrypted : ${2:Boolean(O)}",
-            "    CacheTtlInSeconds : ${2:Integer(O)}",
-            "    CachingEnabled : ${2:Boolean(O)}",
-            "    CanarySetting : ${2:aws-apigateway-deploymentstagedescription.CanarySetting(O)}",
-            "    ClientCertificateId : ${2:String(O)}",
-            "    DataTraceEnabled : ${2:Boolean(O)}",
-            "    Description : ${2:String(O)}",
-            "    DocumentationVersion : ${2:String(O)}",
-            "    LoggingLevel : ${2:String(O)}",
-            "    MethodSettings : [ ${2:aws-apigateway-deploymentstagedescription.MethodSetting(O)} ]",
-            "    MetricsEnabled : ${2:Boolean(O)}",
-            "    Tags : [ ${2:aws-apigateway-deploymentstagedescription.Tag(O)} ]",
-            "    ThrottlingBurstLimit : ${2:Integer(O)}",
-            "    ThrottlingRateLimit : ${2:Double(O)}",
-            "    TracingEnabled : ${2:Boolean(O)}",
-            "    Variables : [ ${2:String(O)} ]"
+            "    CacheClusterEnabled : ${3:Boolean(O)}",
+            "    CacheClusterSize : ${4:String(O)}",
+            "    CacheDataEncrypted : ${5:Boolean(O)}",
+            "    CacheTtlInSeconds : ${6:Integer(O)}",
+            "    CachingEnabled : ${7:Boolean(O)}",
+            "    CanarySetting : ${8:aws-apigateway-deploymentstagedescription.CanarySetting(O)}",
+            "    ClientCertificateId : ${9:String(O)}",
+            "    DataTraceEnabled : ${10:Boolean(O)}",
+            "    Description : ${11:String(O)}",
+            "    DocumentationVersion : ${12:String(O)}",
+            "    LoggingLevel : ${13:String(O)}",
+            "    MethodSettings : [ ${14:aws-apigateway-deploymentstagedescription.MethodSetting(O)} ]",
+            "    MetricsEnabled : ${15:Boolean(O)}",
+            "    Tags : [ ${16:aws-apigateway-deploymentstagedescription.Tag(O)} ]",
+            "    ThrottlingBurstLimit : ${17:Integer(O)}",
+            "    ThrottlingRateLimit : ${18:Double(O)}",
+            "    TracingEnabled : ${19:Boolean(O)}",
+            "    Variables : [ ${20:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8572,8 +8572,8 @@
             "  Type: AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification",
             "  Properties:",
             "    LaunchTemplateId : ${2:String(O)}",
-            "    LaunchTemplateName : ${2:String(O)}",
-            "    Version : ${2:String(R)}"
+            "    LaunchTemplateName : ${3:String(O)}",
+            "    Version : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8585,7 +8585,7 @@
             "  Type: AWS::S3::Bucket.RedirectAllRequestsTo",
             "  Properties:",
             "    HostName : ${2:String(R)}",
-            "    Protocol : ${2:String(O)}"
+            "    Protocol : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8597,7 +8597,7 @@
             "  Type: AWS::WAF::XssMatchSet.XssMatchTuple",
             "  Properties:",
             "    FieldToMatch : ${2:aws-waf-xssmatchsetxssmatchtuple.FieldToMatch(R)}",
-            "    TextTransformation : ${2:String(R)}"
+            "    TextTransformation : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8609,8 +8609,8 @@
             "  Type: AWS::IoTAnalytics::Pipeline.SelectAttributes",
             "  Properties:",
             "    Next : ${2:String(O)}",
-            "    Attributes : [ ${2:String(O)} ]",
-            "    Name : ${2:String(O)}"
+            "    Attributes : [ ${3:String(O)} ]",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8633,13 +8633,13 @@
             "  Type: AWS::CodeBuild::Project.Environment",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    EnvironmentVariables : [ ${2:aws-codebuild-projectenvironment.EnvironmentVariable(O)} ]",
-            "    PrivilegedMode : ${2:Boolean(O)}",
-            "    ImagePullCredentialsType : ${2:String(O)}",
-            "    Image : ${2:String(R)}",
-            "    RegistryCredential : ${2:aws-codebuild-projectenvironment.RegistryCredential(O)}",
-            "    ComputeType : ${2:String(R)}",
-            "    Certificate : ${2:String(O)}"
+            "    EnvironmentVariables : [ ${3:aws-codebuild-projectenvironment.EnvironmentVariable(O)} ]",
+            "    PrivilegedMode : ${4:Boolean(O)}",
+            "    ImagePullCredentialsType : ${5:String(O)}",
+            "    Image : ${6:String(R)}",
+            "    RegistryCredential : ${7:aws-codebuild-projectenvironment.RegistryCredential(O)}",
+            "    ComputeType : ${8:String(R)}",
+            "    Certificate : ${9:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8662,7 +8662,7 @@
             "  Type: AWS::AppStream::Fleet.DomainJoinInfo",
             "  Properties:",
             "    OrganizationalUnitDistinguishedName : ${2:String(O)}",
-            "    DirectoryName : ${2:String(O)}"
+            "    DirectoryName : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8674,9 +8674,9 @@
             "  Type: AWS::SES::Template.Template",
             "  Properties:",
             "    HtmlPart : ${2:String(O)}",
-            "    TextPart : ${2:String(O)}",
-            "    TemplateName : ${2:String(O)}",
-            "    SubjectPart : ${2:String(O)}"
+            "    TextPart : ${3:String(O)}",
+            "    TemplateName : ${4:String(O)}",
+            "    SubjectPart : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8688,7 +8688,7 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy",
             "  Properties:",
             "    CookieExpirationPeriod : ${2:String(O)}",
-            "    PolicyName : ${2:String(O)}"
+            "    PolicyName : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8700,7 +8700,7 @@
             "  Type: AWS::EC2::Instance.Volume",
             "  Properties:",
             "    Device : ${2:String(R)}",
-            "    VolumeId : ${2:String(R)}"
+            "    VolumeId : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8712,7 +8712,7 @@
             "  Type: AWS::EC2::NetworkAclEntry.PortRange",
             "  Properties:",
             "    From : ${2:Integer(O)}",
-            "    To : ${2:Integer(O)}"
+            "    To : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8724,11 +8724,11 @@
             "  Type: AWS::Glue::Connection.ConnectionInput",
             "  Properties:",
             "    Description : ${2:String(O)}",
-            "    ConnectionType : ${2:String(R)}",
-            "    MatchCriteria : [ ${2:String(O)} ]",
-            "    PhysicalConnectionRequirements : ${2:aws-glue-connectionconnectioninput.PhysicalConnectionRequirements(O)}",
-            "    ConnectionProperties : ${2:Json(R)}",
-            "    Name : ${2:String(O)}"
+            "    ConnectionType : ${3:String(R)}",
+            "    MatchCriteria : [ ${4:String(O)} ]",
+            "    PhysicalConnectionRequirements : ${5:aws-glue-connectionconnectioninput.PhysicalConnectionRequirements(O)}",
+            "    ConnectionProperties : ${6:Json(R)}",
+            "    Name : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8740,11 +8740,11 @@
             "  Type: AWS::CloudFront::Distribution.Origin",
             "  Properties:",
             "    OriginCustomHeaders : [ ${2:aws-cloudfront-distributionorigin.OriginCustomHeader(O)} ]",
-            "    DomainName : ${2:String(R)}",
-            "    S3OriginConfig : ${2:aws-cloudfront-distributionorigin.S3OriginConfig(O)}",
-            "    OriginPath : ${2:String(O)}",
-            "    Id : ${2:String(R)}",
-            "    CustomOriginConfig : ${2:aws-cloudfront-distributionorigin.CustomOriginConfig(O)}"
+            "    DomainName : ${3:String(R)}",
+            "    S3OriginConfig : ${4:aws-cloudfront-distributionorigin.S3OriginConfig(O)}",
+            "    OriginPath : ${5:String(O)}",
+            "    Id : ${6:String(R)}",
+            "    CustomOriginConfig : ${7:aws-cloudfront-distributionorigin.CustomOriginConfig(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8767,7 +8767,7 @@
             "  Type: AWS::Events::Rule.InputTransformer",
             "  Properties:",
             "    InputPathsMap : [ ${2:String(O)} ]",
-            "    InputTemplate : ${2:String(R)}"
+            "    InputTemplate : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8779,8 +8779,8 @@
             "  Type: AWS::IoT::TopicRule.FirehoseAction",
             "  Properties:",
             "    DeliveryStreamName : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}",
-            "    Separator : ${2:String(O)}"
+            "    RoleArn : ${3:String(R)}",
+            "    Separator : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8792,8 +8792,8 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.LoggingInfo",
             "  Properties:",
             "    S3Bucket : ${2:String(R)}",
-            "    Region : ${2:String(R)}",
-            "    S3Prefix : ${2:String(O)}"
+            "    Region : ${3:String(R)}",
+            "    S3Prefix : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8805,12 +8805,12 @@
             "  Type: AWS::S3::Bucket.InventoryConfiguration",
             "  Properties:",
             "    Destination : ${2:aws-s3-bucketinventoryconfiguration.Destination(R)}",
-            "    Enabled : ${2:Boolean(R)}",
-            "    Id : ${2:String(R)}",
-            "    IncludedObjectVersions : ${2:String(R)}",
-            "    OptionalFields : [ ${2:String(O)} ]",
-            "    Prefix : ${2:String(O)}",
-            "    ScheduleFrequency : ${2:String(R)}"
+            "    Enabled : ${3:Boolean(R)}",
+            "    Id : ${4:String(R)}",
+            "    IncludedObjectVersions : ${5:String(R)}",
+            "    OptionalFields : [ ${6:String(O)} ]",
+            "    Prefix : ${7:String(O)}",
+            "    ScheduleFrequency : ${8:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8822,10 +8822,10 @@
             "  Type: AWS::WorkSpaces::Workspace.WorkspaceProperties",
             "  Properties:",
             "    ComputeTypeName : ${2:String(O)}",
-            "    RootVolumeSizeGib : ${2:Integer(O)}",
-            "    RunningMode : ${2:String(O)}",
-            "    RunningModeAutoStopTimeoutInMinutes : ${2:Integer(O)}",
-            "    UserVolumeSizeGib : ${2:Integer(O)}"
+            "    RootVolumeSizeGib : ${3:Integer(O)}",
+            "    RunningMode : ${4:String(O)}",
+            "    RunningModeAutoStopTimeoutInMinutes : ${5:Integer(O)}",
+            "    UserVolumeSizeGib : ${6:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8837,9 +8837,9 @@
             "  Type: AWS::Greengrass::FunctionDefinition.Environment",
             "  Properties:",
             "    Variables : ${2:Json(O)}",
-            "    Execution : ${2:aws-greengrass-functiondefinitionenvironment.Execution(O)}",
-            "    ResourceAccessPolicies : [ ${2:aws-greengrass-functiondefinitionenvironment.ResourceAccessPolicy(O)} ]",
-            "    AccessSysfs : ${2:Boolean(O)}"
+            "    Execution : ${3:aws-greengrass-functiondefinitionenvironment.Execution(O)}",
+            "    ResourceAccessPolicies : [ ${4:aws-greengrass-functiondefinitionenvironment.ResourceAccessPolicy(O)} ]",
+            "    AccessSysfs : ${5:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8851,7 +8851,7 @@
             "  Type: AWS::ECS::TaskDefinition.VolumeFrom",
             "  Properties:",
             "    ReadOnly : ${2:Boolean(O)}",
-            "    SourceContainer : ${2:String(O)}"
+            "    SourceContainer : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8863,7 +8863,7 @@
             "  Type: AWS::IoTAnalytics::Dataset.DeltaTime",
             "  Properties:",
             "    TimeExpression : ${2:String(R)}",
-            "    OffsetSeconds : ${2:Integer(R)}"
+            "    OffsetSeconds : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8875,16 +8875,16 @@
             "  Type: AWS::DMS::Endpoint.MongoDbSettings",
             "  Properties:",
             "    AuthSource : ${2:String(O)}",
-            "    AuthMechanism : ${2:String(O)}",
-            "    Username : ${2:String(O)}",
-            "    DocsToInvestigate : ${2:String(O)}",
-            "    ServerName : ${2:String(O)}",
-            "    Port : ${2:Integer(O)}",
-            "    ExtractDocId : ${2:String(O)}",
-            "    DatabaseName : ${2:String(O)}",
-            "    AuthType : ${2:String(O)}",
-            "    Password : ${2:String(O)}",
-            "    NestingLevel : ${2:String(O)}"
+            "    AuthMechanism : ${3:String(O)}",
+            "    Username : ${4:String(O)}",
+            "    DocsToInvestigate : ${5:String(O)}",
+            "    ServerName : ${6:String(O)}",
+            "    Port : ${7:Integer(O)}",
+            "    ExtractDocId : ${8:String(O)}",
+            "    DatabaseName : ${9:String(O)}",
+            "    AuthType : ${10:String(O)}",
+            "    Password : ${11:String(O)}",
+            "    NestingLevel : ${12:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8896,7 +8896,7 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.Target",
             "  Properties:",
             "    Values : [ ${2:String(O)} ]",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8908,7 +8908,7 @@
             "  Type: AWS::AppStream::DirectoryConfig.ServiceAccountCredentials",
             "  Properties:",
             "    AccountName : ${2:String(R)}",
-            "    AccountPassword : ${2:String(R)}"
+            "    AccountPassword : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8920,7 +8920,7 @@
             "  Type: AWS::SNS::Topic.Subscription",
             "  Properties:",
             "    Endpoint : ${2:String(R)}",
-            "    Protocol : ${2:String(R)}"
+            "    Protocol : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8932,7 +8932,7 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.PropertyGroup",
             "  Properties:",
             "    PropertyMap : ${2:Json(O)}",
-            "    PropertyGroupId : ${2:String(O)}"
+            "    PropertyGroupId : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8955,7 +8955,7 @@
             "  Type: AWS::S3::Bucket.ReplicationConfiguration",
             "  Properties:",
             "    Role : ${2:String(R)}",
-            "    Rules : [ ${2:aws-s3-bucketreplicationconfiguration.ReplicationRule(R)} ]"
+            "    Rules : [ ${3:aws-s3-bucketreplicationconfiguration.ReplicationRule(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8967,11 +8967,11 @@
             "  Type: AWS::KinesisAnalytics::Application.Input",
             "  Properties:",
             "    NamePrefix : ${2:String(R)}",
-            "    InputSchema : ${2:aws-kinesisanalytics-applicationinput.InputSchema(R)}",
-            "    KinesisStreamsInput : ${2:aws-kinesisanalytics-applicationinput.KinesisStreamsInput(O)}",
-            "    KinesisFirehoseInput : ${2:aws-kinesisanalytics-applicationinput.KinesisFirehoseInput(O)}",
-            "    InputProcessingConfiguration : ${2:aws-kinesisanalytics-applicationinput.InputProcessingConfiguration(O)}",
-            "    InputParallelism : ${2:aws-kinesisanalytics-applicationinput.InputParallelism(O)}"
+            "    InputSchema : ${3:aws-kinesisanalytics-applicationinput.InputSchema(R)}",
+            "    KinesisStreamsInput : ${4:aws-kinesisanalytics-applicationinput.KinesisStreamsInput(O)}",
+            "    KinesisFirehoseInput : ${5:aws-kinesisanalytics-applicationinput.KinesisFirehoseInput(O)}",
+            "    InputProcessingConfiguration : ${6:aws-kinesisanalytics-applicationinput.InputProcessingConfiguration(O)}",
+            "    InputParallelism : ${7:aws-kinesisanalytics-applicationinput.InputParallelism(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8983,8 +8983,8 @@
             "  Type: AWS::KinesisAnalytics::Application.InputSchema",
             "  Properties:",
             "    RecordEncoding : ${2:String(O)}",
-            "    RecordColumns : [ ${2:aws-kinesisanalytics-applicationinputschema.RecordColumn(R)} ]",
-            "    RecordFormat : ${2:aws-kinesisanalytics-applicationinputschema.RecordFormat(R)}"
+            "    RecordColumns : [ ${3:aws-kinesisanalytics-applicationinputschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${4:aws-kinesisanalytics-applicationinputschema.RecordFormat(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -8996,7 +8996,7 @@
             "  Type: AWS::AppSync::DataSource.AwsIamConfig",
             "  Properties:",
             "    SigningRegion : ${2:String(O)}",
-            "    SigningServiceName : ${2:String(O)}"
+            "    SigningServiceName : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9019,7 +9019,7 @@
             "  Type: AWS::RDS::DBInstance.ProcessorFeature",
             "  Properties:",
             "    Name : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9042,7 +9042,7 @@
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification",
             "  Properties:",
             "    PredefinedMetricType : ${2:String(R)}",
-            "    ResourceLabel : ${2:String(O)}"
+            "    ResourceLabel : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9054,7 +9054,7 @@
             "  Type: AWS::ECS::TaskDefinition.HostEntry",
             "  Properties:",
             "    Hostname : ${2:String(R)}",
-            "    IpAddress : ${2:String(R)}"
+            "    IpAddress : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9066,7 +9066,7 @@
             "  Type: AWS::Cognito::UserPool.EmailConfiguration",
             "  Properties:",
             "    ReplyToEmailAddress : ${2:String(O)}",
-            "    SourceArn : ${2:String(O)}"
+            "    SourceArn : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9078,8 +9078,8 @@
             "  Type: AWS::S3::Bucket.QueueConfiguration",
             "  Properties:",
             "    Event : ${2:String(R)}",
-            "    Filter : ${2:aws-s3-bucketqueueconfiguration.NotificationFilter(O)}",
-            "    Queue : ${2:String(R)}"
+            "    Filter : ${3:aws-s3-bucketqueueconfiguration.NotificationFilter(O)}",
+            "    Queue : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9091,7 +9091,7 @@
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingAction",
             "  Properties:",
             "    Market : ${2:String(O)}",
-            "    SimpleScalingPolicyConfiguration : ${2:aws-emr-instancegroupconfigscalingaction.SimpleScalingPolicyConfiguration(R)}"
+            "    SimpleScalingPolicyConfiguration : ${3:aws-emr-instancegroupconfigscalingaction.SimpleScalingPolicyConfiguration(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9103,11 +9103,11 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.Listeners",
             "  Properties:",
             "    InstancePort : ${2:String(R)}",
-            "    InstanceProtocol : ${2:String(O)}",
-            "    LoadBalancerPort : ${2:String(R)}",
-            "    PolicyNames : [ ${2:String(O)} ]",
-            "    Protocol : ${2:String(R)}",
-            "    SSLCertificateId : ${2:String(O)}"
+            "    InstanceProtocol : ${3:String(O)}",
+            "    LoadBalancerPort : ${4:String(R)}",
+            "    PolicyNames : [ ${5:String(O)} ]",
+            "    Protocol : ${6:String(R)}",
+            "    SSLCertificateId : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9119,7 +9119,7 @@
             "  Type: AWS::CodePipeline::Webhook.WebhookFilterRule",
             "  Properties:",
             "    JsonPath : ${2:String(R)}",
-            "    MatchEquals : ${2:String(O)}"
+            "    MatchEquals : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9142,8 +9142,8 @@
             "  Type: AWS::AmazonMQ::Broker.MaintenanceWindow",
             "  Properties:",
             "    DayOfWeek : ${2:String(R)}",
-            "    TimeOfDay : ${2:String(R)}",
-            "    TimeZone : ${2:String(R)}"
+            "    TimeOfDay : ${3:String(R)}",
+            "    TimeZone : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9155,8 +9155,8 @@
             "  Type: AWS::Glue::Connection.PhysicalConnectionRequirements",
             "  Properties:",
             "    AvailabilityZone : ${2:String(O)}",
-            "    SecurityGroupIdList : [ ${2:String(O)} ]",
-            "    SubnetId : ${2:String(O)}"
+            "    SecurityGroupIdList : [ ${3:String(O)} ]",
+            "    SubnetId : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9168,7 +9168,7 @@
             "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute",
             "  Properties:",
             "    Key : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9213,7 +9213,7 @@
             "  Type: AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint",
             "  Properties:",
             "    Expression : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9225,7 +9225,7 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat",
             "  Properties:",
             "    MappingParameters : ${2:aws-kinesisanalytics-applicationreferencedatasourcerecordformat.MappingParameters(O)}",
-            "    RecordFormatType : ${2:String(R)}"
+            "    RecordFormatType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9237,8 +9237,8 @@
             "  Type: AWS::Glue::Crawler.JdbcTarget",
             "  Properties:",
             "    ConnectionName : ${2:String(O)}",
-            "    Path : ${2:String(O)}",
-            "    Exclusions : [ ${2:String(O)} ]"
+            "    Path : ${3:String(O)}",
+            "    Exclusions : [ ${4:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9250,7 +9250,7 @@
             "  Type: AWS::EC2::NetworkInterface.PrivateIpAddressSpecification",
             "  Properties:",
             "    Primary : ${2:Boolean(R)}",
-            "    PrivateIpAddress : ${2:String(R)}"
+            "    PrivateIpAddress : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9284,7 +9284,7 @@
             "  Type: AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion",
             "  Properties:",
             "    DefaultConfig : ${2:aws-greengrass-functiondefinitionfunctiondefinitionversion.DefaultConfig(O)}",
-            "    Functions : [ ${2:aws-greengrass-functiondefinitionfunctiondefinitionversion.Function(R)} ]"
+            "    Functions : [ ${3:aws-greengrass-functiondefinitionfunctiondefinitionversion.Function(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9296,7 +9296,7 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.MappingParameters",
             "  Properties:",
             "    JSONMappingParameters : ${2:aws-kinesisanalyticsv2-applicationmappingparameters.JSONMappingParameters(O)}",
-            "    CSVMappingParameters : ${2:aws-kinesisanalyticsv2-applicationmappingparameters.CSVMappingParameters(O)}"
+            "    CSVMappingParameters : ${3:aws-kinesisanalyticsv2-applicationmappingparameters.CSVMappingParameters(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9308,7 +9308,7 @@
             "  Type: AWS::ECS::Service.DeploymentConfiguration",
             "  Properties:",
             "    MaximumPercent : ${2:Integer(O)}",
-            "    MinimumHealthyPercent : ${2:Integer(O)}"
+            "    MinimumHealthyPercent : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9320,8 +9320,8 @@
             "  Type: AWS::Batch::JobDefinition.MountPoints",
             "  Properties:",
             "    ReadOnly : ${2:Boolean(O)}",
-            "    SourceVolume : ${2:String(O)}",
-            "    ContainerPath : ${2:String(O)}"
+            "    SourceVolume : ${3:String(O)}",
+            "    ContainerPath : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9333,7 +9333,7 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.DeploymentStyle",
             "  Properties:",
             "    DeploymentOption : ${2:String(O)}",
-            "    DeploymentType : ${2:String(O)}"
+            "    DeploymentType : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9345,8 +9345,8 @@
             "  Type: AWS::Cognito::UserPool.AdminCreateUserConfig",
             "  Properties:",
             "    InviteMessageTemplate : ${2:aws-cognito-userpooladmincreateuserconfig.InviteMessageTemplate(O)}",
-            "    UnusedAccountValidityDays : ${2:Double(O)}",
-            "    AllowAdminCreateUserOnly : ${2:Boolean(O)}"
+            "    UnusedAccountValidityDays : ${3:Double(O)}",
+            "    AllowAdminCreateUserOnly : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9358,11 +9358,11 @@
             "  Type: AWS::EC2::Instance.Ebs",
             "  Properties:",
             "    DeleteOnTermination : ${2:Boolean(O)}",
-            "    Encrypted : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    SnapshotId : ${2:String(O)}",
-            "    VolumeSize : ${2:Integer(O)}",
-            "    VolumeType : ${2:String(O)}"
+            "    Encrypted : ${3:Boolean(O)}",
+            "    Iops : ${4:Integer(O)}",
+            "    SnapshotId : ${5:String(O)}",
+            "    VolumeSize : ${6:Integer(O)}",
+            "    VolumeType : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9374,8 +9374,8 @@
             "  Type: AWS::ApiGateway::Deployment.CanarySetting",
             "  Properties:",
             "    PercentTraffic : ${2:Double(O)}",
-            "    StageVariableOverrides : [ ${2:String(O)} ]",
-            "    UseStageCache : ${2:Boolean(O)}"
+            "    StageVariableOverrides : [ ${3:String(O)} ]",
+            "    UseStageCache : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9387,12 +9387,12 @@
             "  Type: AWS::Cognito::UserPool.SchemaAttribute",
             "  Properties:",
             "    DeveloperOnlyAttribute : ${2:Boolean(O)}",
-            "    Mutable : ${2:Boolean(O)}",
-            "    AttributeDataType : ${2:String(O)}",
-            "    StringAttributeConstraints : ${2:aws-cognito-userpoolschemaattribute.StringAttributeConstraints(O)}",
-            "    Required : ${2:Boolean(O)}",
-            "    NumberAttributeConstraints : ${2:aws-cognito-userpoolschemaattribute.NumberAttributeConstraints(O)}",
-            "    Name : ${2:String(O)}"
+            "    Mutable : ${3:Boolean(O)}",
+            "    AttributeDataType : ${4:String(O)}",
+            "    StringAttributeConstraints : ${5:aws-cognito-userpoolschemaattribute.StringAttributeConstraints(O)}",
+            "    Required : ${6:Boolean(O)}",
+            "    NumberAttributeConstraints : ${7:aws-cognito-userpoolschemaattribute.NumberAttributeConstraints(O)}",
+            "    Name : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9415,10 +9415,10 @@
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification",
             "  Properties:",
             "    Dimensions : [ ${2:aws-applicationautoscaling-scalingpolicycustomizedmetricspecification.MetricDimension(O)} ]",
-            "    MetricName : ${2:String(R)}",
-            "    Namespace : ${2:String(R)}",
-            "    Statistic : ${2:String(R)}",
-            "    Unit : ${2:String(O)}"
+            "    MetricName : ${3:String(R)}",
+            "    Namespace : ${4:String(R)}",
+            "    Statistic : ${5:String(R)}",
+            "    Unit : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9430,7 +9430,7 @@
             "  Type: AWS::SageMaker::Model.VpcConfig",
             "  Properties:",
             "    Subnets : [ ${2:String(R)} ]",
-            "    SecurityGroupIds : [ ${2:String(R)} ]"
+            "    SecurityGroupIds : [ ${3:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9442,7 +9442,7 @@
             "  Type: AWS::EC2::LaunchTemplate.TagSpecification",
             "  Properties:",
             "    ResourceType : ${2:String(O)}",
-            "    Tags : [ ${2:aws-ec2-launchtemplatetagspecification.Tag(O)} ]"
+            "    Tags : [ ${3:aws-ec2-launchtemplatetagspecification.Tag(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9454,9 +9454,9 @@
             "  Type: AWS::OpsWorks::Instance.BlockDeviceMapping",
             "  Properties:",
             "    DeviceName : ${2:String(O)}",
-            "    Ebs : ${2:aws-opsworks-instanceblockdevicemapping.EbsBlockDevice(O)}",
-            "    NoDevice : ${2:String(O)}",
-            "    VirtualName : ${2:String(O)}"
+            "    Ebs : ${3:aws-opsworks-instanceblockdevicemapping.EbsBlockDevice(O)}",
+            "    NoDevice : ${4:String(O)}",
+            "    VirtualName : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9468,7 +9468,7 @@
             "  Type: AWS::EC2::LaunchTemplate.IamInstanceProfile",
             "  Properties:",
             "    Arn : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9480,7 +9480,7 @@
             "  Type: AWS::Cognito::UserPool.NumberAttributeConstraints",
             "  Properties:",
             "    MinValue : ${2:String(O)}",
-            "    MaxValue : ${2:String(O)}"
+            "    MaxValue : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9492,9 +9492,9 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration",
             "  Properties:",
             "    ConfigurationType : ${2:String(R)}",
-            "    CheckpointInterval : ${2:Integer(O)}",
-            "    MinPauseBetweenCheckpoints : ${2:Integer(O)}",
-            "    CheckpointingEnabled : ${2:Boolean(O)}"
+            "    CheckpointInterval : ${3:Integer(O)}",
+            "    MinPauseBetweenCheckpoints : ${4:Integer(O)}",
+            "    CheckpointingEnabled : ${5:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9506,7 +9506,7 @@
             "  Type: AWS::AppMesh::Route.RouteSpec",
             "  Properties:",
             "    HttpRoute : ${2:aws-appmesh-routeroutespec.HttpRoute(O)}",
-            "    TcpRoute : ${2:aws-appmesh-routeroutespec.TcpRoute(O)}"
+            "    TcpRoute : ${3:aws-appmesh-routeroutespec.TcpRoute(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9518,7 +9518,7 @@
             "  Type: AWS::AmazonMQ::Broker.LogList",
             "  Properties:",
             "    Audit : ${2:Boolean(O)}",
-            "    General : ${2:Boolean(O)}"
+            "    General : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9530,7 +9530,7 @@
             "  Type: AWS::AmazonMQ::Broker.TagsEntry",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9542,10 +9542,10 @@
             "  Type: AWS::OpsWorks::Instance.EbsBlockDevice",
             "  Properties:",
             "    DeleteOnTermination : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    SnapshotId : ${2:String(O)}",
-            "    VolumeSize : ${2:Integer(O)}",
-            "    VolumeType : ${2:String(O)}"
+            "    Iops : ${3:Integer(O)}",
+            "    SnapshotId : ${4:String(O)}",
+            "    VolumeSize : ${5:Integer(O)}",
+            "    VolumeType : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9557,8 +9557,8 @@
             "  Type: AWS::DataPipeline::Pipeline.PipelineObject",
             "  Properties:",
             "    Fields : [ ${2:aws-datapipeline-pipelinepipelineobject.Field(R)} ]",
-            "    Id : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Id : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9570,10 +9570,10 @@
             "  Type: AWS::ApiGateway::DocumentationPart.Location",
             "  Properties:",
             "    Method : ${2:String(O)}",
-            "    Name : ${2:String(O)}",
-            "    Path : ${2:String(O)}",
-            "    StatusCode : ${2:String(O)}",
-            "    Type : ${2:String(O)}"
+            "    Name : ${3:String(O)}",
+            "    Path : ${4:String(O)}",
+            "    StatusCode : ${5:String(O)}",
+            "    Type : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9595,8 +9595,8 @@
             "  Type: AWS::AutoScaling::ScalingPolicy.StepAdjustment",
             "  Properties:",
             "    MetricIntervalLowerBound : ${2:Double(O)}",
-            "    MetricIntervalUpperBound : ${2:Double(O)}",
-            "    ScalingAdjustment : ${2:Integer(R)}"
+            "    MetricIntervalUpperBound : ${3:Double(O)}",
+            "    ScalingAdjustment : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9608,7 +9608,7 @@
             "  Type: AWS::IAM::Role.Policy",
             "  Properties:",
             "    PolicyDocument : ${2:Json(R)}",
-            "    PolicyName : ${2:String(R)}"
+            "    PolicyName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9631,7 +9631,7 @@
             "  Type: AWS::Batch::JobDefinition.Environment",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9643,14 +9643,14 @@
             "  Type: AWS::EMR::Cluster.CloudWatchAlarmDefinition",
             "  Properties:",
             "    ComparisonOperator : ${2:String(R)}",
-            "    Dimensions : [ ${2:aws-emr-clustercloudwatchalarmdefinition.MetricDimension(O)} ]",
-            "    EvaluationPeriods : ${2:Integer(O)}",
-            "    MetricName : ${2:String(R)}",
-            "    Namespace : ${2:String(O)}",
-            "    Period : ${2:Integer(R)}",
-            "    Statistic : ${2:String(O)}",
-            "    Threshold : ${2:Double(R)}",
-            "    Unit : ${2:String(O)}"
+            "    Dimensions : [ ${3:aws-emr-clustercloudwatchalarmdefinition.MetricDimension(O)} ]",
+            "    EvaluationPeriods : ${4:Integer(O)}",
+            "    MetricName : ${5:String(R)}",
+            "    Namespace : ${6:String(O)}",
+            "    Period : ${7:Integer(R)}",
+            "    Statistic : ${8:String(O)}",
+            "    Threshold : ${9:Double(R)}",
+            "    Unit : ${10:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9673,7 +9673,7 @@
             "  Type: AWS::OpsWorks::Stack.StackConfigurationManager",
             "  Properties:",
             "    Name : ${2:String(O)}",
-            "    Version : ${2:String(O)}"
+            "    Version : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9685,7 +9685,7 @@
             "  Type: AWS::CloudFront::StreamingDistribution.S3Origin",
             "  Properties:",
             "    DomainName : ${2:String(R)}",
-            "    OriginAccessIdentity : ${2:String(R)}"
+            "    OriginAccessIdentity : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9697,8 +9697,8 @@
             "  Type: AWS::CodeBuild::Project.VpcConfig",
             "  Properties:",
             "    Subnets : [ ${2:String(O)} ]",
-            "    VpcId : ${2:String(O)}",
-            "    SecurityGroupIds : [ ${2:String(O)} ]"
+            "    VpcId : ${3:String(O)}",
+            "    SecurityGroupIds : [ ${4:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9710,10 +9710,10 @@
             "  Type: AWS::IoT::TopicRule.ElasticsearchAction",
             "  Properties:",
             "    Endpoint : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    Index : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}",
-            "    Type : ${2:String(R)}"
+            "    Id : ${3:String(R)}",
+            "    Index : ${4:String(R)}",
+            "    RoleArn : ${5:String(R)}",
+            "    Type : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9725,7 +9725,7 @@
             "  Type: AWS::Cognito::UserPool.SmsConfiguration",
             "  Properties:",
             "    ExternalId : ${2:String(O)}",
-            "    SnsCallerArn : ${2:String(O)}"
+            "    SnsCallerArn : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9737,7 +9737,7 @@
             "  Type: AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig",
             "  Properties:",
             "    MaxAgeRule : ${2:aws-elasticbeanstalk-applicationapplicationversionlifecycleconfig.MaxAgeRule(O)}",
-            "    MaxCountRule : ${2:aws-elasticbeanstalk-applicationapplicationversionlifecycleconfig.MaxCountRule(O)}"
+            "    MaxCountRule : ${3:aws-elasticbeanstalk-applicationapplicationversionlifecycleconfig.MaxCountRule(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9749,7 +9749,7 @@
             "  Type: AWS::IoTAnalytics::Dataset.Trigger",
             "  Properties:",
             "    Schedule : ${2:aws-iotanalytics-datasettrigger.Schedule(O)}",
-            "    TriggeringDataset : ${2:aws-iotanalytics-datasettrigger.TriggeringDataset(O)}"
+            "    TriggeringDataset : ${3:aws-iotanalytics-datasettrigger.TriggeringDataset(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9772,14 +9772,14 @@
             "  Type: AWS::IoT::TopicRule.DynamoDBAction",
             "  Properties:",
             "    HashKeyField : ${2:String(R)}",
-            "    HashKeyType : ${2:String(O)}",
-            "    HashKeyValue : ${2:String(R)}",
-            "    PayloadField : ${2:String(O)}",
-            "    RangeKeyField : ${2:String(O)}",
-            "    RangeKeyType : ${2:String(O)}",
-            "    RangeKeyValue : ${2:String(O)}",
-            "    RoleArn : ${2:String(R)}",
-            "    TableName : ${2:String(R)}"
+            "    HashKeyType : ${3:String(O)}",
+            "    HashKeyValue : ${4:String(R)}",
+            "    PayloadField : ${5:String(O)}",
+            "    RangeKeyField : ${6:String(O)}",
+            "    RangeKeyType : ${7:String(O)}",
+            "    RangeKeyValue : ${8:String(O)}",
+            "    RoleArn : ${9:String(R)}",
+            "    TableName : ${10:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9791,7 +9791,7 @@
             "  Type: AWS::IoT1Click::Project.DeviceTemplate",
             "  Properties:",
             "    DeviceType : ${2:String(O)}",
-            "    CallbackOverrides : ${2:Json(O)}"
+            "    CallbackOverrides : ${3:Json(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9803,7 +9803,7 @@
             "  Type: AWS::Greengrass::FunctionDefinition.RunAs",
             "  Properties:",
             "    Uid : ${2:Integer(O)}",
-            "    Gid : ${2:Integer(O)}"
+            "    Gid : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9815,8 +9815,8 @@
             "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription",
             "  Properties:",
             "    AvailabilityZone : ${2:String(O)}",
-            "    Id : ${2:String(R)}",
-            "    Port : ${2:Integer(O)}"
+            "    Id : ${3:String(R)}",
+            "    Port : ${4:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9828,7 +9828,7 @@
             "  Type: AWS::ECS::Service.PlacementConstraint",
             "  Properties:",
             "    Expression : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9840,7 +9840,7 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.TagFilter",
             "  Properties:",
             "    Values : [ ${2:String(O)} ]",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9863,9 +9863,9 @@
             "  Type: AWS::WAFRegional::SizeConstraintSet.SizeConstraint",
             "  Properties:",
             "    ComparisonOperator : ${2:String(R)}",
-            "    Size : ${2:Integer(R)}",
-            "    TextTransformation : ${2:String(R)}",
-            "    FieldToMatch : ${2:aws-wafregional-sizeconstraintsetsizeconstraint.FieldToMatch(R)}"
+            "    Size : ${3:Integer(R)}",
+            "    TextTransformation : ${4:String(R)}",
+            "    FieldToMatch : ${5:aws-wafregional-sizeconstraintsetsizeconstraint.FieldToMatch(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9877,8 +9877,8 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource",
             "  Properties:",
             "    ReferenceSchema : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferencedatasource.ReferenceSchema(R)}",
-            "    TableName : ${2:String(O)}",
-            "    S3ReferenceDataSource : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferencedatasource.S3ReferenceDataSource(O)}"
+            "    TableName : ${3:String(O)}",
+            "    S3ReferenceDataSource : ${4:aws-kinesisanalyticsv2-applicationreferencedatasourcereferencedatasource.S3ReferenceDataSource(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9890,7 +9890,7 @@
             "  Type: AWS::ECR::Repository.LifecyclePolicy",
             "  Properties:",
             "    LifecyclePolicyText : ${2:String(O)}",
-            "    RegistryId : ${2:String(O)}"
+            "    RegistryId : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9913,9 +9913,9 @@
             "  Type: AWS::Greengrass::DeviceDefinitionVersion.Device",
             "  Properties:",
             "    SyncShadow : ${2:Boolean(O)}",
-            "    ThingArn : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    CertificateArn : ${2:String(R)}"
+            "    ThingArn : ${3:String(R)}",
+            "    Id : ${4:String(R)}",
+            "    CertificateArn : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9927,7 +9927,7 @@
             "  Type: AWS::EC2::EC2Fleet.TagRequest",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(O)}"
+            "    Key : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9939,8 +9939,8 @@
             "  Type: AWS::ECS::TaskDefinition.Volume",
             "  Properties:",
             "    DockerVolumeConfiguration : ${2:aws-ecs-taskdefinitionvolume.DockerVolumeConfiguration(O)}",
-            "    Host : ${2:aws-ecs-taskdefinitionvolume.HostVolumeProperties(O)}",
-            "    Name : ${2:String(O)}"
+            "    Host : ${3:aws-ecs-taskdefinitionvolume.HostVolumeProperties(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9974,7 +9974,7 @@
             "  Type: AWS::SSM::Association.S3OutputLocation",
             "  Properties:",
             "    OutputS3BucketName : ${2:String(O)}",
-            "    OutputS3KeyPrefix : ${2:String(O)}"
+            "    OutputS3KeyPrefix : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -9997,9 +9997,9 @@
             "  Type: AWS::Lambda::Function.Code",
             "  Properties:",
             "    S3Bucket : ${2:String(O)}",
-            "    S3Key : ${2:String(O)}",
-            "    S3ObjectVersion : ${2:String(O)}",
-            "    ZipFile : ${2:String(O)}"
+            "    S3Key : ${3:String(O)}",
+            "    S3ObjectVersion : ${4:String(O)}",
+            "    ZipFile : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10011,9 +10011,9 @@
             "  Type: AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest",
             "  Properties:",
             "    DefaultTargetCapacityType : ${2:String(O)}",
-            "    TotalTargetCapacity : ${2:Integer(R)}",
-            "    OnDemandTargetCapacity : ${2:Integer(O)}",
-            "    SpotTargetCapacity : ${2:Integer(O)}"
+            "    TotalTargetCapacity : ${3:Integer(R)}",
+            "    OnDemandTargetCapacity : ${4:Integer(O)}",
+            "    SpotTargetCapacity : ${5:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10025,7 +10025,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.Processor",
             "  Properties:",
             "    Parameters : [ ${2:aws-kinesisfirehose-deliverystreamprocessor.ProcessorParameter(R)} ]",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10059,8 +10059,8 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagFilter",
             "  Properties:",
             "    Key : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Type : ${3:String(O)}",
+            "    Value : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10083,10 +10083,10 @@
             "  Type: AWS::S3::Bucket.ReplicationDestination",
             "  Properties:",
             "    AccessControlTranslation : ${2:aws-s3-bucketreplicationdestination.AccessControlTranslation(O)}",
-            "    Account : ${2:String(O)}",
-            "    Bucket : ${2:String(R)}",
-            "    EncryptionConfiguration : ${2:aws-s3-bucketreplicationdestination.EncryptionConfiguration(O)}",
-            "    StorageClass : ${2:String(O)}"
+            "    Account : ${3:String(O)}",
+            "    Bucket : ${4:String(R)}",
+            "    EncryptionConfiguration : ${5:aws-s3-bucketreplicationdestination.EncryptionConfiguration(O)}",
+            "    StorageClass : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10109,13 +10109,13 @@
             "  Type: AWS::EC2::SecurityGroup.Egress",
             "  Properties:",
             "    CidrIp : ${2:String(O)}",
-            "    CidrIpv6 : ${2:String(O)}",
-            "    Description : ${2:String(O)}",
-            "    DestinationPrefixListId : ${2:String(O)}",
-            "    DestinationSecurityGroupId : ${2:String(O)}",
-            "    FromPort : ${2:Integer(O)}",
-            "    IpProtocol : ${2:String(R)}",
-            "    ToPort : ${2:Integer(O)}"
+            "    CidrIpv6 : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    DestinationPrefixListId : ${5:String(O)}",
+            "    DestinationSecurityGroupId : ${6:String(O)}",
+            "    FromPort : ${7:Integer(O)}",
+            "    IpProtocol : ${8:String(R)}",
+            "    ToPort : ${9:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10127,8 +10127,8 @@
             "  Type: AWS::IoTAnalytics::Pipeline.Channel",
             "  Properties:",
             "    ChannelName : ${2:String(O)}",
-            "    Next : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Next : ${3:String(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10140,7 +10140,7 @@
             "  Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(O)}"
+            "    Key : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10152,8 +10152,8 @@
             "  Type: AWS::IoT::TopicRule.KinesisAction",
             "  Properties:",
             "    PartitionKey : ${2:String(O)}",
-            "    RoleArn : ${2:String(R)}",
-            "    StreamName : ${2:String(R)}"
+            "    RoleArn : ${3:String(R)}",
+            "    StreamName : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10187,8 +10187,8 @@
             "  Type: AWS::RoboMaker::RobotApplication.SourceConfig",
             "  Properties:",
             "    S3Bucket : ${2:String(R)}",
-            "    Architecture : ${2:String(R)}",
-            "    S3Key : ${2:String(R)}"
+            "    Architecture : ${3:String(R)}",
+            "    S3Key : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10200,8 +10200,8 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration",
             "  Properties:",
             "    CheckpointConfiguration : ${2:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.CheckpointConfiguration(O)}",
-            "    ParallelismConfiguration : ${2:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.ParallelismConfiguration(O)}",
-            "    MonitoringConfiguration : ${2:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.MonitoringConfiguration(O)}"
+            "    ParallelismConfiguration : ${3:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.ParallelismConfiguration(O)}",
+            "    MonitoringConfiguration : ${4:aws-kinesisanalyticsv2-applicationflinkapplicationconfiguration.MonitoringConfiguration(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10235,8 +10235,8 @@
             "  Type: AWS::OpsWorks::Stack.RdsDbInstance",
             "  Properties:",
             "    DbPassword : ${2:String(R)}",
-            "    DbUser : ${2:String(R)}",
-            "    RdsDbInstanceArn : ${2:String(R)}"
+            "    DbUser : ${3:String(R)}",
+            "    RdsDbInstanceArn : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10248,16 +10248,16 @@
             "  Type: AWS::Budgets::Budget.CostTypes",
             "  Properties:",
             "    IncludeSupport : ${2:Boolean(O)}",
-            "    IncludeOtherSubscription : ${2:Boolean(O)}",
-            "    IncludeTax : ${2:Boolean(O)}",
-            "    IncludeSubscription : ${2:Boolean(O)}",
-            "    UseBlended : ${2:Boolean(O)}",
-            "    IncludeUpfront : ${2:Boolean(O)}",
-            "    IncludeDiscount : ${2:Boolean(O)}",
-            "    IncludeCredit : ${2:Boolean(O)}",
-            "    IncludeRecurring : ${2:Boolean(O)}",
-            "    UseAmortized : ${2:Boolean(O)}",
-            "    IncludeRefund : ${2:Boolean(O)}"
+            "    IncludeOtherSubscription : ${3:Boolean(O)}",
+            "    IncludeTax : ${4:Boolean(O)}",
+            "    IncludeSubscription : ${5:Boolean(O)}",
+            "    UseBlended : ${6:Boolean(O)}",
+            "    IncludeUpfront : ${7:Boolean(O)}",
+            "    IncludeDiscount : ${8:Boolean(O)}",
+            "    IncludeCredit : ${9:Boolean(O)}",
+            "    IncludeRecurring : ${10:Boolean(O)}",
+            "    UseAmortized : ${11:Boolean(O)}",
+            "    IncludeRefund : ${12:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10269,7 +10269,7 @@
             "  Type: AWS::WAF::ByteMatchSet.FieldToMatch",
             "  Properties:",
             "    Data : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10281,19 +10281,19 @@
             "  Type: AWS::IoT::TopicRule.Action",
             "  Properties:",
             "    CloudwatchAlarm : ${2:aws-iot-topicruleaction.CloudwatchAlarmAction(O)}",
-            "    CloudwatchMetric : ${2:aws-iot-topicruleaction.CloudwatchMetricAction(O)}",
-            "    DynamoDB : ${2:aws-iot-topicruleaction.DynamoDBAction(O)}",
-            "    DynamoDBv2 : ${2:aws-iot-topicruleaction.DynamoDBv2Action(O)}",
-            "    Elasticsearch : ${2:aws-iot-topicruleaction.ElasticsearchAction(O)}",
-            "    Firehose : ${2:aws-iot-topicruleaction.FirehoseAction(O)}",
-            "    IotAnalytics : ${2:aws-iot-topicruleaction.IotAnalyticsAction(O)}",
-            "    Kinesis : ${2:aws-iot-topicruleaction.KinesisAction(O)}",
-            "    Lambda : ${2:aws-iot-topicruleaction.LambdaAction(O)}",
-            "    Republish : ${2:aws-iot-topicruleaction.RepublishAction(O)}",
-            "    S3 : ${2:aws-iot-topicruleaction.S3Action(O)}",
-            "    Sns : ${2:aws-iot-topicruleaction.SnsAction(O)}",
-            "    Sqs : ${2:aws-iot-topicruleaction.SqsAction(O)}",
-            "    StepFunctions : ${2:aws-iot-topicruleaction.StepFunctionsAction(O)}"
+            "    CloudwatchMetric : ${3:aws-iot-topicruleaction.CloudwatchMetricAction(O)}",
+            "    DynamoDB : ${4:aws-iot-topicruleaction.DynamoDBAction(O)}",
+            "    DynamoDBv2 : ${5:aws-iot-topicruleaction.DynamoDBv2Action(O)}",
+            "    Elasticsearch : ${6:aws-iot-topicruleaction.ElasticsearchAction(O)}",
+            "    Firehose : ${7:aws-iot-topicruleaction.FirehoseAction(O)}",
+            "    IotAnalytics : ${8:aws-iot-topicruleaction.IotAnalyticsAction(O)}",
+            "    Kinesis : ${9:aws-iot-topicruleaction.KinesisAction(O)}",
+            "    Lambda : ${10:aws-iot-topicruleaction.LambdaAction(O)}",
+            "    Republish : ${11:aws-iot-topicruleaction.RepublishAction(O)}",
+            "    S3 : ${12:aws-iot-topicruleaction.S3Action(O)}",
+            "    Sns : ${13:aws-iot-topicruleaction.SnsAction(O)}",
+            "    Sqs : ${14:aws-iot-topicruleaction.SqsAction(O)}",
+            "    StepFunctions : ${15:aws-iot-topicruleaction.StepFunctionsAction(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10316,8 +10316,8 @@
             "  Type: AWS::IoTAnalytics::Pipeline.Filter",
             "  Properties:",
             "    Filter : ${2:String(O)}",
-            "    Next : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Next : ${3:String(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10329,8 +10329,8 @@
             "  Type: AWS::Glue::Trigger.Condition",
             "  Properties:",
             "    State : ${2:String(O)}",
-            "    LogicalOperator : ${2:String(O)}",
-            "    JobName : ${2:String(O)}"
+            "    LogicalOperator : ${3:String(O)}",
+            "    JobName : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10342,7 +10342,7 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters",
             "  Properties:",
             "    RecordRowDelimiter : ${2:String(R)}",
-            "    RecordColumnDelimiter : ${2:String(R)}"
+            "    RecordColumnDelimiter : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10354,20 +10354,20 @@
             "  Type: AWS::CloudFront::Distribution.DistributionConfig",
             "  Properties:",
             "    Logging : ${2:aws-cloudfront-distributiondistributionconfig.Logging(O)}",
-            "    Comment : ${2:String(O)}",
-            "    DefaultRootObject : ${2:String(O)}",
-            "    Origins : [ ${2:aws-cloudfront-distributiondistributionconfig.Origin(O)} ]",
-            "    ViewerCertificate : ${2:aws-cloudfront-distributiondistributionconfig.ViewerCertificate(O)}",
-            "    PriceClass : ${2:String(O)}",
-            "    DefaultCacheBehavior : ${2:aws-cloudfront-distributiondistributionconfig.DefaultCacheBehavior(O)}",
-            "    CustomErrorResponses : [ ${2:aws-cloudfront-distributiondistributionconfig.CustomErrorResponse(O)} ]",
-            "    Enabled : ${2:Boolean(R)}",
-            "    Aliases : [ ${2:String(O)} ]",
-            "    IPV6Enabled : ${2:Boolean(O)}",
-            "    WebACLId : ${2:String(O)}",
-            "    HttpVersion : ${2:String(O)}",
-            "    Restrictions : ${2:aws-cloudfront-distributiondistributionconfig.Restrictions(O)}",
-            "    CacheBehaviors : [ ${2:aws-cloudfront-distributiondistributionconfig.CacheBehavior(O)} ]"
+            "    Comment : ${3:String(O)}",
+            "    DefaultRootObject : ${4:String(O)}",
+            "    Origins : [ ${5:aws-cloudfront-distributiondistributionconfig.Origin(O)} ]",
+            "    ViewerCertificate : ${6:aws-cloudfront-distributiondistributionconfig.ViewerCertificate(O)}",
+            "    PriceClass : ${7:String(O)}",
+            "    DefaultCacheBehavior : ${8:aws-cloudfront-distributiondistributionconfig.DefaultCacheBehavior(O)}",
+            "    CustomErrorResponses : [ ${9:aws-cloudfront-distributiondistributionconfig.CustomErrorResponse(O)} ]",
+            "    Enabled : ${10:Boolean(R)}",
+            "    Aliases : [ ${11:String(O)} ]",
+            "    IPV6Enabled : ${12:Boolean(O)}",
+            "    WebACLId : ${13:String(O)}",
+            "    HttpVersion : ${14:String(O)}",
+            "    Restrictions : ${15:aws-cloudfront-distributiondistributionconfig.Restrictions(O)}",
+            "    CacheBehaviors : [ ${16:aws-cloudfront-distributiondistributionconfig.CacheBehavior(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10379,7 +10379,7 @@
             "  Type: AWS::S3::Bucket.NoncurrentVersionTransition",
             "  Properties:",
             "    StorageClass : ${2:String(R)}",
-            "    TransitionInDays : ${2:Integer(R)}"
+            "    TransitionInDays : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10391,7 +10391,7 @@
             "  Type: AWS::EMR::Cluster.KeyValue",
             "  Properties:",
             "    Key : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10403,10 +10403,10 @@
             "  Type: AWS::EC2::SpotFleet.LaunchTemplateOverrides",
             "  Properties:",
             "    AvailabilityZone : ${2:String(O)}",
-            "    InstanceType : ${2:String(O)}",
-            "    SpotPrice : ${2:String(O)}",
-            "    SubnetId : ${2:String(O)}",
-            "    WeightedCapacity : ${2:Double(O)}"
+            "    InstanceType : ${3:String(O)}",
+            "    SpotPrice : ${4:String(O)}",
+            "    SubnetId : ${5:String(O)}",
+            "    WeightedCapacity : ${6:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10418,10 +10418,10 @@
             "  Type: AWS::CloudWatch::Alarm.MetricDataQuery",
             "  Properties:",
             "    Expression : ${2:String(O)}",
-            "    Id : ${2:String(R)}",
-            "    Label : ${2:String(O)}",
-            "    MetricStat : ${2:aws-cloudwatch-alarmmetricdataquery.MetricStat(O)}",
-            "    ReturnData : ${2:Boolean(O)}"
+            "    Id : ${3:String(R)}",
+            "    Label : ${4:String(O)}",
+            "    MetricStat : ${5:aws-cloudwatch-alarmmetricdataquery.MetricStat(O)}",
+            "    ReturnData : ${6:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10433,9 +10433,9 @@
             "  Type: AWS::SES::ReceiptRule.S3Action",
             "  Properties:",
             "    BucketName : ${2:String(R)}",
-            "    KmsKeyArn : ${2:String(O)}",
-            "    TopicArn : ${2:String(O)}",
-            "    ObjectKeyPrefix : ${2:String(O)}"
+            "    KmsKeyArn : ${3:String(O)}",
+            "    TopicArn : ${4:String(O)}",
+            "    ObjectKeyPrefix : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10458,7 +10458,7 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters",
             "  Properties:",
             "    JSONMappingParameters : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcemappingparameters.JSONMappingParameters(O)}",
-            "    CSVMappingParameters : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcemappingparameters.CSVMappingParameters(O)}"
+            "    CSVMappingParameters : ${3:aws-kinesisanalyticsv2-applicationreferencedatasourcemappingparameters.CSVMappingParameters(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10481,7 +10481,7 @@
             "  Type: AWS::ApiGateway::Stage.AccessLogSetting",
             "  Properties:",
             "    DestinationArn : ${2:String(O)}",
-            "    Format : ${2:String(O)}"
+            "    Format : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10504,8 +10504,8 @@
             "  Type: AWS::OpsWorks::Layer.LoadBasedAutoScaling",
             "  Properties:",
             "    DownScaling : ${2:aws-opsworks-layerloadbasedautoscaling.AutoScalingThresholds(O)}",
-            "    Enable : ${2:Boolean(O)}",
-            "    UpScaling : ${2:aws-opsworks-layerloadbasedautoscaling.AutoScalingThresholds(O)}"
+            "    Enable : ${3:Boolean(O)}",
+            "    UpScaling : ${4:aws-opsworks-layerloadbasedautoscaling.AutoScalingThresholds(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10517,8 +10517,8 @@
             "  Type: AWS::Batch::JobDefinition.Ulimit",
             "  Properties:",
             "    SoftLimit : ${2:Integer(R)}",
-            "    HardLimit : ${2:Integer(R)}",
-            "    Name : ${2:String(R)}"
+            "    HardLimit : ${3:Integer(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10541,8 +10541,8 @@
             "  Type: AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration",
             "  Properties:",
             "    DimensionValueSource : ${2:String(R)}",
-            "    DefaultDimensionValue : ${2:String(R)}",
-            "    DimensionName : ${2:String(R)}"
+            "    DefaultDimensionValue : ${3:String(R)}",
+            "    DimensionName : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10554,7 +10554,7 @@
             "  Type: AWS::Glue::Trigger.Predicate",
             "  Properties:",
             "    Logical : ${2:String(O)}",
-            "    Conditions : [ ${2:aws-glue-triggerpredicate.Condition(O)} ]"
+            "    Conditions : [ ${3:aws-glue-triggerpredicate.Condition(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10566,7 +10566,7 @@
             "  Type: AWS::IAM::Group.Policy",
             "  Properties:",
             "    PolicyDocument : ${2:Json(R)}",
-            "    PolicyName : ${2:String(R)}"
+            "    PolicyName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10578,8 +10578,8 @@
             "  Type: AWS::IoTAnalytics::Dataset.Action",
             "  Properties:",
             "    ActionName : ${2:String(R)}",
-            "    ContainerAction : ${2:aws-iotanalytics-datasetaction.ContainerAction(O)}",
-            "    QueryAction : ${2:aws-iotanalytics-datasetaction.QueryAction(O)}"
+            "    ContainerAction : ${3:aws-iotanalytics-datasetaction.ContainerAction(O)}",
+            "    QueryAction : ${4:aws-iotanalytics-datasetaction.QueryAction(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10591,7 +10591,7 @@
             "  Type: AWS::Glue::Table.Order",
             "  Properties:",
             "    Column : ${2:String(R)}",
-            "    SortOrder : ${2:Integer(R)}"
+            "    SortOrder : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10603,12 +10603,12 @@
             "  Type: AWS::EC2::LaunchTemplate.Ebs",
             "  Properties:",
             "    SnapshotId : ${2:String(O)}",
-            "    VolumeType : ${2:String(O)}",
-            "    KmsKeyId : ${2:String(O)}",
-            "    Encrypted : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    VolumeSize : ${2:Integer(O)}",
-            "    DeleteOnTermination : ${2:Boolean(O)}"
+            "    VolumeType : ${3:String(O)}",
+            "    KmsKeyId : ${4:String(O)}",
+            "    Encrypted : ${5:Boolean(O)}",
+            "    Iops : ${6:Integer(O)}",
+            "    VolumeSize : ${7:Integer(O)}",
+            "    DeleteOnTermination : ${8:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10620,7 +10620,7 @@
             "  Type: AWS::Batch::JobQueue.ComputeEnvironmentOrder",
             "  Properties:",
             "    ComputeEnvironment : ${2:String(R)}",
-            "    Order : ${2:Integer(R)}"
+            "    Order : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10654,8 +10654,8 @@
             "  Type: AWS::Route53::RecordSetGroup.AliasTarget",
             "  Properties:",
             "    DNSName : ${2:String(R)}",
-            "    EvaluateTargetHealth : ${2:Boolean(O)}",
-            "    HostedZoneId : ${2:String(R)}"
+            "    EvaluateTargetHealth : ${3:Boolean(O)}",
+            "    HostedZoneId : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10678,11 +10678,11 @@
             "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest",
             "  Properties:",
             "    WeightedCapacity : ${2:Double(O)}",
-            "    Priority : ${2:Double(O)}",
-            "    AvailabilityZone : ${2:String(O)}",
-            "    SubnetId : ${2:String(O)}",
-            "    InstanceType : ${2:String(O)}",
-            "    MaxPrice : ${2:String(O)}"
+            "    Priority : ${3:Double(O)}",
+            "    AvailabilityZone : ${4:String(O)}",
+            "    SubnetId : ${5:String(O)}",
+            "    InstanceType : ${6:String(O)}",
+            "    MaxPrice : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10705,9 +10705,9 @@
             "  Type: AWS::IoTAnalytics::Dataset.ContainerAction",
             "  Properties:",
             "    Variables : [ ${2:aws-iotanalytics-datasetcontaineraction.Variable(O)} ]",
-            "    ExecutionRoleArn : ${2:String(R)}",
-            "    Image : ${2:String(R)}",
-            "    ResourceConfiguration : ${2:aws-iotanalytics-datasetcontaineraction.ResourceConfiguration(R)}"
+            "    ExecutionRoleArn : ${3:String(R)}",
+            "    Image : ${4:String(R)}",
+            "    ResourceConfiguration : ${5:aws-iotanalytics-datasetcontaineraction.ResourceConfiguration(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10719,11 +10719,11 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.Input",
             "  Properties:",
             "    NamePrefix : ${2:String(R)}",
-            "    InputSchema : ${2:aws-kinesisanalyticsv2-applicationinput.InputSchema(R)}",
-            "    KinesisStreamsInput : ${2:aws-kinesisanalyticsv2-applicationinput.KinesisStreamsInput(O)}",
-            "    KinesisFirehoseInput : ${2:aws-kinesisanalyticsv2-applicationinput.KinesisFirehoseInput(O)}",
-            "    InputProcessingConfiguration : ${2:aws-kinesisanalyticsv2-applicationinput.InputProcessingConfiguration(O)}",
-            "    InputParallelism : ${2:aws-kinesisanalyticsv2-applicationinput.InputParallelism(O)}"
+            "    InputSchema : ${3:aws-kinesisanalyticsv2-applicationinput.InputSchema(R)}",
+            "    KinesisStreamsInput : ${4:aws-kinesisanalyticsv2-applicationinput.KinesisStreamsInput(O)}",
+            "    KinesisFirehoseInput : ${5:aws-kinesisanalyticsv2-applicationinput.KinesisFirehoseInput(O)}",
+            "    InputProcessingConfiguration : ${6:aws-kinesisanalyticsv2-applicationinput.InputProcessingConfiguration(O)}",
+            "    InputParallelism : ${7:aws-kinesisanalyticsv2-applicationinput.InputParallelism(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10757,11 +10757,11 @@
             "  Type: AWS::FSx::FileSystem.WindowsConfiguration",
             "  Properties:",
             "    WeeklyMaintenanceStartTime : ${2:String(O)}",
-            "    ActiveDirectoryId : ${2:String(O)}",
-            "    ThroughputCapacity : ${2:Integer(O)}",
-            "    CopyTagsToBackups : ${2:Boolean(O)}",
-            "    DailyAutomaticBackupStartTime : ${2:String(O)}",
-            "    AutomaticBackupRetentionDays : ${2:Integer(O)}"
+            "    ActiveDirectoryId : ${3:String(O)}",
+            "    ThroughputCapacity : ${4:Integer(O)}",
+            "    CopyTagsToBackups : ${5:Boolean(O)}",
+            "    DailyAutomaticBackupStartTime : ${6:String(O)}",
+            "    AutomaticBackupRetentionDays : ${7:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10773,8 +10773,8 @@
             "  Type: AWS::Glue::Partition.Column",
             "  Properties:",
             "    Comment : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Name : ${2:String(R)}"
+            "    Type : ${3:String(O)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10797,8 +10797,8 @@
             "  Type: AWS::ECS::Service.AwsVpcConfiguration",
             "  Properties:",
             "    AssignPublicIp : ${2:String(O)}",
-            "    SecurityGroups : [ ${2:String(O)} ]",
-            "    Subnets : [ ${2:String(R)} ]"
+            "    SecurityGroups : [ ${3:String(O)} ]",
+            "    Subnets : [ ${4:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10810,8 +10810,8 @@
             "  Type: AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    AmbiguousRoleResolution : ${2:String(O)}",
-            "    RulesConfiguration : ${2:aws-cognito-identitypoolroleattachmentrolemapping.RulesConfigurationType(O)}"
+            "    AmbiguousRoleResolution : ${3:String(O)}",
+            "    RulesConfiguration : ${4:aws-cognito-identitypoolroleattachmentrolemapping.RulesConfigurationType(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10823,8 +10823,8 @@
             "  Type: AWS::CodeBuild::Project.S3LogsConfig",
             "  Properties:",
             "    Status : ${2:String(R)}",
-            "    EncryptionDisabled : ${2:Boolean(O)}",
-            "    Location : ${2:String(O)}"
+            "    EncryptionDisabled : ${3:Boolean(O)}",
+            "    Location : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10847,7 +10847,7 @@
             "  Type: AWS::Route53::HealthCheck.AlarmIdentifier",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    Region : ${2:String(R)}"
+            "    Region : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10859,7 +10859,7 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData",
             "  Properties:",
             "    SourcePath : ${2:String(R)}",
-            "    GroupOwnerSetting : ${2:aws-greengrass-resourcedefinitionversionlocaldeviceresourcedata.GroupOwnerSetting(O)}"
+            "    GroupOwnerSetting : ${3:aws-greengrass-resourcedefinitionversionlocaldeviceresourcedata.GroupOwnerSetting(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10871,7 +10871,7 @@
             "  Type: AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite",
             "  Properties:",
             "    Version : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Name : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10883,7 +10883,7 @@
             "  Type: AWS::IoT::TopicRule.IotAnalyticsAction",
             "  Properties:",
             "    ChannelName : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}"
+            "    RoleArn : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10906,7 +10906,7 @@
             "  Type: AWS::CloudFront::Distribution.OriginCustomHeader",
             "  Properties:",
             "    HeaderValue : ${2:String(R)}",
-            "    HeaderName : ${2:String(R)}"
+            "    HeaderName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10918,9 +10918,9 @@
             "  Type: AWS::AppSync::GraphQLApi.UserPoolConfig",
             "  Properties:",
             "    AppIdClientRegex : ${2:String(O)}",
-            "    UserPoolId : ${2:String(O)}",
-            "    AwsRegion : ${2:String(O)}",
-            "    DefaultAction : ${2:String(O)}"
+            "    UserPoolId : ${3:String(O)}",
+            "    AwsRegion : ${4:String(O)}",
+            "    DefaultAction : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10932,8 +10932,8 @@
             "  Type: AWS::GameLift::Build.S3Location",
             "  Properties:",
             "    Bucket : ${2:String(R)}",
-            "    Key : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}"
+            "    Key : ${3:String(R)}",
+            "    RoleArn : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10956,8 +10956,8 @@
             "  Type: AWS::EMR::Cluster.VolumeSpecification",
             "  Properties:",
             "    Iops : ${2:Integer(O)}",
-            "    SizeInGB : ${2:Integer(R)}",
-            "    VolumeType : ${2:String(R)}"
+            "    SizeInGB : ${3:Integer(R)}",
+            "    VolumeType : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10969,12 +10969,12 @@
             "  Type: AWS::CodePipeline::CustomActionType.ConfigurationProperties",
             "  Properties:",
             "    Description : ${2:String(O)}",
-            "    Key : ${2:Boolean(R)}",
-            "    Name : ${2:String(R)}",
-            "    Queryable : ${2:Boolean(O)}",
-            "    Required : ${2:Boolean(R)}",
-            "    Secret : ${2:Boolean(R)}",
-            "    Type : ${2:String(O)}"
+            "    Key : ${3:Boolean(R)}",
+            "    Name : ${4:String(R)}",
+            "    Queryable : ${5:Boolean(O)}",
+            "    Required : ${6:Boolean(R)}",
+            "    Secret : ${7:Boolean(R)}",
+            "    Type : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -10997,7 +10997,7 @@
             "  Type: AWS::CodePipeline::Pipeline.EncryptionKey",
             "  Properties:",
             "    Id : ${2:String(R)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11009,8 +11009,8 @@
             "  Type: AWS::AppSync::DataSource.DynamoDBConfig",
             "  Properties:",
             "    TableName : ${2:String(R)}",
-            "    AwsRegion : ${2:String(R)}",
-            "    UseCallerCredentials : ${2:Boolean(O)}"
+            "    AwsRegion : ${3:String(R)}",
+            "    UseCallerCredentials : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11022,9 +11022,9 @@
             "  Type: AWS::S3::Bucket.PublicAccessBlockConfiguration",
             "  Properties:",
             "    BlockPublicAcls : ${2:Boolean(O)}",
-            "    BlockPublicPolicy : ${2:Boolean(O)}",
-            "    IgnorePublicAcls : ${2:Boolean(O)}",
-            "    RestrictPublicBuckets : ${2:Boolean(O)}"
+            "    BlockPublicPolicy : ${3:Boolean(O)}",
+            "    IgnorePublicAcls : ${4:Boolean(O)}",
+            "    RestrictPublicBuckets : ${5:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11047,8 +11047,8 @@
             "  Type: AWS::EMR::InstanceGroupConfig.VolumeSpecification",
             "  Properties:",
             "    Iops : ${2:Integer(O)}",
-            "    SizeInGB : ${2:Integer(R)}",
-            "    VolumeType : ${2:String(R)}"
+            "    SizeInGB : ${3:Integer(R)}",
+            "    VolumeType : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11060,7 +11060,7 @@
             "  Type: AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple",
             "  Properties:",
             "    TextTransformation : ${2:String(R)}",
-            "    FieldToMatch : ${2:aws-wafregional-sqlinjectionmatchsetsqlinjectionmatchtuple.FieldToMatch(R)}"
+            "    FieldToMatch : ${3:aws-wafregional-sqlinjectionmatchsetsqlinjectionmatchtuple.FieldToMatch(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11072,7 +11072,7 @@
             "  Type: AWS::RDS::OptionGroup.OptionSetting",
             "  Properties:",
             "    Name : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11084,8 +11084,8 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.Deployment",
             "  Properties:",
             "    Description : ${2:String(O)}",
-            "    IgnoreApplicationStopFailures : ${2:Boolean(O)}",
-            "    Revision : ${2:aws-codedeploy-deploymentgroupdeployment.RevisionLocation(R)}"
+            "    IgnoreApplicationStopFailures : ${3:Boolean(O)}",
+            "    Revision : ${4:aws-codedeploy-deploymentgroupdeployment.RevisionLocation(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11097,9 +11097,9 @@
             "  Type: AWS::Cognito::IdentityPoolRoleAttachment.MappingRule",
             "  Properties:",
             "    MatchType : ${2:String(R)}",
-            "    Value : ${2:String(R)}",
-            "    Claim : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    Value : ${3:String(R)}",
+            "    Claim : ${4:String(R)}",
+            "    RoleARN : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11111,8 +11111,8 @@
             "  Type: AWS::Cognito::IdentityPool.CognitoStreams",
             "  Properties:",
             "    StreamingStatus : ${2:String(O)}",
-            "    StreamName : ${2:String(O)}",
-            "    RoleArn : ${2:String(O)}"
+            "    StreamName : ${3:String(O)}",
+            "    RoleArn : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11124,8 +11124,8 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.InputSchema",
             "  Properties:",
             "    RecordEncoding : ${2:String(O)}",
-            "    RecordColumns : [ ${2:aws-kinesisanalyticsv2-applicationinputschema.RecordColumn(R)} ]",
-            "    RecordFormat : ${2:aws-kinesisanalyticsv2-applicationinputschema.RecordFormat(R)}"
+            "    RecordColumns : [ ${3:aws-kinesisanalyticsv2-applicationinputschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${4:aws-kinesisanalyticsv2-applicationinputschema.RecordFormat(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11137,8 +11137,8 @@
             "  Type: AWS::Glue::Partition.PartitionInput",
             "  Properties:",
             "    Parameters : ${2:Json(O)}",
-            "    StorageDescriptor : ${2:aws-glue-partitionpartitioninput.StorageDescriptor(O)}",
-            "    Values : [ ${2:String(R)} ]"
+            "    StorageDescriptor : ${3:aws-glue-partitionpartitioninput.StorageDescriptor(O)}",
+            "    Values : [ ${4:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11183,7 +11183,7 @@
             "  Type: AWS::IoTAnalytics::Datastore.RetentionPeriod",
             "  Properties:",
             "    NumberOfDays : ${2:Integer(O)}",
-            "    Unlimited : ${2:Boolean(O)}"
+            "    Unlimited : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11206,10 +11206,10 @@
             "  Type: AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration",
             "  Properties:",
             "    NodeGroupId : ${2:String(O)}",
-            "    PrimaryAvailabilityZone : ${2:String(O)}",
-            "    ReplicaAvailabilityZones : [ ${2:String(O)} ]",
-            "    ReplicaCount : ${2:Integer(O)}",
-            "    Slots : ${2:String(O)}"
+            "    PrimaryAvailabilityZone : ${3:String(O)}",
+            "    ReplicaAvailabilityZones : [ ${4:String(O)} ]",
+            "    ReplicaCount : ${5:Integer(O)}",
+            "    Slots : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11221,8 +11221,8 @@
             "  Type: AWS::Glue::Table.Column",
             "  Properties:",
             "    Comment : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Name : ${2:String(R)}"
+            "    Type : ${3:String(O)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11245,12 +11245,12 @@
             "  Type: AWS::Greengrass::Group.GroupVersion",
             "  Properties:",
             "    LoggerDefinitionVersionArn : ${2:String(O)}",
-            "    DeviceDefinitionVersionArn : ${2:String(O)}",
-            "    FunctionDefinitionVersionArn : ${2:String(O)}",
-            "    CoreDefinitionVersionArn : ${2:String(O)}",
-            "    ResourceDefinitionVersionArn : ${2:String(O)}",
-            "    ConnectorDefinitionVersionArn : ${2:String(O)}",
-            "    SubscriptionDefinitionVersionArn : ${2:String(O)}"
+            "    DeviceDefinitionVersionArn : ${3:String(O)}",
+            "    FunctionDefinitionVersionArn : ${4:String(O)}",
+            "    CoreDefinitionVersionArn : ${5:String(O)}",
+            "    ResourceDefinitionVersionArn : ${6:String(O)}",
+            "    ConnectorDefinitionVersionArn : ${7:String(O)}",
+            "    SubscriptionDefinitionVersionArn : ${8:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11262,14 +11262,14 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters",
             "  Properties:",
             "    TimeoutSeconds : ${2:Integer(O)}",
-            "    Comment : ${2:String(O)}",
-            "    OutputS3KeyPrefix : ${2:String(O)}",
-            "    Parameters : ${2:Json(O)}",
-            "    DocumentHashType : ${2:String(O)}",
-            "    ServiceRoleArn : ${2:String(O)}",
-            "    NotificationConfig : ${2:aws-ssm-maintenancewindowtaskmaintenancewindowruncommandparameters.NotificationConfig(O)}",
-            "    OutputS3BucketName : ${2:String(O)}",
-            "    DocumentHash : ${2:String(O)}"
+            "    Comment : ${3:String(O)}",
+            "    OutputS3KeyPrefix : ${4:String(O)}",
+            "    Parameters : ${5:Json(O)}",
+            "    DocumentHashType : ${6:String(O)}",
+            "    ServiceRoleArn : ${7:String(O)}",
+            "    NotificationConfig : ${8:aws-ssm-maintenancewindowtaskmaintenancewindowruncommandparameters.NotificationConfig(O)}",
+            "    OutputS3BucketName : ${9:String(O)}",
+            "    DocumentHash : ${10:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11281,10 +11281,10 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification",
             "  Properties:",
             "    MetricName : ${2:String(R)}",
-            "    Statistic : ${2:String(R)}",
-            "    Dimensions : [ ${2:aws-autoscalingplans-scalingplancustomizedloadmetricspecification.MetricDimension(O)} ]",
-            "    Unit : ${2:String(O)}",
-            "    Namespace : ${2:String(R)}"
+            "    Statistic : ${3:String(R)}",
+            "    Dimensions : [ ${4:aws-autoscalingplans-scalingplancustomizedloadmetricspecification.MetricDimension(O)} ]",
+            "    Unit : ${5:String(O)}",
+            "    Namespace : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11296,8 +11296,8 @@
             "  Type: AWS::ElasticBeanstalk::Application.MaxAgeRule",
             "  Properties:",
             "    DeleteSourceFromS3 : ${2:Boolean(O)}",
-            "    Enabled : ${2:Boolean(O)}",
-            "    MaxAgeInDays : ${2:Integer(O)}"
+            "    Enabled : ${3:Boolean(O)}",
+            "    MaxAgeInDays : ${4:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11309,7 +11309,7 @@
             "  Type: AWS::EMR::InstanceGroupConfig.AutoScalingPolicy",
             "  Properties:",
             "    Constraints : ${2:aws-emr-instancegroupconfigautoscalingpolicy.ScalingConstraints(R)}",
-            "    Rules : [ ${2:aws-emr-instancegroupconfigautoscalingpolicy.ScalingRule(R)} ]"
+            "    Rules : [ ${3:aws-emr-instancegroupconfigautoscalingpolicy.ScalingRule(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11321,8 +11321,8 @@
             "  Type: AWS::ECS::TaskDefinition.Tmpfs",
             "  Properties:",
             "    ContainerPath : ${2:String(O)}",
-            "    MountOptions : [ ${2:String(O)} ]",
-            "    Size : ${2:Integer(O)}"
+            "    MountOptions : [ ${3:String(O)} ]",
+            "    Size : ${4:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11334,7 +11334,7 @@
             "  Type: AWS::EMR::InstanceGroupConfig.EbsConfiguration",
             "  Properties:",
             "    EbsBlockDeviceConfigs : [ ${2:aws-emr-instancegroupconfigebsconfiguration.EbsBlockDeviceConfig(O)} ]",
-            "    EbsOptimized : ${2:Boolean(O)}"
+            "    EbsOptimized : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11346,7 +11346,7 @@
             "  Type: AWS::ApiGateway::Deployment.AccessLogSetting",
             "  Properties:",
             "    DestinationArn : ${2:String(O)}",
-            "    Format : ${2:String(O)}"
+            "    Format : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11358,8 +11358,8 @@
             "  Type: AWS::CodeBuild::Project.WebhookFilter",
             "  Properties:",
             "    Pattern : ${2:String(R)}",
-            "    Type : ${2:String(R)}",
-            "    ExcludeMatchedPattern : ${2:Boolean(O)}"
+            "    Type : ${3:String(R)}",
+            "    ExcludeMatchedPattern : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11371,7 +11371,7 @@
             "  Type: AWS::EFS::FileSystem.ElasticFileSystemTag",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11383,9 +11383,9 @@
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.Environment",
             "  Properties:",
             "    Variables : ${2:Json(O)}",
-            "    Execution : ${2:aws-greengrass-functiondefinitionversionenvironment.Execution(O)}",
-            "    ResourceAccessPolicies : [ ${2:aws-greengrass-functiondefinitionversionenvironment.ResourceAccessPolicy(O)} ]",
-            "    AccessSysfs : ${2:Boolean(O)}"
+            "    Execution : ${3:aws-greengrass-functiondefinitionversionenvironment.Execution(O)}",
+            "    ResourceAccessPolicies : [ ${4:aws-greengrass-functiondefinitionversionenvironment.ResourceAccessPolicy(O)} ]",
+            "    AccessSysfs : ${5:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11397,7 +11397,7 @@
             "  Type: AWS::Glue::Crawler.SchemaChangePolicy",
             "  Properties:",
             "    UpdateBehavior : ${2:String(O)}",
-            "    DeleteBehavior : ${2:String(O)}"
+            "    DeleteBehavior : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11409,7 +11409,7 @@
             "  Type: AWS::Cognito::UserPool.StringAttributeConstraints",
             "  Properties:",
             "    MinLength : ${2:String(O)}",
-            "    MaxLength : ${2:String(O)}"
+            "    MaxLength : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11421,7 +11421,7 @@
             "  Type: AWS::AppMesh::VirtualNode.PortMapping",
             "  Properties:",
             "    Port : ${2:Integer(R)}",
-            "    Protocol : ${2:String(R)}"
+            "    Protocol : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11433,14 +11433,14 @@
             "  Type: AWS::CodeBuild::Project.Artifacts",
             "  Properties:",
             "    Path : ${2:String(O)}",
-            "    Type : ${2:String(R)}",
-            "    ArtifactIdentifier : ${2:String(O)}",
-            "    OverrideArtifactName : ${2:Boolean(O)}",
-            "    Packaging : ${2:String(O)}",
-            "    EncryptionDisabled : ${2:Boolean(O)}",
-            "    Location : ${2:String(O)}",
-            "    Name : ${2:String(O)}",
-            "    NamespaceType : ${2:String(O)}"
+            "    Type : ${3:String(R)}",
+            "    ArtifactIdentifier : ${4:String(O)}",
+            "    OverrideArtifactName : ${5:Boolean(O)}",
+            "    Packaging : ${6:String(O)}",
+            "    EncryptionDisabled : ${7:Boolean(O)}",
+            "    Location : ${8:String(O)}",
+            "    Name : ${9:String(O)}",
+            "    NamespaceType : ${10:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11463,7 +11463,7 @@
             "  Type: AWS::DynamoDB::Table.TimeToLiveSpecification",
             "  Properties:",
             "    AttributeName : ${2:String(R)}",
-            "    Enabled : ${2:Boolean(R)}"
+            "    Enabled : ${3:Boolean(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11475,7 +11475,7 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo",
             "  Properties:",
             "    ElbInfoList : [ ${2:aws-codedeploy-deploymentgrouploadbalancerinfo.ELBInfo(O)} ]",
-            "    TargetGroupInfoList : [ ${2:aws-codedeploy-deploymentgrouploadbalancerinfo.TargetGroupInfo(O)} ]"
+            "    TargetGroupInfoList : [ ${3:aws-codedeploy-deploymentgrouploadbalancerinfo.TargetGroupInfo(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11487,8 +11487,8 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.RecordColumn",
             "  Properties:",
             "    Mapping : ${2:String(O)}",
-            "    SqlType : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    SqlType : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11500,7 +11500,7 @@
             "  Type: AWS::Budgets::Budget.NotificationWithSubscribers",
             "  Properties:",
             "    Subscribers : [ ${2:aws-budgets-budgetnotificationwithsubscribers.Subscriber(R)} ]",
-            "    Notification : ${2:aws-budgets-budgetnotificationwithsubscribers.Notification(R)}"
+            "    Notification : ${3:aws-budgets-budgetnotificationwithsubscribers.Notification(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11512,8 +11512,8 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.RevisionLocation",
             "  Properties:",
             "    GitHubLocation : ${2:aws-codedeploy-deploymentgrouprevisionlocation.GitHubLocation(O)}",
-            "    RevisionType : ${2:String(O)}",
-            "    S3Location : ${2:aws-codedeploy-deploymentgrouprevisionlocation.S3Location(O)}"
+            "    RevisionType : ${3:String(O)}",
+            "    S3Location : ${4:aws-codedeploy-deploymentgrouprevisionlocation.S3Location(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11525,7 +11525,7 @@
             "  Type: AWS::DataPipeline::Pipeline.ParameterAttribute",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    StringValue : ${2:String(R)}"
+            "    StringValue : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11559,8 +11559,8 @@
             "  Type: AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties",
             "  Properties:",
             "    Description : ${2:String(O)}",
-            "    Info : ${2:Json(R)}",
-            "    Name : ${2:String(O)}"
+            "    Info : ${3:Json(R)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11572,7 +11572,7 @@
             "  Type: AWS::AppSync::DataSource.AuthorizationConfig",
             "  Properties:",
             "    AwsIamConfig : ${2:aws-appsync-datasourceauthorizationconfig.AwsIamConfig(O)}",
-            "    AuthorizationType : ${2:String(R)}"
+            "    AuthorizationType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11584,16 +11584,16 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration",
             "  Properties:",
             "    BufferingHints : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ElasticsearchBufferingHints(R)}",
-            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.CloudWatchLoggingOptions(O)}",
-            "    DomainARN : ${2:String(R)}",
-            "    IndexName : ${2:String(R)}",
-            "    IndexRotationPeriod : ${2:String(R)}",
-            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ProcessingConfiguration(O)}",
-            "    RetryOptions : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ElasticsearchRetryOptions(R)}",
-            "    RoleARN : ${2:String(R)}",
-            "    S3BackupMode : ${2:String(R)}",
-            "    S3Configuration : ${2:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.S3DestinationConfiguration(R)}",
-            "    TypeName : ${2:String(R)}"
+            "    CloudWatchLoggingOptions : ${3:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    DomainARN : ${4:String(R)}",
+            "    IndexName : ${5:String(R)}",
+            "    IndexRotationPeriod : ${6:String(R)}",
+            "    ProcessingConfiguration : ${7:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ProcessingConfiguration(O)}",
+            "    RetryOptions : ${8:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.ElasticsearchRetryOptions(R)}",
+            "    RoleARN : ${9:String(R)}",
+            "    S3BackupMode : ${10:String(R)}",
+            "    S3Configuration : ${11:aws-kinesisfirehose-deliverystreamelasticsearchdestinationconfiguration.S3DestinationConfiguration(R)}",
+            "    TypeName : ${12:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11605,15 +11605,15 @@
             "  Type: AWS::EC2::SecurityGroup.Ingress",
             "  Properties:",
             "    CidrIp : ${2:String(O)}",
-            "    CidrIpv6 : ${2:String(O)}",
-            "    Description : ${2:String(O)}",
-            "    FromPort : ${2:Integer(O)}",
-            "    IpProtocol : ${2:String(R)}",
-            "    SourcePrefixListId : ${2:String(O)}",
-            "    SourceSecurityGroupId : ${2:String(O)}",
-            "    SourceSecurityGroupName : ${2:String(O)}",
-            "    SourceSecurityGroupOwnerId : ${2:String(O)}",
-            "    ToPort : ${2:Integer(O)}"
+            "    CidrIpv6 : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    FromPort : ${5:Integer(O)}",
+            "    IpProtocol : ${6:String(R)}",
+            "    SourcePrefixListId : ${7:String(O)}",
+            "    SourceSecurityGroupId : ${8:String(O)}",
+            "    SourceSecurityGroupName : ${9:String(O)}",
+            "    SourceSecurityGroupOwnerId : ${10:String(O)}",
+            "    ToPort : ${11:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11625,8 +11625,8 @@
             "  Type: AWS::S3::Bucket.LambdaConfiguration",
             "  Properties:",
             "    Event : ${2:String(R)}",
-            "    Filter : ${2:aws-s3-bucketlambdaconfiguration.NotificationFilter(O)}",
-            "    Function : ${2:String(R)}"
+            "    Filter : ${3:aws-s3-bucketlambdaconfiguration.NotificationFilter(O)}",
+            "    Function : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11638,8 +11638,8 @@
             "  Type: AWS::Batch::JobDefinition.NodeProperties",
             "  Properties:",
             "    MainNode : ${2:Integer(R)}",
-            "    NodeRangeProperties : [ ${2:aws-batch-jobdefinitionnodeproperties.NodeRangeProperty(R)} ]",
-            "    NumNodes : ${2:Integer(R)}"
+            "    NodeRangeProperties : [ ${3:aws-batch-jobdefinitionnodeproperties.NodeRangeProperty(R)} ]",
+            "    NumNodes : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11651,8 +11651,8 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource",
             "  Properties:",
             "    BucketARN : ${2:String(R)}",
-            "    FileKey : ${2:String(R)}",
-            "    ReferenceRoleARN : ${2:String(R)}"
+            "    FileKey : ${3:String(R)}",
+            "    ReferenceRoleARN : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11675,8 +11675,8 @@
             "  Type: AWS::WAF::Rule.Predicate",
             "  Properties:",
             "    DataId : ${2:String(R)}",
-            "    Negated : ${2:Boolean(R)}",
-            "    Type : ${2:String(R)}"
+            "    Negated : ${3:Boolean(R)}",
+            "    Type : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11688,10 +11688,10 @@
             "  Type: AWS::S3::Bucket.ReplicationRule",
             "  Properties:",
             "    Destination : ${2:aws-s3-bucketreplicationrule.ReplicationDestination(R)}",
-            "    Id : ${2:String(O)}",
-            "    Prefix : ${2:String(R)}",
-            "    SourceSelectionCriteria : ${2:aws-s3-bucketreplicationrule.SourceSelectionCriteria(O)}",
-            "    Status : ${2:String(R)}"
+            "    Id : ${3:String(O)}",
+            "    Prefix : ${4:String(R)}",
+            "    SourceSelectionCriteria : ${5:aws-s3-bucketreplicationrule.SourceSelectionCriteria(O)}",
+            "    Status : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11725,30 +11725,30 @@
             "  Type: AWS::EC2::LaunchTemplate.LaunchTemplateData",
             "  Properties:",
             "    SecurityGroups : [ ${2:String(O)} ]",
-            "    TagSpecifications : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.TagSpecification(O)} ]",
-            "    UserData : ${2:String(O)}",
-            "    BlockDeviceMappings : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.BlockDeviceMapping(O)} ]",
-            "    IamInstanceProfile : ${2:aws-ec2-launchtemplatelaunchtemplatedata.IamInstanceProfile(O)}",
-            "    KernelId : ${2:String(O)}",
-            "    EbsOptimized : ${2:Boolean(O)}",
-            "    ElasticGpuSpecifications : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.ElasticGpuSpecification(O)} ]",
-            "    ElasticInferenceAccelerators : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.LaunchTemplateElasticInferenceAccelerator(O)} ]",
-            "    Placement : ${2:aws-ec2-launchtemplatelaunchtemplatedata.Placement(O)}",
-            "    NetworkInterfaces : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.NetworkInterface(O)} ]",
-            "    ImageId : ${2:String(O)}",
-            "    InstanceType : ${2:String(O)}",
-            "    Monitoring : ${2:aws-ec2-launchtemplatelaunchtemplatedata.Monitoring(O)}",
-            "    HibernationOptions : ${2:aws-ec2-launchtemplatelaunchtemplatedata.HibernationOptions(O)}",
-            "    LicenseSpecifications : [ ${2:aws-ec2-launchtemplatelaunchtemplatedata.LicenseSpecification(O)} ]",
-            "    InstanceInitiatedShutdownBehavior : ${2:String(O)}",
-            "    CpuOptions : ${2:aws-ec2-launchtemplatelaunchtemplatedata.CpuOptions(O)}",
-            "    SecurityGroupIds : [ ${2:String(O)} ]",
-            "    KeyName : ${2:String(O)}",
-            "    DisableApiTermination : ${2:Boolean(O)}",
-            "    InstanceMarketOptions : ${2:aws-ec2-launchtemplatelaunchtemplatedata.InstanceMarketOptions(O)}",
-            "    RamDiskId : ${2:String(O)}",
-            "    CapacityReservationSpecification : ${2:aws-ec2-launchtemplatelaunchtemplatedata.CapacityReservationSpecification(O)}",
-            "    CreditSpecification : ${2:aws-ec2-launchtemplatelaunchtemplatedata.CreditSpecification(O)}"
+            "    TagSpecifications : [ ${3:aws-ec2-launchtemplatelaunchtemplatedata.TagSpecification(O)} ]",
+            "    UserData : ${4:String(O)}",
+            "    BlockDeviceMappings : [ ${5:aws-ec2-launchtemplatelaunchtemplatedata.BlockDeviceMapping(O)} ]",
+            "    IamInstanceProfile : ${6:aws-ec2-launchtemplatelaunchtemplatedata.IamInstanceProfile(O)}",
+            "    KernelId : ${7:String(O)}",
+            "    EbsOptimized : ${8:Boolean(O)}",
+            "    ElasticGpuSpecifications : [ ${9:aws-ec2-launchtemplatelaunchtemplatedata.ElasticGpuSpecification(O)} ]",
+            "    ElasticInferenceAccelerators : [ ${10:aws-ec2-launchtemplatelaunchtemplatedata.LaunchTemplateElasticInferenceAccelerator(O)} ]",
+            "    Placement : ${11:aws-ec2-launchtemplatelaunchtemplatedata.Placement(O)}",
+            "    NetworkInterfaces : [ ${12:aws-ec2-launchtemplatelaunchtemplatedata.NetworkInterface(O)} ]",
+            "    ImageId : ${13:String(O)}",
+            "    InstanceType : ${14:String(O)}",
+            "    Monitoring : ${15:aws-ec2-launchtemplatelaunchtemplatedata.Monitoring(O)}",
+            "    HibernationOptions : ${16:aws-ec2-launchtemplatelaunchtemplatedata.HibernationOptions(O)}",
+            "    LicenseSpecifications : [ ${17:aws-ec2-launchtemplatelaunchtemplatedata.LicenseSpecification(O)} ]",
+            "    InstanceInitiatedShutdownBehavior : ${18:String(O)}",
+            "    CpuOptions : ${19:aws-ec2-launchtemplatelaunchtemplatedata.CpuOptions(O)}",
+            "    SecurityGroupIds : [ ${20:String(O)} ]",
+            "    KeyName : ${21:String(O)}",
+            "    DisableApiTermination : ${22:Boolean(O)}",
+            "    InstanceMarketOptions : ${23:aws-ec2-launchtemplatelaunchtemplatedata.InstanceMarketOptions(O)}",
+            "    RamDiskId : ${24:String(O)}",
+            "    CapacityReservationSpecification : ${25:aws-ec2-launchtemplatelaunchtemplatedata.CapacityReservationSpecification(O)}",
+            "    CreditSpecification : ${26:aws-ec2-launchtemplatelaunchtemplatedata.CreditSpecification(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11760,9 +11760,9 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration",
             "  Properties:",
             "    ConfigurationType : ${2:String(R)}",
-            "    ParallelismPerKPU : ${2:Integer(O)}",
-            "    AutoScalingEnabled : ${2:Boolean(O)}",
-            "    Parallelism : ${2:Integer(O)}"
+            "    ParallelismPerKPU : ${3:Integer(O)}",
+            "    AutoScalingEnabled : ${4:Boolean(O)}",
+            "    Parallelism : ${5:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11785,7 +11785,7 @@
             "  Type: AWS::SES::ReceiptRule.WorkmailAction",
             "  Properties:",
             "    TopicArn : ${2:String(O)}",
-            "    OrganizationArn : ${2:String(R)}"
+            "    OrganizationArn : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11797,16 +11797,16 @@
             "  Type: AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig",
             "  Properties:",
             "    AuthenticationRequestExtraParams : [ ${2:String(O)} ]",
-            "    AuthorizationEndpoint : ${2:String(R)}",
-            "    ClientId : ${2:String(R)}",
-            "    ClientSecret : ${2:String(R)}",
-            "    Issuer : ${2:String(R)}",
-            "    OnUnauthenticatedRequest : ${2:String(O)}",
-            "    Scope : ${2:String(O)}",
-            "    SessionCookieName : ${2:String(O)}",
-            "    SessionTimeout : ${2:Long(O)}",
-            "    TokenEndpoint : ${2:String(R)}",
-            "    UserInfoEndpoint : ${2:String(R)}"
+            "    AuthorizationEndpoint : ${3:String(R)}",
+            "    ClientId : ${4:String(R)}",
+            "    ClientSecret : ${5:String(R)}",
+            "    Issuer : ${6:String(R)}",
+            "    OnUnauthenticatedRequest : ${7:String(O)}",
+            "    Scope : ${8:String(O)}",
+            "    SessionCookieName : ${9:String(O)}",
+            "    SessionTimeout : ${10:Long(O)}",
+            "    TokenEndpoint : ${11:String(R)}",
+            "    UserInfoEndpoint : ${12:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11818,7 +11818,7 @@
             "  Type: AWS::Elasticsearch::Domain.VPCOptions",
             "  Properties:",
             "    SecurityGroupIds : [ ${2:String(O)} ]",
-            "    SubnetIds : [ ${2:String(O)} ]"
+            "    SubnetIds : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11830,10 +11830,10 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck",
             "  Properties:",
             "    HealthyThreshold : ${2:String(R)}",
-            "    Interval : ${2:String(R)}",
-            "    Target : ${2:String(R)}",
-            "    Timeout : ${2:String(R)}",
-            "    UnhealthyThreshold : ${2:String(R)}"
+            "    Interval : ${3:String(R)}",
+            "    Target : ${4:String(R)}",
+            "    Timeout : ${5:String(R)}",
+            "    UnhealthyThreshold : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11845,7 +11845,7 @@
             "  Type: AWS::EC2::SpotFleet.LaunchTemplateConfig",
             "  Properties:",
             "    LaunchTemplateSpecification : ${2:aws-ec2-spotfleetlaunchtemplateconfig.FleetLaunchTemplateSpecification(O)}",
-            "    Overrides : [ ${2:aws-ec2-spotfleetlaunchtemplateconfig.LaunchTemplateOverrides(O)} ]"
+            "    Overrides : [ ${3:aws-ec2-spotfleetlaunchtemplateconfig.LaunchTemplateOverrides(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11868,8 +11868,8 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.TriggerConfig",
             "  Properties:",
             "    TriggerEvents : [ ${2:String(O)} ]",
-            "    TriggerName : ${2:String(O)}",
-            "    TriggerTargetArn : ${2:String(O)}"
+            "    TriggerName : ${3:String(O)}",
+            "    TriggerTargetArn : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11881,7 +11881,7 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.CSVMappingParameters",
             "  Properties:",
             "    RecordRowDelimiter : ${2:String(R)}",
-            "    RecordColumnDelimiter : ${2:String(R)}"
+            "    RecordColumnDelimiter : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11904,7 +11904,7 @@
             "  Type: AWS::DataPipeline::Pipeline.PipelineTag",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11916,7 +11916,7 @@
             "  Type: AWS::KinesisAnalytics::Application.MappingParameters",
             "  Properties:",
             "    JSONMappingParameters : ${2:aws-kinesisanalytics-applicationmappingparameters.JSONMappingParameters(O)}",
-            "    CSVMappingParameters : ${2:aws-kinesisanalytics-applicationmappingparameters.CSVMappingParameters(O)}"
+            "    CSVMappingParameters : ${3:aws-kinesisanalytics-applicationmappingparameters.CSVMappingParameters(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11928,11 +11928,11 @@
             "  Type: AWS::CloudFront::Distribution.CustomOriginConfig",
             "  Properties:",
             "    OriginReadTimeout : ${2:Integer(O)}",
-            "    HTTPSPort : ${2:Integer(O)}",
-            "    OriginKeepaliveTimeout : ${2:Integer(O)}",
-            "    OriginSSLProtocols : [ ${2:String(O)} ]",
-            "    HTTPPort : ${2:Integer(O)}",
-            "    OriginProtocolPolicy : ${2:String(R)}"
+            "    HTTPSPort : ${3:Integer(O)}",
+            "    OriginKeepaliveTimeout : ${4:Integer(O)}",
+            "    OriginSSLProtocols : [ ${5:String(O)} ]",
+            "    HTTPPort : ${6:Integer(O)}",
+            "    OriginProtocolPolicy : ${7:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11944,8 +11944,8 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration",
             "  Properties:",
             "    ConfigurationType : ${2:String(R)}",
-            "    MetricsLevel : ${2:String(O)}",
-            "    LogLevel : ${2:String(O)}"
+            "    MetricsLevel : ${3:String(O)}",
+            "    LogLevel : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11957,7 +11957,7 @@
             "  Type: AWS::EC2::NetworkAclEntry.Icmp",
             "  Properties:",
             "    Code : ${2:Integer(O)}",
-            "    Type : ${2:Integer(O)}"
+            "    Type : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11969,7 +11969,7 @@
             "  Type: AWS::DynamoDB::Table.AttributeDefinition",
             "  Properties:",
             "    AttributeName : ${2:String(R)}",
-            "    AttributeType : ${2:String(R)}"
+            "    AttributeType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -11992,15 +11992,15 @@
             "  Type: AWS::IoTAnalytics::Pipeline.Activity",
             "  Properties:",
             "    SelectAttributes : ${2:aws-iotanalytics-pipelineactivity.SelectAttributes(O)}",
-            "    Datastore : ${2:aws-iotanalytics-pipelineactivity.Datastore(O)}",
-            "    Filter : ${2:aws-iotanalytics-pipelineactivity.Filter(O)}",
-            "    AddAttributes : ${2:aws-iotanalytics-pipelineactivity.AddAttributes(O)}",
-            "    Channel : ${2:aws-iotanalytics-pipelineactivity.Channel(O)}",
-            "    DeviceShadowEnrich : ${2:aws-iotanalytics-pipelineactivity.DeviceShadowEnrich(O)}",
-            "    Math : ${2:aws-iotanalytics-pipelineactivity.Math(O)}",
-            "    Lambda : ${2:aws-iotanalytics-pipelineactivity.Lambda(O)}",
-            "    DeviceRegistryEnrich : ${2:aws-iotanalytics-pipelineactivity.DeviceRegistryEnrich(O)}",
-            "    RemoveAttributes : ${2:aws-iotanalytics-pipelineactivity.RemoveAttributes(O)}"
+            "    Datastore : ${3:aws-iotanalytics-pipelineactivity.Datastore(O)}",
+            "    Filter : ${4:aws-iotanalytics-pipelineactivity.Filter(O)}",
+            "    AddAttributes : ${5:aws-iotanalytics-pipelineactivity.AddAttributes(O)}",
+            "    Channel : ${6:aws-iotanalytics-pipelineactivity.Channel(O)}",
+            "    DeviceShadowEnrich : ${7:aws-iotanalytics-pipelineactivity.DeviceShadowEnrich(O)}",
+            "    Math : ${8:aws-iotanalytics-pipelineactivity.Math(O)}",
+            "    Lambda : ${9:aws-iotanalytics-pipelineactivity.Lambda(O)}",
+            "    DeviceRegistryEnrich : ${10:aws-iotanalytics-pipelineactivity.DeviceRegistryEnrich(O)}",
+            "    RemoveAttributes : ${11:aws-iotanalytics-pipelineactivity.RemoveAttributes(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12012,7 +12012,7 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy",
             "  Properties:",
             "    InstancesDistribution : ${2:aws-autoscaling-autoscalinggroupmixedinstancespolicy.InstancesDistribution(O)}",
-            "    LaunchTemplate : ${2:aws-autoscaling-autoscalinggroupmixedinstancespolicy.LaunchTemplate(R)}"
+            "    LaunchTemplate : ${3:aws-autoscaling-autoscalinggroupmixedinstancespolicy.LaunchTemplate(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12024,11 +12024,11 @@
             "  Type: AWS::SageMaker::EndpointConfig.ProductionVariant",
             "  Properties:",
             "    ModelName : ${2:String(R)}",
-            "    VariantName : ${2:String(R)}",
-            "    InitialInstanceCount : ${2:Integer(R)}",
-            "    InstanceType : ${2:String(R)}",
-            "    AcceleratorType : ${2:String(O)}",
-            "    InitialVariantWeight : ${2:Double(R)}"
+            "    VariantName : ${3:String(R)}",
+            "    InitialInstanceCount : ${4:Integer(R)}",
+            "    InstanceType : ${5:String(R)}",
+            "    AcceleratorType : ${6:String(O)}",
+            "    InitialVariantWeight : ${7:Double(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12040,7 +12040,7 @@
             "  Type: AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest",
             "  Properties:",
             "    Ip : ${2:String(O)}",
-            "    SubnetId : ${2:String(R)}"
+            "    SubnetId : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12052,7 +12052,7 @@
             "  Type: AWS::SES::ReceiptRule.StopAction",
             "  Properties:",
             "    Scope : ${2:String(R)}",
-            "    TopicArn : ${2:String(O)}"
+            "    TopicArn : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12075,13 +12075,13 @@
             "  Type: AWS::CodePipeline::Pipeline.ActionDeclaration",
             "  Properties:",
             "    ActionTypeId : ${2:aws-codepipeline-pipelineactiondeclaration.ActionTypeId(R)}",
-            "    Configuration : ${2:Json(O)}",
-            "    InputArtifacts : [ ${2:aws-codepipeline-pipelineactiondeclaration.InputArtifact(O)} ]",
-            "    Name : ${2:String(R)}",
-            "    OutputArtifacts : [ ${2:aws-codepipeline-pipelineactiondeclaration.OutputArtifact(O)} ]",
-            "    Region : ${2:String(O)}",
-            "    RoleArn : ${2:String(O)}",
-            "    RunOrder : ${2:Integer(O)}"
+            "    Configuration : ${3:Json(O)}",
+            "    InputArtifacts : [ ${4:aws-codepipeline-pipelineactiondeclaration.InputArtifact(O)} ]",
+            "    Name : ${5:String(R)}",
+            "    OutputArtifacts : [ ${6:aws-codepipeline-pipelineactiondeclaration.OutputArtifact(O)} ]",
+            "    Region : ${7:String(O)}",
+            "    RoleArn : ${8:String(O)}",
+            "    RunOrder : ${9:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12093,7 +12093,7 @@
             "  Type: AWS::EC2::LaunchTemplate.InstanceMarketOptions",
             "  Properties:",
             "    SpotOptions : ${2:aws-ec2-launchtemplateinstancemarketoptions.SpotOptions(O)}",
-            "    MarketType : ${2:String(O)}"
+            "    MarketType : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12105,8 +12105,8 @@
             "  Type: AWS::EMR::InstanceGroupConfig.Configuration",
             "  Properties:",
             "    Classification : ${2:String(O)}",
-            "    ConfigurationProperties : [ ${2:String(O)} ]",
-            "    Configurations : [ ${2:aws-emr-instancegroupconfigconfiguration.Configuration(O)} ]"
+            "    ConfigurationProperties : [ ${3:String(O)} ]",
+            "    Configurations : [ ${4:aws-emr-instancegroupconfigconfiguration.Configuration(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12118,7 +12118,7 @@
             "  Type: AWS::Redshift::ClusterParameterGroup.Parameter",
             "  Properties:",
             "    ParameterName : ${2:String(R)}",
-            "    ParameterValue : ${2:String(R)}"
+            "    ParameterValue : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12130,8 +12130,8 @@
             "  Type: AWS::EMR::InstanceFleetConfig.VolumeSpecification",
             "  Properties:",
             "    Iops : ${2:Integer(O)}",
-            "    SizeInGB : ${2:Integer(R)}",
-            "    VolumeType : ${2:String(R)}"
+            "    SizeInGB : ${3:Integer(R)}",
+            "    VolumeType : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12143,13 +12143,13 @@
             "  Type: AWS::EMR::Cluster.InstanceGroupConfig",
             "  Properties:",
             "    AutoScalingPolicy : ${2:aws-emr-clusterinstancegroupconfig.AutoScalingPolicy(O)}",
-            "    BidPrice : ${2:String(O)}",
-            "    Configurations : [ ${2:aws-emr-clusterinstancegroupconfig.Configuration(O)} ]",
-            "    EbsConfiguration : ${2:aws-emr-clusterinstancegroupconfig.EbsConfiguration(O)}",
-            "    InstanceCount : ${2:Integer(R)}",
-            "    InstanceType : ${2:String(R)}",
-            "    Market : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    BidPrice : ${3:String(O)}",
+            "    Configurations : [ ${4:aws-emr-clusterinstancegroupconfig.Configuration(O)} ]",
+            "    EbsConfiguration : ${5:aws-emr-clusterinstancegroupconfig.EbsConfiguration(O)}",
+            "    InstanceCount : ${6:Integer(R)}",
+            "    InstanceType : ${7:String(R)}",
+            "    Market : ${8:String(O)}",
+            "    Name : ${9:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12161,7 +12161,7 @@
             "  Type: AWS::Redshift::Cluster.LoggingProperties",
             "  Properties:",
             "    BucketName : ${2:String(R)}",
-            "    S3KeyPrefix : ${2:String(O)}"
+            "    S3KeyPrefix : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12184,7 +12184,7 @@
             "  Type: AWS::Route53Resolver::ResolverRule.TargetAddress",
             "  Properties:",
             "    Ip : ${2:String(R)}",
-            "    Port : ${2:String(R)}"
+            "    Port : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12196,7 +12196,7 @@
             "  Type: AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite",
             "  Properties:",
             "    Version : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Name : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12219,8 +12219,8 @@
             "  Type: AWS::WAFRegional::WebACL.Rule",
             "  Properties:",
             "    Action : ${2:aws-wafregional-webaclrule.Action(R)}",
-            "    Priority : ${2:Integer(R)}",
-            "    RuleId : ${2:String(R)}"
+            "    Priority : ${3:Integer(R)}",
+            "    RuleId : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12243,17 +12243,17 @@
             "  Type: AWS::Glue::Partition.StorageDescriptor",
             "  Properties:",
             "    StoredAsSubDirectories : ${2:Boolean(O)}",
-            "    Parameters : ${2:Json(O)}",
-            "    BucketColumns : [ ${2:String(O)} ]",
-            "    SkewedInfo : ${2:aws-glue-partitionstoragedescriptor.SkewedInfo(O)}",
-            "    InputFormat : ${2:String(O)}",
-            "    NumberOfBuckets : ${2:Integer(O)}",
-            "    OutputFormat : ${2:String(O)}",
-            "    Columns : [ ${2:aws-glue-partitionstoragedescriptor.Column(O)} ]",
-            "    SerdeInfo : ${2:aws-glue-partitionstoragedescriptor.SerdeInfo(O)}",
-            "    SortColumns : [ ${2:aws-glue-partitionstoragedescriptor.Order(O)} ]",
-            "    Compressed : ${2:Boolean(O)}",
-            "    Location : ${2:String(O)}"
+            "    Parameters : ${3:Json(O)}",
+            "    BucketColumns : [ ${4:String(O)} ]",
+            "    SkewedInfo : ${5:aws-glue-partitionstoragedescriptor.SkewedInfo(O)}",
+            "    InputFormat : ${6:String(O)}",
+            "    NumberOfBuckets : ${7:Integer(O)}",
+            "    OutputFormat : ${8:String(O)}",
+            "    Columns : [ ${9:aws-glue-partitionstoragedescriptor.Column(O)} ]",
+            "    SerdeInfo : ${10:aws-glue-partitionstoragedescriptor.SerdeInfo(O)}",
+            "    SortColumns : [ ${11:aws-glue-partitionstoragedescriptor.Order(O)} ]",
+            "    Compressed : ${12:Boolean(O)}",
+            "    Location : ${13:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12265,7 +12265,7 @@
             "  Type: AWS::Glue::Trigger.Action",
             "  Properties:",
             "    JobName : ${2:String(O)}",
-            "    Arguments : ${2:Json(O)}"
+            "    Arguments : ${3:Json(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12277,17 +12277,17 @@
             "  Type: AWS::EC2::Instance.NetworkInterface",
             "  Properties:",
             "    AssociatePublicIpAddress : ${2:Boolean(O)}",
-            "    DeleteOnTermination : ${2:Boolean(O)}",
-            "    Description : ${2:String(O)}",
-            "    DeviceIndex : ${2:String(R)}",
-            "    GroupSet : [ ${2:String(O)} ]",
-            "    Ipv6AddressCount : ${2:Integer(O)}",
-            "    Ipv6Addresses : [ ${2:aws-ec2-instancenetworkinterface.InstanceIpv6Address(O)} ]",
-            "    NetworkInterfaceId : ${2:String(O)}",
-            "    PrivateIpAddress : ${2:String(O)}",
-            "    PrivateIpAddresses : [ ${2:aws-ec2-instancenetworkinterface.PrivateIpAddressSpecification(O)} ]",
-            "    SecondaryPrivateIpAddressCount : ${2:Integer(O)}",
-            "    SubnetId : ${2:String(O)}"
+            "    DeleteOnTermination : ${3:Boolean(O)}",
+            "    Description : ${4:String(O)}",
+            "    DeviceIndex : ${5:String(R)}",
+            "    GroupSet : [ ${6:String(O)} ]",
+            "    Ipv6AddressCount : ${7:Integer(O)}",
+            "    Ipv6Addresses : [ ${8:aws-ec2-instancenetworkinterface.InstanceIpv6Address(O)} ]",
+            "    NetworkInterfaceId : ${9:String(O)}",
+            "    PrivateIpAddress : ${10:String(O)}",
+            "    PrivateIpAddresses : [ ${11:aws-ec2-instancenetworkinterface.PrivateIpAddressSpecification(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${12:Integer(O)}",
+            "    SubnetId : ${13:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12299,7 +12299,7 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.ApplicationSource",
             "  Properties:",
             "    CloudFormationStackARN : ${2:String(O)}",
-            "    TagFilters : [ ${2:aws-autoscalingplans-scalingplanapplicationsource.TagFilter(O)} ]"
+            "    TagFilters : [ ${3:aws-autoscalingplans-scalingplanapplicationsource.TagFilter(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12322,7 +12322,7 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.RecordFormat",
             "  Properties:",
             "    MappingParameters : ${2:aws-kinesisanalyticsv2-applicationrecordformat.MappingParameters(O)}",
-            "    RecordFormatType : ${2:String(R)}"
+            "    RecordFormatType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12334,7 +12334,7 @@
             "  Type: AWS::AutoScaling::ScalingPolicy.MetricDimension",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12346,16 +12346,16 @@
             "  Type: AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification",
             "  Properties:",
             "    AssociatePublicIpAddress : ${2:Boolean(O)}",
-            "    DeleteOnTermination : ${2:Boolean(O)}",
-            "    Description : ${2:String(O)}",
-            "    DeviceIndex : ${2:Integer(O)}",
-            "    Groups : [ ${2:String(O)} ]",
-            "    Ipv6AddressCount : ${2:Integer(O)}",
-            "    Ipv6Addresses : [ ${2:aws-ec2-spotfleetinstancenetworkinterfacespecification.InstanceIpv6Address(O)} ]",
-            "    NetworkInterfaceId : ${2:String(O)}",
-            "    PrivateIpAddresses : [ ${2:aws-ec2-spotfleetinstancenetworkinterfacespecification.PrivateIpAddressSpecification(O)} ]",
-            "    SecondaryPrivateIpAddressCount : ${2:Integer(O)}",
-            "    SubnetId : ${2:String(O)}"
+            "    DeleteOnTermination : ${3:Boolean(O)}",
+            "    Description : ${4:String(O)}",
+            "    DeviceIndex : ${5:Integer(O)}",
+            "    Groups : [ ${6:String(O)} ]",
+            "    Ipv6AddressCount : ${7:Integer(O)}",
+            "    Ipv6Addresses : [ ${8:aws-ec2-spotfleetinstancenetworkinterfacespecification.InstanceIpv6Address(O)} ]",
+            "    NetworkInterfaceId : ${9:String(O)}",
+            "    PrivateIpAddresses : [ ${10:aws-ec2-spotfleetinstancenetworkinterfacespecification.PrivateIpAddressSpecification(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${11:Integer(O)}",
+            "    SubnetId : ${12:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12367,10 +12367,10 @@
             "  Type: AWS::ECS::TaskDefinition.DockerVolumeConfiguration",
             "  Properties:",
             "    Autoprovision : ${2:Boolean(O)}",
-            "    Driver : ${2:String(O)}",
-            "    DriverOpts : [ ${2:String(O)} ]",
-            "    Labels : [ ${2:String(O)} ]",
-            "    Scope : ${2:String(O)}"
+            "    Driver : ${3:String(O)}",
+            "    DriverOpts : [ ${4:String(O)} ]",
+            "    Labels : [ ${5:String(O)} ]",
+            "    Scope : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12382,7 +12382,7 @@
             "  Type: AWS::WAFRegional::IPSet.IPSetDescriptor",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12394,34 +12394,34 @@
             "  Type: AWS::ECS::TaskDefinition.ContainerDefinition",
             "  Properties:",
             "    Command : [ ${2:String(O)} ]",
-            "    Cpu : ${2:Integer(O)}",
-            "    DisableNetworking : ${2:Boolean(O)}",
-            "    DnsSearchDomains : [ ${2:String(O)} ]",
-            "    DnsServers : [ ${2:String(O)} ]",
-            "    DockerLabels : [ ${2:String(O)} ]",
-            "    DockerSecurityOptions : [ ${2:String(O)} ]",
-            "    EntryPoint : [ ${2:String(O)} ]",
-            "    Environment : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.KeyValuePair(O)} ]",
-            "    Essential : ${2:Boolean(O)}",
-            "    ExtraHosts : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.HostEntry(O)} ]",
-            "    HealthCheck : ${2:aws-ecs-taskdefinitioncontainerdefinition.HealthCheck(O)}",
-            "    Hostname : ${2:String(O)}",
-            "    Image : ${2:String(O)}",
-            "    Links : [ ${2:String(O)} ]",
-            "    LinuxParameters : ${2:aws-ecs-taskdefinitioncontainerdefinition.LinuxParameters(O)}",
-            "    LogConfiguration : ${2:aws-ecs-taskdefinitioncontainerdefinition.LogConfiguration(O)}",
-            "    Memory : ${2:Integer(O)}",
-            "    MemoryReservation : ${2:Integer(O)}",
-            "    MountPoints : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.MountPoint(O)} ]",
-            "    Name : ${2:String(O)}",
-            "    PortMappings : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.PortMapping(O)} ]",
-            "    Privileged : ${2:Boolean(O)}",
-            "    ReadonlyRootFilesystem : ${2:Boolean(O)}",
-            "    RepositoryCredentials : ${2:aws-ecs-taskdefinitioncontainerdefinition.RepositoryCredentials(O)}",
-            "    Ulimits : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.Ulimit(O)} ]",
-            "    User : ${2:String(O)}",
-            "    VolumesFrom : [ ${2:aws-ecs-taskdefinitioncontainerdefinition.VolumeFrom(O)} ]",
-            "    WorkingDirectory : ${2:String(O)}"
+            "    Cpu : ${3:Integer(O)}",
+            "    DisableNetworking : ${4:Boolean(O)}",
+            "    DnsSearchDomains : [ ${5:String(O)} ]",
+            "    DnsServers : [ ${6:String(O)} ]",
+            "    DockerLabels : [ ${7:String(O)} ]",
+            "    DockerSecurityOptions : [ ${8:String(O)} ]",
+            "    EntryPoint : [ ${9:String(O)} ]",
+            "    Environment : [ ${10:aws-ecs-taskdefinitioncontainerdefinition.KeyValuePair(O)} ]",
+            "    Essential : ${11:Boolean(O)}",
+            "    ExtraHosts : [ ${12:aws-ecs-taskdefinitioncontainerdefinition.HostEntry(O)} ]",
+            "    HealthCheck : ${13:aws-ecs-taskdefinitioncontainerdefinition.HealthCheck(O)}",
+            "    Hostname : ${14:String(O)}",
+            "    Image : ${15:String(O)}",
+            "    Links : [ ${16:String(O)} ]",
+            "    LinuxParameters : ${17:aws-ecs-taskdefinitioncontainerdefinition.LinuxParameters(O)}",
+            "    LogConfiguration : ${18:aws-ecs-taskdefinitioncontainerdefinition.LogConfiguration(O)}",
+            "    Memory : ${19:Integer(O)}",
+            "    MemoryReservation : ${20:Integer(O)}",
+            "    MountPoints : [ ${21:aws-ecs-taskdefinitioncontainerdefinition.MountPoint(O)} ]",
+            "    Name : ${22:String(O)}",
+            "    PortMappings : [ ${23:aws-ecs-taskdefinitioncontainerdefinition.PortMapping(O)} ]",
+            "    Privileged : ${24:Boolean(O)}",
+            "    ReadonlyRootFilesystem : ${25:Boolean(O)}",
+            "    RepositoryCredentials : ${26:aws-ecs-taskdefinitioncontainerdefinition.RepositoryCredentials(O)}",
+            "    Ulimits : [ ${27:aws-ecs-taskdefinitioncontainerdefinition.Ulimit(O)} ]",
+            "    User : ${28:String(O)}",
+            "    VolumesFrom : [ ${29:aws-ecs-taskdefinitioncontainerdefinition.VolumeFrom(O)} ]",
+            "    WorkingDirectory : ${30:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12433,19 +12433,19 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction",
             "  Properties:",
             "    DisableDynamicScaling : ${2:Boolean(O)}",
-            "    ServiceNamespace : ${2:String(R)}",
-            "    PredictiveScalingMaxCapacityBehavior : ${2:String(O)}",
-            "    ScalableDimension : ${2:String(R)}",
-            "    ScalingPolicyUpdateBehavior : ${2:String(O)}",
-            "    MinCapacity : ${2:Integer(R)}",
-            "    TargetTrackingConfigurations : [ ${2:aws-autoscalingplans-scalingplanscalinginstruction.TargetTrackingConfiguration(R)} ]",
-            "    PredictiveScalingMaxCapacityBuffer : ${2:Integer(O)}",
-            "    CustomizedLoadMetricSpecification : ${2:aws-autoscalingplans-scalingplanscalinginstruction.CustomizedLoadMetricSpecification(O)}",
-            "    PredefinedLoadMetricSpecification : ${2:aws-autoscalingplans-scalingplanscalinginstruction.PredefinedLoadMetricSpecification(O)}",
-            "    ResourceId : ${2:String(R)}",
-            "    ScheduledActionBufferTime : ${2:Integer(O)}",
-            "    MaxCapacity : ${2:Integer(R)}",
-            "    PredictiveScalingMode : ${2:String(O)}"
+            "    ServiceNamespace : ${3:String(R)}",
+            "    PredictiveScalingMaxCapacityBehavior : ${4:String(O)}",
+            "    ScalableDimension : ${5:String(R)}",
+            "    ScalingPolicyUpdateBehavior : ${6:String(O)}",
+            "    MinCapacity : ${7:Integer(R)}",
+            "    TargetTrackingConfigurations : [ ${8:aws-autoscalingplans-scalingplanscalinginstruction.TargetTrackingConfiguration(R)} ]",
+            "    PredictiveScalingMaxCapacityBuffer : ${9:Integer(O)}",
+            "    CustomizedLoadMetricSpecification : ${10:aws-autoscalingplans-scalingplanscalinginstruction.CustomizedLoadMetricSpecification(O)}",
+            "    PredefinedLoadMetricSpecification : ${11:aws-autoscalingplans-scalingplanscalinginstruction.PredefinedLoadMetricSpecification(O)}",
+            "    ResourceId : ${12:String(R)}",
+            "    ScheduledActionBufferTime : ${13:Integer(O)}",
+            "    MaxCapacity : ${14:Integer(R)}",
+            "    PredictiveScalingMode : ${15:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12457,8 +12457,8 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters",
             "  Properties:",
             "    ClientContext : ${2:String(O)}",
-            "    Qualifier : ${2:String(O)}",
-            "    Payload : ${2:String(O)}"
+            "    Qualifier : ${3:String(O)}",
+            "    Payload : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12481,7 +12481,7 @@
             "  Type: AWS::WAF::SqlInjectionMatchSet.FieldToMatch",
             "  Properties:",
             "    Data : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12493,7 +12493,7 @@
             "  Type: AWS::DataPipeline::Pipeline.ParameterObject",
             "  Properties:",
             "    Attributes : [ ${2:aws-datapipeline-pipelineparameterobject.ParameterAttribute(R)} ]",
-            "    Id : ${2:String(R)}"
+            "    Id : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12505,8 +12505,8 @@
             "  Type: AWS::CodePipeline::Pipeline.StageDeclaration",
             "  Properties:",
             "    Actions : [ ${2:aws-codepipeline-pipelinestagedeclaration.ActionDeclaration(R)} ]",
-            "    Blockers : [ ${2:aws-codepipeline-pipelinestagedeclaration.BlockerDeclaration(O)} ]",
-            "    Name : ${2:String(R)}"
+            "    Blockers : [ ${3:aws-codepipeline-pipelinestagedeclaration.BlockerDeclaration(O)} ]",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12518,7 +12518,7 @@
             "  Type: AWS::EMR::Cluster.ScalingConstraints",
             "  Properties:",
             "    MaxCapacity : ${2:Integer(R)}",
-            "    MinCapacity : ${2:Integer(R)}"
+            "    MinCapacity : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12530,7 +12530,7 @@
             "  Type: AWS::EMR::InstanceGroupConfig.MetricDimension",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12542,8 +12542,8 @@
             "  Type: AWS::ApiGateway::Method.MethodResponse",
             "  Properties:",
             "    ResponseModels : [ ${2:String(O)} ]",
-            "    ResponseParameters : [ ${2:Boolean(O)} ]",
-            "    StatusCode : ${2:String(R)}"
+            "    ResponseParameters : [ ${3:Boolean(O)} ]",
+            "    StatusCode : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12555,7 +12555,7 @@
             "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration",
             "  Properties:",
             "    ApplicationName : ${2:String(R)}",
-            "    TemplateName : ${2:String(R)}"
+            "    TemplateName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12567,11 +12567,11 @@
             "  Type: AWS::ElasticLoadBalancingV2::Listener.RedirectConfig",
             "  Properties:",
             "    Host : ${2:String(O)}",
-            "    Path : ${2:String(O)}",
-            "    Port : ${2:String(O)}",
-            "    Protocol : ${2:String(O)}",
-            "    Query : ${2:String(O)}",
-            "    StatusCode : ${2:String(R)}"
+            "    Path : ${3:String(O)}",
+            "    Port : ${4:String(O)}",
+            "    Protocol : ${5:String(O)}",
+            "    Query : ${6:String(O)}",
+            "    StatusCode : ${7:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12594,7 +12594,7 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration",
             "  Properties:",
             "    NotificationTypes : [ ${2:String(O)} ]",
-            "    TopicARN : ${2:String(R)}"
+            "    TopicARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12606,7 +12606,7 @@
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput",
             "  Properties:",
             "    ResourceARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12618,8 +12618,8 @@
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.Function",
             "  Properties:",
             "    FunctionArn : ${2:String(R)}",
-            "    FunctionConfiguration : ${2:aws-greengrass-functiondefinitionversionfunction.FunctionConfiguration(R)}",
-            "    Id : ${2:String(R)}"
+            "    FunctionConfiguration : ${3:aws-greengrass-functiondefinitionversionfunction.FunctionConfiguration(R)}",
+            "    Id : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12642,7 +12642,7 @@
             "  Type: AWS::Glue::Partition.Order",
             "  Properties:",
             "    Column : ${2:String(R)}",
-            "    SortOrder : ${2:Integer(O)}"
+            "    SortOrder : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12654,8 +12654,8 @@
             "  Type: AWS::ServiceDiscovery::Service.DnsConfig",
             "  Properties:",
             "    DnsRecords : [ ${2:aws-servicediscovery-servicednsconfig.DnsRecord(R)} ]",
-            "    RoutingPolicy : ${2:String(O)}",
-            "    NamespaceId : ${2:String(O)}"
+            "    RoutingPolicy : ${3:String(O)}",
+            "    NamespaceId : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12667,19 +12667,19 @@
             "  Type: AWS::ApiGateway::Method.Integration",
             "  Properties:",
             "    CacheKeyParameters : [ ${2:String(O)} ]",
-            "    CacheNamespace : ${2:String(O)}",
-            "    ConnectionId : ${2:String(O)}",
-            "    ConnectionType : ${2:String(O)}",
-            "    ContentHandling : ${2:String(O)}",
-            "    Credentials : ${2:String(O)}",
-            "    IntegrationHttpMethod : ${2:String(O)}",
-            "    IntegrationResponses : [ ${2:aws-apigateway-methodintegration.IntegrationResponse(O)} ]",
-            "    PassthroughBehavior : ${2:String(O)}",
-            "    RequestParameters : [ ${2:String(O)} ]",
-            "    RequestTemplates : [ ${2:String(O)} ]",
-            "    TimeoutInMillis : ${2:Integer(O)}",
-            "    Type : ${2:String(O)}",
-            "    Uri : ${2:String(O)}"
+            "    CacheNamespace : ${3:String(O)}",
+            "    ConnectionId : ${4:String(O)}",
+            "    ConnectionType : ${5:String(O)}",
+            "    ContentHandling : ${6:String(O)}",
+            "    Credentials : ${7:String(O)}",
+            "    IntegrationHttpMethod : ${8:String(O)}",
+            "    IntegrationResponses : [ ${9:aws-apigateway-methodintegration.IntegrationResponse(O)} ]",
+            "    PassthroughBehavior : ${10:String(O)}",
+            "    RequestParameters : [ ${11:String(O)} ]",
+            "    RequestTemplates : [ ${12:String(O)} ]",
+            "    TimeoutInMillis : ${13:Integer(O)}",
+            "    Type : ${14:String(O)}",
+            "    Uri : ${15:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12713,7 +12713,7 @@
             "  Type: AWS::IoT::TopicRule.RepublishAction",
             "  Properties:",
             "    RoleArn : ${2:String(R)}",
-            "    Topic : ${2:String(R)}"
+            "    Topic : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12725,8 +12725,8 @@
             "  Type: AWS::Glue::Table.SkewedInfo",
             "  Properties:",
             "    SkewedColumnNames : [ ${2:String(O)} ]",
-            "    SkewedColumnValues : [ ${2:String(O)} ]",
-            "    SkewedColumnValueLocationMaps : ${2:Json(O)}"
+            "    SkewedColumnValues : [ ${3:String(O)} ]",
+            "    SkewedColumnValueLocationMaps : ${4:Json(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12738,7 +12738,7 @@
             "  Type: AWS::ServiceDiscovery::Service.DnsRecord",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    TTL : ${2:Double(R)}"
+            "    TTL : ${3:Double(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12750,9 +12750,9 @@
             "  Type: AWS::Greengrass::DeviceDefinition.Device",
             "  Properties:",
             "    SyncShadow : ${2:Boolean(O)}",
-            "    ThingArn : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    CertificateArn : ${2:String(R)}"
+            "    ThingArn : ${3:String(R)}",
+            "    Id : ${4:String(R)}",
+            "    CertificateArn : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12764,9 +12764,9 @@
             "  Type: AWS::Config::ConfigRule.Scope",
             "  Properties:",
             "    ComplianceResourceId : ${2:String(O)}",
-            "    ComplianceResourceTypes : [ ${2:String(O)} ]",
-            "    TagKey : ${2:String(O)}",
-            "    TagValue : ${2:String(O)}"
+            "    ComplianceResourceTypes : [ ${3:String(O)} ]",
+            "    TagKey : ${4:String(O)}",
+            "    TagValue : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12778,9 +12778,9 @@
             "  Type: AWS::CloudFront::Distribution.ForwardedValues",
             "  Properties:",
             "    Cookies : ${2:aws-cloudfront-distributionforwardedvalues.Cookies(O)}",
-            "    Headers : [ ${2:String(O)} ]",
-            "    QueryString : ${2:Boolean(R)}",
-            "    QueryStringCacheKeys : [ ${2:String(O)} ]"
+            "    Headers : [ ${3:String(O)} ]",
+            "    QueryString : ${4:Boolean(R)}",
+            "    QueryStringCacheKeys : [ ${5:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12792,7 +12792,7 @@
             "  Type: AWS::WAF::XssMatchSet.FieldToMatch",
             "  Properties:",
             "    Data : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12804,10 +12804,10 @@
             "  Type: AWS::ApiGateway::Method.IntegrationResponse",
             "  Properties:",
             "    ContentHandling : ${2:String(O)}",
-            "    ResponseParameters : [ ${2:String(O)} ]",
-            "    ResponseTemplates : [ ${2:String(O)} ]",
-            "    SelectionPattern : ${2:String(O)}",
-            "    StatusCode : ${2:String(R)}"
+            "    ResponseParameters : [ ${3:String(O)} ]",
+            "    ResponseTemplates : [ ${4:String(O)} ]",
+            "    SelectionPattern : ${5:String(O)}",
+            "    StatusCode : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12830,7 +12830,7 @@
             "  Type: AWS::Budgets::Budget.Subscriber",
             "  Properties:",
             "    SubscriptionType : ${2:String(R)}",
-            "    Address : ${2:String(R)}"
+            "    Address : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12842,7 +12842,7 @@
             "  Type: AWS::EMR::Cluster.ScalingAction",
             "  Properties:",
             "    Market : ${2:String(O)}",
-            "    SimpleScalingPolicyConfiguration : ${2:aws-emr-clusterscalingaction.SimpleScalingPolicyConfiguration(R)}"
+            "    SimpleScalingPolicyConfiguration : ${3:aws-emr-clusterscalingaction.SimpleScalingPolicyConfiguration(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12854,22 +12854,22 @@
             "  Type: AWS::EC2::SpotFleet.SpotFleetLaunchSpecification",
             "  Properties:",
             "    BlockDeviceMappings : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.BlockDeviceMapping(O)} ]",
-            "    EbsOptimized : ${2:Boolean(O)}",
-            "    IamInstanceProfile : ${2:aws-ec2-spotfleetspotfleetlaunchspecification.IamInstanceProfileSpecification(O)}",
-            "    ImageId : ${2:String(R)}",
-            "    InstanceType : ${2:String(R)}",
-            "    KernelId : ${2:String(O)}",
-            "    KeyName : ${2:String(O)}",
-            "    Monitoring : ${2:aws-ec2-spotfleetspotfleetlaunchspecification.SpotFleetMonitoring(O)}",
-            "    NetworkInterfaces : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.InstanceNetworkInterfaceSpecification(O)} ]",
-            "    Placement : ${2:aws-ec2-spotfleetspotfleetlaunchspecification.SpotPlacement(O)}",
-            "    RamdiskId : ${2:String(O)}",
-            "    SecurityGroups : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.GroupIdentifier(O)} ]",
-            "    SpotPrice : ${2:String(O)}",
-            "    SubnetId : ${2:String(O)}",
-            "    TagSpecifications : [ ${2:aws-ec2-spotfleetspotfleetlaunchspecification.SpotFleetTagSpecification(O)} ]",
-            "    UserData : ${2:String(O)}",
-            "    WeightedCapacity : ${2:Double(O)}"
+            "    EbsOptimized : ${3:Boolean(O)}",
+            "    IamInstanceProfile : ${4:aws-ec2-spotfleetspotfleetlaunchspecification.IamInstanceProfileSpecification(O)}",
+            "    ImageId : ${5:String(R)}",
+            "    InstanceType : ${6:String(R)}",
+            "    KernelId : ${7:String(O)}",
+            "    KeyName : ${8:String(O)}",
+            "    Monitoring : ${9:aws-ec2-spotfleetspotfleetlaunchspecification.SpotFleetMonitoring(O)}",
+            "    NetworkInterfaces : [ ${10:aws-ec2-spotfleetspotfleetlaunchspecification.InstanceNetworkInterfaceSpecification(O)} ]",
+            "    Placement : ${11:aws-ec2-spotfleetspotfleetlaunchspecification.SpotPlacement(O)}",
+            "    RamdiskId : ${12:String(O)}",
+            "    SecurityGroups : [ ${13:aws-ec2-spotfleetspotfleetlaunchspecification.GroupIdentifier(O)} ]",
+            "    SpotPrice : ${14:String(O)}",
+            "    SubnetId : ${15:String(O)}",
+            "    TagSpecifications : [ ${16:aws-ec2-spotfleetspotfleetlaunchspecification.SpotFleetTagSpecification(O)} ]",
+            "    UserData : ${17:String(O)}",
+            "    WeightedCapacity : ${18:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12881,7 +12881,7 @@
             "  Type: AWS::ECS::TaskDefinition.KeyValuePair",
             "  Properties:",
             "    Name : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    Value : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12893,9 +12893,9 @@
             "  Type: AWS::CodePipeline::CustomActionType.Settings",
             "  Properties:",
             "    EntityUrlTemplate : ${2:String(O)}",
-            "    ExecutionUrlTemplate : ${2:String(O)}",
-            "    RevisionUrlTemplate : ${2:String(O)}",
-            "    ThirdPartyConfigurationUrl : ${2:String(O)}"
+            "    ExecutionUrlTemplate : ${3:String(O)}",
+            "    RevisionUrlTemplate : ${4:String(O)}",
+            "    ThirdPartyConfigurationUrl : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12907,9 +12907,9 @@
             "  Type: AWS::S3::Bucket.AnalyticsConfiguration",
             "  Properties:",
             "    Id : ${2:String(R)}",
-            "    Prefix : ${2:String(O)}",
-            "    StorageClassAnalysis : ${2:aws-s3-bucketanalyticsconfiguration.StorageClassAnalysis(R)}",
-            "    TagFilters : [ ${2:aws-s3-bucketanalyticsconfiguration.TagFilter(O)} ]"
+            "    Prefix : ${3:String(O)}",
+            "    StorageClassAnalysis : ${4:aws-s3-bucketanalyticsconfiguration.StorageClassAnalysis(R)}",
+            "    TagFilters : [ ${5:aws-s3-bucketanalyticsconfiguration.TagFilter(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12921,9 +12921,9 @@
             "  Type: AWS::Budgets::Budget.Notification",
             "  Properties:",
             "    ComparisonOperator : ${2:String(R)}",
-            "    NotificationType : ${2:String(R)}",
-            "    Threshold : ${2:Double(R)}",
-            "    ThresholdType : ${2:String(O)}"
+            "    NotificationType : ${3:String(R)}",
+            "    Threshold : ${4:Double(R)}",
+            "    ThresholdType : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12935,12 +12935,12 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration",
             "  Properties:",
             "    ScaleOutCooldown : ${2:Integer(O)}",
-            "    TargetValue : ${2:Double(R)}",
-            "    PredefinedScalingMetricSpecification : ${2:aws-autoscalingplans-scalingplantargettrackingconfiguration.PredefinedScalingMetricSpecification(O)}",
-            "    DisableScaleIn : ${2:Boolean(O)}",
-            "    ScaleInCooldown : ${2:Integer(O)}",
-            "    EstimatedInstanceWarmup : ${2:Integer(O)}",
-            "    CustomizedScalingMetricSpecification : ${2:aws-autoscalingplans-scalingplantargettrackingconfiguration.CustomizedScalingMetricSpecification(O)}"
+            "    TargetValue : ${3:Double(R)}",
+            "    PredefinedScalingMetricSpecification : ${4:aws-autoscalingplans-scalingplantargettrackingconfiguration.PredefinedScalingMetricSpecification(O)}",
+            "    DisableScaleIn : ${5:Boolean(O)}",
+            "    ScaleInCooldown : ${6:Integer(O)}",
+            "    EstimatedInstanceWarmup : ${7:Integer(O)}",
+            "    CustomizedScalingMetricSpecification : ${8:aws-autoscalingplans-scalingplantargettrackingconfiguration.CustomizedScalingMetricSpecification(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12963,8 +12963,8 @@
             "  Type: AWS::GameLift::Alias.RoutingStrategy",
             "  Properties:",
             "    FleetId : ${2:String(O)}",
-            "    Message : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Message : ${3:String(O)}",
+            "    Type : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -12998,8 +12998,8 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.NotificationConfig",
             "  Properties:",
             "    NotificationArn : ${2:String(R)}",
-            "    NotificationType : ${2:String(O)}",
-            "    NotificationEvents : [ ${2:String(O)} ]"
+            "    NotificationType : ${3:String(O)}",
+            "    NotificationEvents : [ ${4:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13011,8 +13011,8 @@
             "  Type: AWS::EMR::InstanceFleetConfig.Configuration",
             "  Properties:",
             "    Classification : ${2:String(O)}",
-            "    ConfigurationProperties : [ ${2:String(O)} ]",
-            "    Configurations : [ ${2:aws-emr-instancefleetconfigconfiguration.Configuration(O)} ]"
+            "    ConfigurationProperties : [ ${3:String(O)} ]",
+            "    Configurations : [ ${4:aws-emr-instancefleetconfigconfiguration.Configuration(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13024,8 +13024,8 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.CodeContent",
             "  Properties:",
             "    ZipFileContent : ${2:String(O)}",
-            "    S3ContentLocation : ${2:aws-kinesisanalyticsv2-applicationcodecontent.S3ContentLocation(O)}",
-            "    TextContent : ${2:String(O)}"
+            "    S3ContentLocation : ${3:aws-kinesisanalyticsv2-applicationcodecontent.S3ContentLocation(O)}",
+            "    TextContent : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13037,7 +13037,7 @@
             "  Type: AWS::Cognito::UserPoolUser.AttributeType",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13049,17 +13049,17 @@
             "  Type: AWS::Glue::Table.StorageDescriptor",
             "  Properties:",
             "    StoredAsSubDirectories : ${2:Boolean(O)}",
-            "    Parameters : ${2:Json(O)}",
-            "    BucketColumns : [ ${2:String(O)} ]",
-            "    SkewedInfo : ${2:aws-glue-tablestoragedescriptor.SkewedInfo(O)}",
-            "    InputFormat : ${2:String(O)}",
-            "    NumberOfBuckets : ${2:Integer(O)}",
-            "    OutputFormat : ${2:String(O)}",
-            "    Columns : [ ${2:aws-glue-tablestoragedescriptor.Column(O)} ]",
-            "    SerdeInfo : ${2:aws-glue-tablestoragedescriptor.SerdeInfo(O)}",
-            "    SortColumns : [ ${2:aws-glue-tablestoragedescriptor.Order(O)} ]",
-            "    Compressed : ${2:Boolean(O)}",
-            "    Location : ${2:String(O)}"
+            "    Parameters : ${3:Json(O)}",
+            "    BucketColumns : [ ${4:String(O)} ]",
+            "    SkewedInfo : ${5:aws-glue-tablestoragedescriptor.SkewedInfo(O)}",
+            "    InputFormat : ${6:String(O)}",
+            "    NumberOfBuckets : ${7:Integer(O)}",
+            "    OutputFormat : ${8:String(O)}",
+            "    Columns : [ ${9:aws-glue-tablestoragedescriptor.Column(O)} ]",
+            "    SerdeInfo : ${10:aws-glue-tablestoragedescriptor.SerdeInfo(O)}",
+            "    SortColumns : [ ${11:aws-glue-tablestoragedescriptor.Order(O)} ]",
+            "    Compressed : ${12:Boolean(O)}",
+            "    Location : ${13:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13071,7 +13071,7 @@
             "  Type: AWS::IAM::User.LoginProfile",
             "  Properties:",
             "    Password : ${2:String(R)}",
-            "    PasswordResetRequired : ${2:Boolean(O)}"
+            "    PasswordResetRequired : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13094,9 +13094,9 @@
             "  Type: AWS::Greengrass::SubscriptionDefinition.Subscription",
             "  Properties:",
             "    Target : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    Source : ${2:String(R)}",
-            "    Subject : ${2:String(R)}"
+            "    Id : ${3:String(R)}",
+            "    Source : ${4:String(R)}",
+            "    Subject : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13108,15 +13108,15 @@
             "  Type: AWS::ApiGateway::Stage.MethodSetting",
             "  Properties:",
             "    CacheDataEncrypted : ${2:Boolean(O)}",
-            "    CacheTtlInSeconds : ${2:Integer(O)}",
-            "    CachingEnabled : ${2:Boolean(O)}",
-            "    DataTraceEnabled : ${2:Boolean(O)}",
-            "    HttpMethod : ${2:String(O)}",
-            "    LoggingLevel : ${2:String(O)}",
-            "    MetricsEnabled : ${2:Boolean(O)}",
-            "    ResourcePath : ${2:String(O)}",
-            "    ThrottlingBurstLimit : ${2:Integer(O)}",
-            "    ThrottlingRateLimit : ${2:Double(O)}"
+            "    CacheTtlInSeconds : ${3:Integer(O)}",
+            "    CachingEnabled : ${4:Boolean(O)}",
+            "    DataTraceEnabled : ${5:Boolean(O)}",
+            "    HttpMethod : ${6:String(O)}",
+            "    LoggingLevel : ${7:String(O)}",
+            "    MetricsEnabled : ${8:Boolean(O)}",
+            "    ResourcePath : ${9:String(O)}",
+            "    ThrottlingBurstLimit : ${10:Integer(O)}",
+            "    ThrottlingRateLimit : ${11:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13128,7 +13128,7 @@
             "  Type: AWS::DynamoDB::Table.ProvisionedThroughput",
             "  Properties:",
             "    ReadCapacityUnits : ${2:Long(R)}",
-            "    WriteCapacityUnits : ${2:Long(R)}"
+            "    WriteCapacityUnits : ${3:Long(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13140,11 +13140,11 @@
             "  Type: AWS::OpsWorks::Stack.Source",
             "  Properties:",
             "    Password : ${2:String(O)}",
-            "    Revision : ${2:String(O)}",
-            "    SshKey : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Url : ${2:String(O)}",
-            "    Username : ${2:String(O)}"
+            "    Revision : ${3:String(O)}",
+            "    SshKey : ${4:String(O)}",
+            "    Type : ${5:String(O)}",
+            "    Url : ${6:String(O)}",
+            "    Username : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13156,10 +13156,10 @@
             "  Type: AWS::EC2::LaunchTemplate.Placement",
             "  Properties:",
             "    GroupName : ${2:String(O)}",
-            "    Tenancy : ${2:String(O)}",
-            "    AvailabilityZone : ${2:String(O)}",
-            "    Affinity : ${2:String(O)}",
-            "    HostId : ${2:String(O)}"
+            "    Tenancy : ${3:String(O)}",
+            "    AvailabilityZone : ${4:String(O)}",
+            "    Affinity : ${5:String(O)}",
+            "    HostId : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13182,7 +13182,7 @@
             "  Type: AWS::S3::Bucket.LoggingConfiguration",
             "  Properties:",
             "    DestinationBucketName : ${2:String(O)}",
-            "    LogFilePrefix : ${2:String(O)}"
+            "    LogFilePrefix : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13205,7 +13205,7 @@
             "  Type: AWS::S3::Bucket.RoutingRule",
             "  Properties:",
             "    RedirectRule : ${2:aws-s3-bucketroutingrule.RedirectRule(R)}",
-            "    RoutingRuleCondition : ${2:aws-s3-bucketroutingrule.RoutingRuleCondition(O)}"
+            "    RoutingRuleCondition : ${3:aws-s3-bucketroutingrule.RoutingRuleCondition(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13217,10 +13217,10 @@
             "  Type: AWS::Greengrass::LoggerDefinition.Logger",
             "  Properties:",
             "    Space : ${2:Integer(O)}",
-            "    Type : ${2:String(R)}",
-            "    Level : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    Component : ${2:String(R)}"
+            "    Type : ${3:String(R)}",
+            "    Level : ${4:String(R)}",
+            "    Id : ${5:String(R)}",
+            "    Component : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13232,10 +13232,10 @@
             "  Type: AWS::EMR::Cluster.KerberosAttributes",
             "  Properties:",
             "    ADDomainJoinPassword : ${2:String(O)}",
-            "    ADDomainJoinUser : ${2:String(O)}",
-            "    CrossRealmTrustPrincipalPassword : ${2:String(O)}",
-            "    KdcAdminPassword : ${2:String(R)}",
-            "    Realm : ${2:String(R)}"
+            "    ADDomainJoinUser : ${3:String(O)}",
+            "    CrossRealmTrustPrincipalPassword : ${4:String(O)}",
+            "    KdcAdminPassword : ${5:String(R)}",
+            "    Realm : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13247,8 +13247,8 @@
             "  Type: AWS::Route53::RecordSet.GeoLocation",
             "  Properties:",
             "    ContinentCode : ${2:String(O)}",
-            "    CountryCode : ${2:String(O)}",
-            "    SubdivisionCode : ${2:String(O)}"
+            "    CountryCode : ${3:String(O)}",
+            "    SubdivisionCode : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13271,7 +13271,7 @@
             "  Type: AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification",
             "  Properties:",
             "    PredefinedMetricType : ${2:String(R)}",
-            "    ResourceLabel : ${2:String(O)}"
+            "    ResourceLabel : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13283,8 +13283,8 @@
             "  Type: AWS::Lambda::LayerVersion.Content",
             "  Properties:",
             "    S3ObjectVersion : ${2:String(O)}",
-            "    S3Bucket : ${2:String(R)}",
-            "    S3Key : ${2:String(R)}"
+            "    S3Bucket : ${3:String(R)}",
+            "    S3Key : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13296,7 +13296,7 @@
             "  Type: AWS::IoTAnalytics::Dataset.QueryAction",
             "  Properties:",
             "    Filters : [ ${2:aws-iotanalytics-datasetqueryaction.Filter(O)} ]",
-            "    SqlQuery : ${2:String(R)}"
+            "    SqlQuery : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13319,7 +13319,7 @@
             "  Type: AWS::SSM::Association.Target",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Values : [ ${2:String(R)} ]"
+            "    Values : [ ${3:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13342,8 +13342,8 @@
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment",
             "  Properties:",
             "    MetricIntervalLowerBound : ${2:Double(O)}",
-            "    MetricIntervalUpperBound : ${2:Double(O)}",
-            "    ScalingAdjustment : ${2:Integer(R)}"
+            "    MetricIntervalUpperBound : ${3:Double(O)}",
+            "    ScalingAdjustment : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13355,7 +13355,7 @@
             "  Type: AWS::CodePipeline::Pipeline.StageTransition",
             "  Properties:",
             "    Reason : ${2:String(R)}",
-            "    StageName : ${2:String(R)}"
+            "    StageName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13367,7 +13367,7 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters",
             "  Properties:",
             "    Parameters : ${2:Json(O)}",
-            "    DocumentVersion : ${2:String(O)}"
+            "    DocumentVersion : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13379,8 +13379,8 @@
             "  Type: AWS::IoT::TopicRule.StepFunctionsAction",
             "  Properties:",
             "    ExecutionNamePrefix : ${2:String(O)}",
-            "    RoleArn : ${2:String(R)}",
-            "    StateMachineName : ${2:String(R)}"
+            "    RoleArn : ${3:String(R)}",
+            "    StateMachineName : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13392,19 +13392,19 @@
             "  Type: AWS::EC2::SpotFleet.SpotFleetRequestConfigData",
             "  Properties:",
             "    AllocationStrategy : ${2:String(O)}",
-            "    ExcessCapacityTerminationPolicy : ${2:String(O)}",
-            "    IamFleetRole : ${2:String(R)}",
-            "    InstanceInterruptionBehavior : ${2:String(O)}",
-            "    LaunchSpecifications : [ ${2:aws-ec2-spotfleetspotfleetrequestconfigdata.SpotFleetLaunchSpecification(O)} ]",
-            "    LaunchTemplateConfigs : [ ${2:aws-ec2-spotfleetspotfleetrequestconfigdata.LaunchTemplateConfig(O)} ]",
-            "    LoadBalancersConfig : ${2:aws-ec2-spotfleetspotfleetrequestconfigdata.LoadBalancersConfig(O)}",
-            "    ReplaceUnhealthyInstances : ${2:Boolean(O)}",
-            "    SpotPrice : ${2:String(O)}",
-            "    TargetCapacity : ${2:Integer(R)}",
-            "    TerminateInstancesWithExpiration : ${2:Boolean(O)}",
-            "    Type : ${2:String(O)}",
-            "    ValidFrom : ${2:String(O)}",
-            "    ValidUntil : ${2:String(O)}"
+            "    ExcessCapacityTerminationPolicy : ${3:String(O)}",
+            "    IamFleetRole : ${4:String(R)}",
+            "    InstanceInterruptionBehavior : ${5:String(O)}",
+            "    LaunchSpecifications : [ ${6:aws-ec2-spotfleetspotfleetrequestconfigdata.SpotFleetLaunchSpecification(O)} ]",
+            "    LaunchTemplateConfigs : [ ${7:aws-ec2-spotfleetspotfleetrequestconfigdata.LaunchTemplateConfig(O)} ]",
+            "    LoadBalancersConfig : ${8:aws-ec2-spotfleetspotfleetrequestconfigdata.LoadBalancersConfig(O)}",
+            "    ReplaceUnhealthyInstances : ${9:Boolean(O)}",
+            "    SpotPrice : ${10:String(O)}",
+            "    TargetCapacity : ${11:Integer(R)}",
+            "    TerminateInstancesWithExpiration : ${12:Boolean(O)}",
+            "    Type : ${13:String(O)}",
+            "    ValidFrom : ${14:String(O)}",
+            "    ValidUntil : ${15:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13416,7 +13416,7 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData",
             "  Properties:",
             "    DestinationPath : ${2:String(R)}",
-            "    S3Uri : ${2:String(R)}"
+            "    S3Uri : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13428,9 +13428,9 @@
             "  Type: AWS::AppSync::GraphQLApi.OpenIDConnectConfig",
             "  Properties:",
             "    Issuer : ${2:String(O)}",
-            "    ClientId : ${2:String(O)}",
-            "    AuthTTL : ${2:Double(O)}",
-            "    IatTTL : ${2:Double(O)}"
+            "    ClientId : ${3:String(O)}",
+            "    AuthTTL : ${4:Double(O)}",
+            "    IatTTL : ${5:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13442,8 +13442,8 @@
             "  Type: AWS::EMR::Cluster.SimpleScalingPolicyConfiguration",
             "  Properties:",
             "    AdjustmentType : ${2:String(O)}",
-            "    CoolDown : ${2:Integer(O)}",
-            "    ScalingAdjustment : ${2:Integer(R)}"
+            "    CoolDown : ${3:Integer(O)}",
+            "    ScalingAdjustment : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13455,8 +13455,8 @@
             "  Type: AWS::DLM::LifecyclePolicy.CreateRule",
             "  Properties:",
             "    IntervalUnit : ${2:String(R)}",
-            "    Times : [ ${2:String(O)} ]",
-            "    Interval : ${2:Integer(R)}"
+            "    Times : [ ${3:String(O)} ]",
+            "    Interval : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13468,7 +13468,7 @@
             "  Type: AWS::AppSync::GraphQLApi.LogConfig",
             "  Properties:",
             "    CloudWatchLogsRoleArn : ${2:String(O)}",
-            "    FieldLogLevel : ${2:String(O)}"
+            "    FieldLogLevel : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13480,8 +13480,8 @@
             "  Type: AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration",
             "  Properties:",
             "    AdjustmentType : ${2:String(O)}",
-            "    CoolDown : ${2:Integer(O)}",
-            "    ScalingAdjustment : ${2:Integer(R)}"
+            "    CoolDown : ${3:Integer(O)}",
+            "    ScalingAdjustment : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13493,10 +13493,10 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.Output",
             "  Properties:",
             "    DestinationSchema : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.DestinationSchema(R)}",
-            "    LambdaOutput : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.LambdaOutput(O)}",
-            "    KinesisFirehoseOutput : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.KinesisFirehoseOutput(O)}",
-            "    KinesisStreamsOutput : ${2:aws-kinesisanalyticsv2-applicationoutputoutput.KinesisStreamsOutput(O)}",
-            "    Name : ${2:String(O)}"
+            "    LambdaOutput : ${3:aws-kinesisanalyticsv2-applicationoutputoutput.LambdaOutput(O)}",
+            "    KinesisFirehoseOutput : ${4:aws-kinesisanalyticsv2-applicationoutputoutput.KinesisFirehoseOutput(O)}",
+            "    KinesisStreamsOutput : ${5:aws-kinesisanalyticsv2-applicationoutputoutput.KinesisStreamsOutput(O)}",
+            "    Name : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13519,7 +13519,7 @@
             "  Type: AWS::EC2::LaunchTemplate.CapacityReservationSpecification",
             "  Properties:",
             "    CapacityReservationPreference : ${2:aws-ec2-launchtemplatecapacityreservationspecification.CapacityReservationPreference(O)}",
-            "    CapacityReservationTarget : ${2:aws-ec2-launchtemplatecapacityreservationspecification.CapacityReservationTarget(O)}"
+            "    CapacityReservationTarget : ${3:aws-ec2-launchtemplatecapacityreservationspecification.CapacityReservationTarget(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13542,8 +13542,8 @@
             "  Type: AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig",
             "  Properties:",
             "    ContentType : ${2:String(O)}",
-            "    MessageBody : ${2:String(O)}",
-            "    StatusCode : ${2:String(R)}"
+            "    MessageBody : ${3:String(O)}",
+            "    StatusCode : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13555,7 +13555,7 @@
             "  Type: AWS::OpsWorks::Stack.ChefConfiguration",
             "  Properties:",
             "    BerkshelfVersion : ${2:String(O)}",
-            "    ManageBerkshelf : ${2:Boolean(O)}"
+            "    ManageBerkshelf : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13567,7 +13567,7 @@
             "  Type: AWS::AppMesh::VirtualNode.TagRef",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13579,15 +13579,15 @@
             "  Type: AWS::Events::Rule.Target",
             "  Properties:",
             "    Arn : ${2:String(R)}",
-            "    EcsParameters : ${2:aws-events-ruletarget.EcsParameters(O)}",
-            "    Id : ${2:String(R)}",
-            "    Input : ${2:String(O)}",
-            "    InputPath : ${2:String(O)}",
-            "    InputTransformer : ${2:aws-events-ruletarget.InputTransformer(O)}",
-            "    KinesisParameters : ${2:aws-events-ruletarget.KinesisParameters(O)}",
-            "    RoleArn : ${2:String(O)}",
-            "    RunCommandParameters : ${2:aws-events-ruletarget.RunCommandParameters(O)}",
-            "    SqsParameters : ${2:aws-events-ruletarget.SqsParameters(O)}"
+            "    EcsParameters : ${3:aws-events-ruletarget.EcsParameters(O)}",
+            "    Id : ${4:String(R)}",
+            "    Input : ${5:String(O)}",
+            "    InputPath : ${6:String(O)}",
+            "    InputTransformer : ${7:aws-events-ruletarget.InputTransformer(O)}",
+            "    KinesisParameters : ${8:aws-events-ruletarget.KinesisParameters(O)}",
+            "    RoleArn : ${9:String(O)}",
+            "    RunCommandParameters : ${10:aws-events-ruletarget.RunCommandParameters(O)}",
+            "    SqsParameters : ${11:aws-events-ruletarget.SqsParameters(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13599,7 +13599,7 @@
             "  Type: AWS::KinesisAnalytics::Application.KinesisStreamsInput",
             "  Properties:",
             "    ResourceARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13611,8 +13611,8 @@
             "  Type: AWS::RoboMaker::SimulationApplication.SourceConfig",
             "  Properties:",
             "    S3Bucket : ${2:String(R)}",
-            "    Architecture : ${2:String(R)}",
-            "    S3Key : ${2:String(R)}"
+            "    Architecture : ${3:String(R)}",
+            "    S3Key : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13624,7 +13624,7 @@
             "  Type: AWS::CodeBuild::Project.RegistryCredential",
             "  Properties:",
             "    Credential : ${2:String(R)}",
-            "    CredentialProvider : ${2:String(R)}"
+            "    CredentialProvider : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13636,10 +13636,10 @@
             "  Type: AWS::AppSync::DataSource.RdsHttpEndpointConfig",
             "  Properties:",
             "    AwsRegion : ${2:String(R)}",
-            "    Schema : ${2:String(O)}",
-            "    DatabaseName : ${2:String(O)}",
-            "    DbClusterIdentifier : ${2:String(R)}",
-            "    AwsSecretStoreArn : ${2:String(R)}"
+            "    Schema : ${3:String(O)}",
+            "    DatabaseName : ${4:String(O)}",
+            "    DbClusterIdentifier : ${5:String(R)}",
+            "    AwsSecretStoreArn : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13651,8 +13651,8 @@
             "  Type: AWS::Route53::RecordSet.AliasTarget",
             "  Properties:",
             "    DNSName : ${2:String(R)}",
-            "    EvaluateTargetHealth : ${2:Boolean(O)}",
-            "    HostedZoneId : ${2:String(R)}"
+            "    EvaluateTargetHealth : ${3:Boolean(O)}",
+            "    HostedZoneId : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13664,10 +13664,10 @@
             "  Type: AWS::CodeCommit::Repository.RepositoryTrigger",
             "  Properties:",
             "    Events : [ ${2:String(O)} ]",
-            "    Branches : [ ${2:String(O)} ]",
-            "    CustomData : ${2:String(O)}",
-            "    DestinationArn : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Branches : [ ${3:String(O)} ]",
+            "    CustomData : ${4:String(O)}",
+            "    DestinationArn : ${5:String(O)}",
+            "    Name : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13679,9 +13679,9 @@
             "  Type: AWS::AmazonMQ::Broker.User",
             "  Properties:",
             "    Username : ${2:String(R)}",
-            "    Groups : [ ${2:String(O)} ]",
-            "    ConsoleAccess : ${2:Boolean(O)}",
-            "    Password : ${2:String(R)}"
+            "    Groups : [ ${3:String(O)} ]",
+            "    ConsoleAccess : ${4:Boolean(O)}",
+            "    Password : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13693,10 +13693,10 @@
             "  Type: AWS::WAF::ByteMatchSet.ByteMatchTuple",
             "  Properties:",
             "    FieldToMatch : ${2:aws-waf-bytematchsetbytematchtuple.FieldToMatch(R)}",
-            "    PositionalConstraint : ${2:String(R)}",
-            "    TargetString : ${2:String(O)}",
-            "    TargetStringBase64 : ${2:String(O)}",
-            "    TextTransformation : ${2:String(R)}"
+            "    PositionalConstraint : ${3:String(R)}",
+            "    TargetString : ${4:String(O)}",
+            "    TargetStringBase64 : ${5:String(O)}",
+            "    TextTransformation : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13708,9 +13708,9 @@
             "  Type: AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration",
             "  Properties:",
             "    CustomizedMetricSpecification : ${2:aws-autoscaling-scalingpolicytargettrackingconfiguration.CustomizedMetricSpecification(O)}",
-            "    DisableScaleIn : ${2:Boolean(O)}",
-            "    PredefinedMetricSpecification : ${2:aws-autoscaling-scalingpolicytargettrackingconfiguration.PredefinedMetricSpecification(O)}",
-            "    TargetValue : ${2:Double(R)}"
+            "    DisableScaleIn : ${3:Boolean(O)}",
+            "    PredefinedMetricSpecification : ${4:aws-autoscaling-scalingpolicytargettrackingconfiguration.PredefinedMetricSpecification(O)}",
+            "    TargetValue : ${5:Double(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13722,8 +13722,8 @@
             "  Type: AWS::ECS::TaskDefinition.MountPoint",
             "  Properties:",
             "    ContainerPath : ${2:String(O)}",
-            "    ReadOnly : ${2:Boolean(O)}",
-            "    SourceVolume : ${2:String(O)}"
+            "    ReadOnly : ${3:Boolean(O)}",
+            "    SourceVolume : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13735,9 +13735,9 @@
             "  Type: AWS::IoTAnalytics::Pipeline.Math",
             "  Properties:",
             "    Attribute : ${2:String(O)}",
-            "    Next : ${2:String(O)}",
-            "    Math : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Next : ${3:String(O)}",
+            "    Math : ${4:String(O)}",
+            "    Name : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13749,9 +13749,9 @@
             "  Type: AWS::EMR::Cluster.Application",
             "  Properties:",
             "    AdditionalInfo : [ ${2:String(O)} ]",
-            "    Args : [ ${2:String(O)} ]",
-            "    Name : ${2:String(O)}",
-            "    Version : ${2:String(O)}"
+            "    Args : [ ${3:String(O)} ]",
+            "    Name : ${4:String(O)}",
+            "    Version : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13774,7 +13774,7 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration",
             "  Properties:",
             "    KinesisStreamARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13786,8 +13786,8 @@
             "  Type: AWS::IoTAnalytics::Pipeline.RemoveAttributes",
             "  Properties:",
             "    Next : ${2:String(O)}",
-            "    Attributes : [ ${2:String(O)} ]",
-            "    Name : ${2:String(O)}"
+            "    Attributes : [ ${3:String(O)} ]",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13799,8 +13799,8 @@
             "  Type: AWS::Glue::Classifier.XMLClassifier",
             "  Properties:",
             "    RowTag : ${2:String(R)}",
-            "    Classification : ${2:String(R)}",
-            "    Name : ${2:String(O)}"
+            "    Classification : ${3:String(R)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13812,9 +13812,9 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters",
             "  Properties:",
             "    MaintenanceWindowRunCommandParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowRunCommandParameters(O)}",
-            "    MaintenanceWindowAutomationParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowAutomationParameters(O)}",
-            "    MaintenanceWindowStepFunctionsParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowStepFunctionsParameters(O)}",
-            "    MaintenanceWindowLambdaParameters : ${2:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowLambdaParameters(O)}"
+            "    MaintenanceWindowAutomationParameters : ${3:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowAutomationParameters(O)}",
+            "    MaintenanceWindowStepFunctionsParameters : ${4:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowStepFunctionsParameters(O)}",
+            "    MaintenanceWindowLambdaParameters : ${5:aws-ssm-maintenancewindowtasktaskinvocationparameters.MaintenanceWindowLambdaParameters(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13837,7 +13837,7 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters",
             "  Properties:",
             "    JSONMappingParameters : ${2:aws-kinesisanalytics-applicationreferencedatasourcemappingparameters.JSONMappingParameters(O)}",
-            "    CSVMappingParameters : ${2:aws-kinesisanalytics-applicationreferencedatasourcemappingparameters.CSVMappingParameters(O)}"
+            "    CSVMappingParameters : ${3:aws-kinesisanalytics-applicationreferencedatasourcemappingparameters.CSVMappingParameters(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13871,7 +13871,7 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.MetricDimension",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Name : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13883,9 +13883,9 @@
             "  Type: AWS::DynamoDB::Table.GlobalSecondaryIndex",
             "  Properties:",
             "    IndexName : ${2:String(R)}",
-            "    KeySchema : [ ${2:aws-dynamodb-tableglobalsecondaryindex.KeySchema(R)} ]",
-            "    Projection : ${2:aws-dynamodb-tableglobalsecondaryindex.Projection(R)}",
-            "    ProvisionedThroughput : ${2:aws-dynamodb-tableglobalsecondaryindex.ProvisionedThroughput(O)}"
+            "    KeySchema : [ ${3:aws-dynamodb-tableglobalsecondaryindex.KeySchema(R)} ]",
+            "    Projection : ${4:aws-dynamodb-tableglobalsecondaryindex.Projection(R)}",
+            "    ProvisionedThroughput : ${5:aws-dynamodb-tableglobalsecondaryindex.ProvisionedThroughput(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13897,10 +13897,10 @@
             "  Type: AWS::S3::Bucket.RedirectRule",
             "  Properties:",
             "    HostName : ${2:String(O)}",
-            "    HttpRedirectCode : ${2:String(O)}",
-            "    Protocol : ${2:String(O)}",
-            "    ReplaceKeyPrefixWith : ${2:String(O)}",
-            "    ReplaceKeyWith : ${2:String(O)}"
+            "    HttpRedirectCode : ${3:String(O)}",
+            "    Protocol : ${4:String(O)}",
+            "    ReplaceKeyPrefixWith : ${5:String(O)}",
+            "    ReplaceKeyWith : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13912,8 +13912,8 @@
             "  Type: AWS::Events::EventBusPolicy.Condition",
             "  Properties:",
             "    Type : ${2:String(O)}",
-            "    Value : ${2:String(O)}",
-            "    Key : ${2:String(O)}"
+            "    Value : ${3:String(O)}",
+            "    Key : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13925,9 +13925,9 @@
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingRule",
             "  Properties:",
             "    Action : ${2:aws-emr-instancegroupconfigscalingrule.ScalingAction(R)}",
-            "    Description : ${2:String(O)}",
-            "    Name : ${2:String(R)}",
-            "    Trigger : ${2:aws-emr-instancegroupconfigscalingrule.ScalingTrigger(R)}"
+            "    Description : ${3:String(O)}",
+            "    Name : ${4:String(R)}",
+            "    Trigger : ${5:aws-emr-instancegroupconfigscalingrule.ScalingTrigger(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13950,7 +13950,7 @@
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition",
             "  Properties:",
             "    Field : ${2:String(O)}",
-            "    Values : [ ${2:String(O)} ]"
+            "    Values : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13962,7 +13962,7 @@
             "  Type: AWS::AppMesh::VirtualService.TagRef",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13974,12 +13974,12 @@
             "  Type: AWS::AppMesh::VirtualNode.HealthCheck",
             "  Properties:",
             "    Path : ${2:String(O)}",
-            "    UnhealthyThreshold : ${2:Integer(R)}",
-            "    Port : ${2:Integer(O)}",
-            "    HealthyThreshold : ${2:Integer(R)}",
-            "    TimeoutMillis : ${2:Integer(R)}",
-            "    Protocol : ${2:String(R)}",
-            "    IntervalMillis : ${2:Integer(R)}"
+            "    UnhealthyThreshold : ${3:Integer(R)}",
+            "    Port : ${4:Integer(O)}",
+            "    HealthyThreshold : ${5:Integer(R)}",
+            "    TimeoutMillis : ${6:Integer(R)}",
+            "    Protocol : ${7:String(R)}",
+            "    IntervalMillis : ${8:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -13991,8 +13991,8 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration",
             "  Properties:",
             "    Alarms : [ ${2:aws-codedeploy-deploymentgroupalarmconfiguration.Alarm(O)} ]",
-            "    Enabled : ${2:Boolean(O)}",
-            "    IgnorePollAlarmFailure : ${2:Boolean(O)}"
+            "    Enabled : ${3:Boolean(O)}",
+            "    IgnorePollAlarmFailure : ${4:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14015,7 +14015,7 @@
             "  Type: AWS::IoTAnalytics::Pipeline.Datastore",
             "  Properties:",
             "    DatastoreName : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14027,8 +14027,8 @@
             "  Type: AWS::OpsWorks::App.SslConfiguration",
             "  Properties:",
             "    Certificate : ${2:String(O)}",
-            "    Chain : ${2:String(O)}",
-            "    PrivateKey : ${2:String(O)}"
+            "    Chain : ${3:String(O)}",
+            "    PrivateKey : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14040,10 +14040,10 @@
             "  Type: AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction",
             "  Properties:",
             "    EndTime : ${2:Timestamp(O)}",
-            "    ScalableTargetAction : ${2:aws-applicationautoscaling-scalabletargetscheduledaction.ScalableTargetAction(O)}",
-            "    Schedule : ${2:String(R)}",
-            "    ScheduledActionName : ${2:String(R)}",
-            "    StartTime : ${2:Timestamp(O)}"
+            "    ScalableTargetAction : ${3:aws-applicationautoscaling-scalabletargetscheduledaction.ScalableTargetAction(O)}",
+            "    Schedule : ${4:String(R)}",
+            "    ScheduledActionName : ${5:String(R)}",
+            "    StartTime : ${6:Timestamp(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14055,7 +14055,7 @@
             "  Type: AWS::SSM::PatchBaseline.PatchFilter",
             "  Properties:",
             "    Values : [ ${2:String(O)} ]",
-            "    Key : ${2:String(O)}"
+            "    Key : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14078,8 +14078,8 @@
             "  Type: AWS::ElasticBeanstalk::Environment.Tier",
             "  Properties:",
             "    Name : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Version : ${2:String(O)}"
+            "    Type : ${3:String(O)}",
+            "    Version : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14091,7 +14091,7 @@
             "  Type: AWS::EC2::Instance.AssociationParameter",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : [ ${2:String(R)} ]"
+            "    Value : [ ${3:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14103,11 +14103,11 @@
             "  Type: AWS::IoT::TopicRule.TopicRulePayload",
             "  Properties:",
             "    Actions : [ ${2:aws-iot-topicruletopicrulepayload.Action(R)} ]",
-            "    AwsIotSqlVersion : ${2:String(O)}",
-            "    Description : ${2:String(O)}",
-            "    ErrorAction : ${2:aws-iot-topicruletopicrulepayload.Action(O)}",
-            "    RuleDisabled : ${2:Boolean(R)}",
-            "    Sql : ${2:String(R)}"
+            "    AwsIotSqlVersion : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    ErrorAction : ${5:aws-iot-topicruletopicrulepayload.Action(O)}",
+            "    RuleDisabled : ${6:Boolean(R)}",
+            "    Sql : ${7:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14119,7 +14119,7 @@
             "  Type: AWS::Cognito::IdentityPool.PushSync",
             "  Properties:",
             "    ApplicationArns : [ ${2:String(O)} ]",
-            "    RoleArn : ${2:String(O)}"
+            "    RoleArn : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14131,7 +14131,7 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy",
             "  Properties:",
             "    Enabled : ${2:Boolean(R)}",
-            "    Timeout : ${2:Integer(O)}"
+            "    Timeout : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14143,9 +14143,9 @@
             "  Type: AWS::ECS::Service.ServiceRegistry",
             "  Properties:",
             "    ContainerName : ${2:String(O)}",
-            "    ContainerPort : ${2:Integer(O)}",
-            "    Port : ${2:Integer(O)}",
-            "    RegistryArn : ${2:String(O)}"
+            "    ContainerPort : ${3:Integer(O)}",
+            "    Port : ${4:Integer(O)}",
+            "    RegistryArn : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14157,9 +14157,9 @@
             "  Type: AWS::S3::Bucket.WebsiteConfiguration",
             "  Properties:",
             "    ErrorDocument : ${2:String(O)}",
-            "    IndexDocument : ${2:String(O)}",
-            "    RedirectAllRequestsTo : ${2:aws-s3-bucketwebsiteconfiguration.RedirectAllRequestsTo(O)}",
-            "    RoutingRules : [ ${2:aws-s3-bucketwebsiteconfiguration.RoutingRule(O)} ]"
+            "    IndexDocument : ${3:String(O)}",
+            "    RedirectAllRequestsTo : ${4:aws-s3-bucketwebsiteconfiguration.RedirectAllRequestsTo(O)}",
+            "    RoutingRules : [ ${5:aws-s3-bucketwebsiteconfiguration.RoutingRule(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14171,8 +14171,8 @@
             "  Type: AWS::Cognito::IdentityPool.CognitoIdentityProvider",
             "  Properties:",
             "    ServerSideTokenCheck : ${2:Boolean(O)}",
-            "    ProviderName : ${2:String(O)}",
-            "    ClientId : ${2:String(O)}"
+            "    ProviderName : ${3:String(O)}",
+            "    ClientId : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14184,7 +14184,7 @@
             "  Type: AWS::CloudFront::Distribution.GeoRestriction",
             "  Properties:",
             "    Locations : [ ${2:String(O)} ]",
-            "    RestrictionType : ${2:String(R)}"
+            "    RestrictionType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14196,7 +14196,7 @@
             "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest",
             "  Properties:",
             "    LaunchTemplateSpecification : ${2:aws-ec2-ec2fleetfleetlaunchtemplateconfigrequest.FleetLaunchTemplateSpecificationRequest(O)}",
-            "    Overrides : [ ${2:aws-ec2-ec2fleetfleetlaunchtemplateconfigrequest.FleetLaunchTemplateOverridesRequest(O)} ]"
+            "    Overrides : [ ${3:aws-ec2-ec2fleetfleetlaunchtemplateconfigrequest.FleetLaunchTemplateOverridesRequest(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14208,7 +14208,7 @@
             "  Type: AWS::IoTAnalytics::Dataset.ResourceConfiguration",
             "  Properties:",
             "    VolumeSizeInGB : ${2:Integer(R)}",
-            "    ComputeType : ${2:String(R)}"
+            "    ComputeType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14220,7 +14220,7 @@
             "  Type: AWS::SES::ReceiptRule.SNSAction",
             "  Properties:",
             "    TopicArn : ${2:String(O)}",
-            "    Encoding : ${2:String(O)}"
+            "    Encoding : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14232,9 +14232,9 @@
             "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting",
             "  Properties:",
             "    Namespace : ${2:String(R)}",
-            "    OptionName : ${2:String(R)}",
-            "    ResourceName : ${2:String(O)}",
-            "    Value : ${2:String(O)}"
+            "    OptionName : ${3:String(R)}",
+            "    ResourceName : ${4:String(O)}",
+            "    Value : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14246,7 +14246,7 @@
             "  Type: AWS::Batch::JobDefinition.NodeRangeProperty",
             "  Properties:",
             "    Container : ${2:aws-batch-jobdefinitionnoderangeproperty.ContainerProperties(O)}",
-            "    TargetNodes : ${2:String(R)}"
+            "    TargetNodes : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14280,7 +14280,7 @@
             "  Type: AWS::WAFRegional::ByteMatchSet.FieldToMatch",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Data : ${2:String(O)}"
+            "    Data : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14292,8 +14292,8 @@
             "  Type: AWS::EC2::Instance.LaunchTemplateSpecification",
             "  Properties:",
             "    LaunchTemplateId : ${2:String(O)}",
-            "    LaunchTemplateName : ${2:String(O)}",
-            "    Version : ${2:String(R)}"
+            "    LaunchTemplateName : ${3:String(O)}",
+            "    Version : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14305,7 +14305,7 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.MetricsCollection",
             "  Properties:",
             "    Granularity : ${2:String(R)}",
-            "    Metrics : [ ${2:String(O)} ]"
+            "    Metrics : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14317,8 +14317,8 @@
             "  Type: AWS::CodePipeline::Pipeline.ArtifactStore",
             "  Properties:",
             "    EncryptionKey : ${2:aws-codepipeline-pipelineartifactstore.EncryptionKey(O)}",
-            "    Location : ${2:String(R)}",
-            "    Type : ${2:String(R)}"
+            "    Location : ${3:String(R)}",
+            "    Type : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14330,8 +14330,8 @@
             "  Type: AWS::CodeBuild::Project.CloudWatchLogsConfig",
             "  Properties:",
             "    Status : ${2:String(R)}",
-            "    GroupName : ${2:String(O)}",
-            "    StreamName : ${2:String(O)}"
+            "    GroupName : ${3:String(O)}",
+            "    StreamName : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14343,7 +14343,7 @@
             "  Type: AWS::DynamoDB::Table.KeySchema",
             "  Properties:",
             "    AttributeName : ${2:String(R)}",
-            "    KeyType : ${2:String(R)}"
+            "    KeyType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14355,8 +14355,8 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData",
             "  Properties:",
             "    SourcePath : ${2:String(R)}",
-            "    DestinationPath : ${2:String(R)}",
-            "    GroupOwnerSetting : ${2:aws-greengrass-resourcedefinitionversionlocalvolumeresourcedata.GroupOwnerSetting(O)}"
+            "    DestinationPath : ${3:String(R)}",
+            "    GroupOwnerSetting : ${4:aws-greengrass-resourcedefinitionversionlocalvolumeresourcedata.GroupOwnerSetting(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14379,9 +14379,9 @@
             "  Type: AWS::SSM::PatchBaseline.Rule",
             "  Properties:",
             "    EnableNonSecurity : ${2:Boolean(O)}",
-            "    PatchFilterGroup : ${2:aws-ssm-patchbaselinerule.PatchFilterGroup(O)}",
-            "    ApproveAfterDays : ${2:Integer(O)}",
-            "    ComplianceLevel : ${2:String(O)}"
+            "    PatchFilterGroup : ${3:aws-ssm-patchbaselinerule.PatchFilterGroup(O)}",
+            "    ApproveAfterDays : ${4:Integer(O)}",
+            "    ComplianceLevel : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14393,10 +14393,10 @@
             "  Type: AWS::CloudFront::Distribution.ViewerCertificate",
             "  Properties:",
             "    IamCertificateId : ${2:String(O)}",
-            "    SslSupportMethod : ${2:String(O)}",
-            "    MinimumProtocolVersion : ${2:String(O)}",
-            "    CloudFrontDefaultCertificate : ${2:Boolean(O)}",
-            "    AcmCertificateArn : ${2:String(O)}"
+            "    SslSupportMethod : ${3:String(O)}",
+            "    MinimumProtocolVersion : ${4:String(O)}",
+            "    CloudFrontDefaultCertificate : ${5:Boolean(O)}",
+            "    AcmCertificateArn : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14430,8 +14430,8 @@
             "  Type: AWS::EMR::Cluster.Configuration",
             "  Properties:",
             "    Classification : ${2:String(O)}",
-            "    ConfigurationProperties : [ ${2:String(O)} ]",
-            "    Configurations : [ ${2:aws-emr-clusterconfiguration.Configuration(O)} ]"
+            "    ConfigurationProperties : [ ${3:String(O)} ]",
+            "    Configurations : [ ${4:aws-emr-clusterconfiguration.Configuration(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14443,11 +14443,11 @@
             "  Type: AWS::EMR::InstanceFleetConfig.InstanceTypeConfig",
             "  Properties:",
             "    BidPrice : ${2:String(O)}",
-            "    BidPriceAsPercentageOfOnDemandPrice : ${2:Double(O)}",
-            "    Configurations : [ ${2:aws-emr-instancefleetconfiginstancetypeconfig.Configuration(O)} ]",
-            "    EbsConfiguration : ${2:aws-emr-instancefleetconfiginstancetypeconfig.EbsConfiguration(O)}",
-            "    InstanceType : ${2:String(R)}",
-            "    WeightedCapacity : ${2:Integer(O)}"
+            "    BidPriceAsPercentageOfOnDemandPrice : ${3:Double(O)}",
+            "    Configurations : [ ${4:aws-emr-instancefleetconfiginstancetypeconfig.Configuration(O)} ]",
+            "    EbsConfiguration : ${5:aws-emr-instancefleetconfiginstancetypeconfig.EbsConfiguration(O)}",
+            "    InstanceType : ${6:String(R)}",
+            "    WeightedCapacity : ${7:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14459,7 +14459,7 @@
             "  Type: AWS::WAFRegional::XssMatchSet.XssMatchTuple",
             "  Properties:",
             "    TextTransformation : ${2:String(R)}",
-            "    FieldToMatch : ${2:aws-wafregional-xssmatchsetxssmatchtuple.FieldToMatch(R)}"
+            "    FieldToMatch : ${3:aws-wafregional-xssmatchsetxssmatchtuple.FieldToMatch(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14471,17 +14471,17 @@
             "  Type: AWS::S3::Bucket.Rule",
             "  Properties:",
             "    AbortIncompleteMultipartUpload : ${2:aws-s3-bucketrule.AbortIncompleteMultipartUpload(O)}",
-            "    ExpirationDate : ${2:Timestamp(O)}",
-            "    ExpirationInDays : ${2:Integer(O)}",
-            "    Id : ${2:String(O)}",
-            "    NoncurrentVersionExpirationInDays : ${2:Integer(O)}",
-            "    NoncurrentVersionTransition : ${2:aws-s3-bucketrule.NoncurrentVersionTransition(O)}",
-            "    NoncurrentVersionTransitions : [ ${2:aws-s3-bucketrule.NoncurrentVersionTransition(O)} ]",
-            "    Prefix : ${2:String(O)}",
-            "    Status : ${2:String(R)}",
-            "    TagFilters : [ ${2:aws-s3-bucketrule.TagFilter(O)} ]",
-            "    Transition : ${2:aws-s3-bucketrule.Transition(O)}",
-            "    Transitions : [ ${2:aws-s3-bucketrule.Transition(O)} ]"
+            "    ExpirationDate : ${3:Timestamp(O)}",
+            "    ExpirationInDays : ${4:Integer(O)}",
+            "    Id : ${5:String(O)}",
+            "    NoncurrentVersionExpirationInDays : ${6:Integer(O)}",
+            "    NoncurrentVersionTransition : ${7:aws-s3-bucketrule.NoncurrentVersionTransition(O)}",
+            "    NoncurrentVersionTransitions : [ ${8:aws-s3-bucketrule.NoncurrentVersionTransition(O)} ]",
+            "    Prefix : ${9:String(O)}",
+            "    Status : ${10:String(R)}",
+            "    TagFilters : [ ${11:aws-s3-bucketrule.TagFilter(O)} ]",
+            "    Transition : ${12:aws-s3-bucketrule.Transition(O)}",
+            "    Transitions : [ ${13:aws-s3-bucketrule.Transition(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14504,7 +14504,7 @@
             "  Type: AWS::ECS::TaskDefinition.KernelCapabilities",
             "  Properties:",
             "    Add : [ ${2:String(O)} ]",
-            "    Drop : [ ${2:String(O)} ]"
+            "    Drop : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14527,8 +14527,8 @@
             "  Type: AWS::S3::Bucket.TopicConfiguration",
             "  Properties:",
             "    Event : ${2:String(R)}",
-            "    Filter : ${2:aws-s3-buckettopicconfiguration.NotificationFilter(O)}",
-            "    Topic : ${2:String(R)}"
+            "    Filter : ${3:aws-s3-buckettopicconfiguration.NotificationFilter(O)}",
+            "    Topic : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14562,8 +14562,8 @@
             "  Type: AWS::KinesisAnalytics::Application.RecordColumn",
             "  Properties:",
             "    Mapping : ${2:String(O)}",
-            "    SqlType : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    SqlType : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14586,13 +14586,13 @@
             "  Type: AWS::Cognito::UserPool.LambdaConfig",
             "  Properties:",
             "    CreateAuthChallenge : ${2:String(O)}",
-            "    PreAuthentication : ${2:String(O)}",
-            "    DefineAuthChallenge : ${2:String(O)}",
-            "    PreSignUp : ${2:String(O)}",
-            "    PostAuthentication : ${2:String(O)}",
-            "    PostConfirmation : ${2:String(O)}",
-            "    CustomMessage : ${2:String(O)}",
-            "    VerifyAuthChallengeResponse : ${2:String(O)}"
+            "    PreAuthentication : ${3:String(O)}",
+            "    DefineAuthChallenge : ${4:String(O)}",
+            "    PreSignUp : ${5:String(O)}",
+            "    PostAuthentication : ${6:String(O)}",
+            "    PostConfirmation : ${7:String(O)}",
+            "    CustomMessage : ${8:String(O)}",
+            "    VerifyAuthChallengeResponse : ${9:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14604,8 +14604,8 @@
             "  Type: AWS::DLM::LifecyclePolicy.PolicyDetails",
             "  Properties:",
             "    ResourceTypes : [ ${2:String(O)} ]",
-            "    Schedules : [ ${2:aws-dlm-lifecyclepolicypolicydetails.Schedule(O)} ]",
-            "    TargetTags : [ ${2:aws-dlm-lifecyclepolicypolicydetails.Tag(O)} ]"
+            "    Schedules : [ ${3:aws-dlm-lifecyclepolicypolicydetails.Schedule(O)} ]",
+            "    TargetTags : [ ${4:aws-dlm-lifecyclepolicypolicydetails.Tag(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14617,7 +14617,7 @@
             "  Type: AWS::AmazonMQ::Configuration.TagsEntry",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14629,15 +14629,15 @@
             "  Type: AWS::Glue::Table.TableInput",
             "  Properties:",
             "    Owner : ${2:String(O)}",
-            "    ViewOriginalText : ${2:String(O)}",
-            "    Description : ${2:String(O)}",
-            "    TableType : ${2:String(O)}",
-            "    Parameters : ${2:Json(O)}",
-            "    ViewExpandedText : ${2:String(O)}",
-            "    StorageDescriptor : ${2:aws-glue-tabletableinput.StorageDescriptor(O)}",
-            "    PartitionKeys : [ ${2:aws-glue-tabletableinput.Column(O)} ]",
-            "    Retention : ${2:Integer(O)}",
-            "    Name : ${2:String(O)}"
+            "    ViewOriginalText : ${3:String(O)}",
+            "    Description : ${4:String(O)}",
+            "    TableType : ${5:String(O)}",
+            "    Parameters : ${6:Json(O)}",
+            "    ViewExpandedText : ${7:String(O)}",
+            "    StorageDescriptor : ${8:aws-glue-tabletableinput.StorageDescriptor(O)}",
+            "    PartitionKeys : [ ${9:aws-glue-tabletableinput.Column(O)} ]",
+            "    Retention : ${10:Integer(O)}",
+            "    Name : ${11:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14649,8 +14649,8 @@
             "  Type: AWS::CodeBuild::Project.ProjectCache",
             "  Properties:",
             "    Modes : [ ${2:String(O)} ]",
-            "    Type : ${2:String(R)}",
-            "    Location : ${2:String(O)}"
+            "    Type : ${3:String(R)}",
+            "    Location : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14662,7 +14662,7 @@
             "  Type: AWS::WAF::SizeConstraintSet.FieldToMatch",
             "  Properties:",
             "    Data : ${2:String(O)}",
-            "    Type : ${2:String(R)}"
+            "    Type : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14674,7 +14674,7 @@
             "  Type: AWS::AppMesh::VirtualRouter.TagRef",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14686,8 +14686,8 @@
             "  Type: AWS::IoTAnalytics::Pipeline.AddAttributes",
             "  Properties:",
             "    Next : ${2:String(O)}",
-            "    Attributes : ${2:Json(O)}",
-            "    Name : ${2:String(O)}"
+            "    Attributes : ${3:Json(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14710,7 +14710,7 @@
             "  Type: AWS::EMR::Cluster.ScriptBootstrapActionConfig",
             "  Properties:",
             "    Args : [ ${2:String(O)} ]",
-            "    Path : ${2:String(R)}"
+            "    Path : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14722,11 +14722,11 @@
             "  Type: AWS::AutoScaling::LaunchConfiguration.BlockDevice",
             "  Properties:",
             "    DeleteOnTermination : ${2:Boolean(O)}",
-            "    Encrypted : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    SnapshotId : ${2:String(O)}",
-            "    VolumeSize : ${2:Integer(O)}",
-            "    VolumeType : ${2:String(O)}"
+            "    Encrypted : ${3:Boolean(O)}",
+            "    Iops : ${4:Integer(O)}",
+            "    SnapshotId : ${5:String(O)}",
+            "    VolumeSize : ${6:Integer(O)}",
+            "    VolumeType : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14738,8 +14738,8 @@
             "  Type: AWS::S3::Bucket.MetricsConfiguration",
             "  Properties:",
             "    Id : ${2:String(R)}",
-            "    Prefix : ${2:String(O)}",
-            "    TagFilters : [ ${2:aws-s3-bucketmetricsconfiguration.TagFilter(O)} ]"
+            "    Prefix : ${3:String(O)}",
+            "    TagFilters : [ ${4:aws-s3-bucketmetricsconfiguration.TagFilter(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14751,11 +14751,11 @@
             "  Type: AWS::OpsWorks::Layer.AutoScalingThresholds",
             "  Properties:",
             "    CpuThreshold : ${2:Double(O)}",
-            "    IgnoreMetricsTime : ${2:Integer(O)}",
-            "    InstanceCount : ${2:Integer(O)}",
-            "    LoadThreshold : ${2:Double(O)}",
-            "    MemoryThreshold : ${2:Double(O)}",
-            "    ThresholdsWaitTime : ${2:Integer(O)}"
+            "    IgnoreMetricsTime : ${3:Integer(O)}",
+            "    InstanceCount : ${4:Integer(O)}",
+            "    LoadThreshold : ${5:Double(O)}",
+            "    MemoryThreshold : ${6:Double(O)}",
+            "    ThresholdsWaitTime : ${7:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14778,7 +14778,7 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource",
             "  Properties:",
             "    BucketARN : ${2:String(R)}",
-            "    FileKey : ${2:String(R)}"
+            "    FileKey : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14790,8 +14790,8 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn",
             "  Properties:",
             "    Mapping : ${2:String(O)}",
-            "    SqlType : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    SqlType : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14803,9 +14803,9 @@
             "  Type: AWS::Glue::Classifier.GrokClassifier",
             "  Properties:",
             "    CustomPatterns : ${2:String(O)}",
-            "    GrokPattern : ${2:String(R)}",
-            "    Classification : ${2:String(R)}",
-            "    Name : ${2:String(O)}"
+            "    GrokPattern : ${3:String(R)}",
+            "    Classification : ${4:String(R)}",
+            "    Name : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14817,7 +14817,7 @@
             "  Type: AWS::KinesisAnalytics::Application.RecordFormat",
             "  Properties:",
             "    MappingParameters : ${2:aws-kinesisanalytics-applicationrecordformat.MappingParameters(O)}",
-            "    RecordFormatType : ${2:String(R)}"
+            "    RecordFormatType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14829,7 +14829,7 @@
             "  Type: AWS::AppSync::DataSource.HttpConfig",
             "  Properties:",
             "    Endpoint : ${2:String(R)}",
-            "    AuthorizationConfig : ${2:aws-appsync-datasourcehttpconfig.AuthorizationConfig(O)}"
+            "    AuthorizationConfig : ${3:aws-appsync-datasourcehttpconfig.AuthorizationConfig(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14841,7 +14841,7 @@
             "  Type: AWS::S3::Bucket.TagFilter",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14853,10 +14853,10 @@
             "  Type: AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich",
             "  Properties:",
             "    Attribute : ${2:String(O)}",
-            "    Next : ${2:String(O)}",
-            "    ThingName : ${2:String(O)}",
-            "    RoleArn : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Next : ${3:String(O)}",
+            "    ThingName : ${4:String(O)}",
+            "    RoleArn : ${5:String(O)}",
+            "    Name : ${6:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14868,9 +14868,9 @@
             "  Type: AWS::WAF::SizeConstraintSet.SizeConstraint",
             "  Properties:",
             "    ComparisonOperator : ${2:String(R)}",
-            "    FieldToMatch : ${2:aws-waf-sizeconstraintsetsizeconstraint.FieldToMatch(R)}",
-            "    Size : ${2:Integer(R)}",
-            "    TextTransformation : ${2:String(R)}"
+            "    FieldToMatch : ${3:aws-waf-sizeconstraintsetsizeconstraint.FieldToMatch(R)}",
+            "    Size : ${4:Integer(R)}",
+            "    TextTransformation : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14882,10 +14882,10 @@
             "  Type: AWS::GuardDuty::Filter.Condition",
             "  Properties:",
             "    Lt : ${2:Integer(O)}",
-            "    Gte : ${2:Integer(O)}",
-            "    Neq : [ ${2:String(O)} ]",
-            "    Eq : [ ${2:String(O)} ]",
-            "    Lte : ${2:Integer(O)}"
+            "    Gte : ${3:Integer(O)}",
+            "    Neq : [ ${4:String(O)} ]",
+            "    Eq : [ ${5:String(O)} ]",
+            "    Lte : ${6:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14929,7 +14929,7 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification",
             "  Properties:",
             "    ResourceLabel : ${2:String(O)}",
-            "    PredefinedScalingMetricType : ${2:String(R)}"
+            "    PredefinedScalingMetricType : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14941,11 +14941,11 @@
             "  Type: AWS::SES::ReceiptRule.Rule",
             "  Properties:",
             "    ScanEnabled : ${2:Boolean(O)}",
-            "    Recipients : [ ${2:String(O)} ]",
-            "    Actions : [ ${2:aws-ses-receiptrulerule.Action(O)} ]",
-            "    Enabled : ${2:Boolean(O)}",
-            "    Name : ${2:String(O)}",
-            "    TlsPolicy : ${2:String(O)}"
+            "    Recipients : [ ${3:String(O)} ]",
+            "    Actions : [ ${4:aws-ses-receiptrulerule.Action(O)} ]",
+            "    Enabled : ${5:Boolean(O)}",
+            "    Name : ${6:String(O)}",
+            "    TlsPolicy : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14957,7 +14957,7 @@
             "  Type: AWS::CloudTrail::Trail.DataResource",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Values : [ ${2:String(O)} ]"
+            "    Values : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14969,7 +14969,7 @@
             "  Type: AWS::AppStream::ImageBuilder.DomainJoinInfo",
             "  Properties:",
             "    OrganizationalUnitDistinguishedName : ${2:String(O)}",
-            "    DirectoryName : ${2:String(O)}"
+            "    DirectoryName : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14981,7 +14981,7 @@
             "  Type: AWS::IoT::TopicRule.DynamoDBv2Action",
             "  Properties:",
             "    PutItem : ${2:aws-iot-topicruledynamodbv2action.PutItemInput(O)}",
-            "    RoleArn : ${2:String(O)}"
+            "    RoleArn : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -14993,7 +14993,7 @@
             "  Type: AWS::ApiGateway::UsagePlan.ThrottleSettings",
             "  Properties:",
             "    BurstLimit : ${2:Integer(O)}",
-            "    RateLimit : ${2:Double(O)}"
+            "    RateLimit : ${3:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15016,7 +15016,7 @@
             "  Type: AWS::IoTAnalytics::Channel.RetentionPeriod",
             "  Properties:",
             "    NumberOfDays : ${2:Integer(O)}",
-            "    Unlimited : ${2:Boolean(O)}"
+            "    Unlimited : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15028,8 +15028,8 @@
             "  Type: AWS::Glue::Table.SerdeInfo",
             "  Properties:",
             "    Parameters : ${2:Json(O)}",
-            "    SerializationLibrary : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    SerializationLibrary : ${3:String(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15052,7 +15052,7 @@
             "  Type: AWS::EC2::Instance.SsmAssociation",
             "  Properties:",
             "    AssociationParameters : [ ${2:aws-ec2-instancessmassociation.AssociationParameter(O)} ]",
-            "    DocumentName : ${2:String(R)}"
+            "    DocumentName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15064,7 +15064,7 @@
             "  Type: AWS::AmazonMQ::Broker.ConfigurationId",
             "  Properties:",
             "    Revision : ${2:Integer(R)}",
-            "    Id : ${2:String(R)}"
+            "    Id : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15076,8 +15076,8 @@
             "  Type: AWS::SSM::PatchBaseline.PatchSource",
             "  Properties:",
             "    Products : [ ${2:String(O)} ]",
-            "    Configuration : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Configuration : ${3:String(O)}",
+            "    Name : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15100,7 +15100,7 @@
             "  Type: AWS::KinesisAnalytics::Application.KinesisFirehoseInput",
             "  Properties:",
             "    ResourceARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15112,10 +15112,10 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration",
             "  Properties:",
             "    ApplicationCodeConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.ApplicationCodeConfiguration(O)}",
-            "    EnvironmentProperties : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.EnvironmentProperties(O)}",
-            "    FlinkApplicationConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.FlinkApplicationConfiguration(O)}",
-            "    SqlApplicationConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.SqlApplicationConfiguration(O)}",
-            "    ApplicationSnapshotConfiguration : ${2:aws-kinesisanalyticsv2-applicationapplicationconfiguration.ApplicationSnapshotConfiguration(O)}"
+            "    EnvironmentProperties : ${3:aws-kinesisanalyticsv2-applicationapplicationconfiguration.EnvironmentProperties(O)}",
+            "    FlinkApplicationConfiguration : ${4:aws-kinesisanalyticsv2-applicationapplicationconfiguration.FlinkApplicationConfiguration(O)}",
+            "    SqlApplicationConfiguration : ${5:aws-kinesisanalyticsv2-applicationapplicationconfiguration.SqlApplicationConfiguration(O)}",
+            "    ApplicationSnapshotConfiguration : ${6:aws-kinesisanalyticsv2-applicationapplicationconfiguration.ApplicationSnapshotConfiguration(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15127,7 +15127,7 @@
             "  Type: AWS::OpsWorksCM::Server.EngineAttribute",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15139,8 +15139,8 @@
             "  Type: AWS::Greengrass::FunctionDefinition.Function",
             "  Properties:",
             "    FunctionArn : ${2:String(R)}",
-            "    FunctionConfiguration : ${2:aws-greengrass-functiondefinitionfunction.FunctionConfiguration(R)}",
-            "    Id : ${2:String(R)}"
+            "    FunctionConfiguration : ${3:aws-greengrass-functiondefinitionfunction.FunctionConfiguration(R)}",
+            "    Id : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15152,8 +15152,8 @@
             "  Type: AWS::Glue::Partition.SkewedInfo",
             "  Properties:",
             "    SkewedColumnNames : [ ${2:String(O)} ]",
-            "    SkewedColumnValues : [ ${2:String(O)} ]",
-            "    SkewedColumnValueLocationMaps : ${2:Json(O)}"
+            "    SkewedColumnValues : [ ${3:String(O)} ]",
+            "    SkewedColumnValueLocationMaps : ${4:Json(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15165,8 +15165,8 @@
             "  Type: AWS::Config::ConfigRule.Source",
             "  Properties:",
             "    Owner : ${2:String(R)}",
-            "    SourceDetails : [ ${2:aws-config-configrulesource.SourceDetail(O)} ]",
-            "    SourceIdentifier : ${2:String(R)}"
+            "    SourceDetails : [ ${3:aws-config-configrulesource.SourceDetail(O)} ]",
+            "    SourceIdentifier : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15178,9 +15178,9 @@
             "  Type: AWS::ApiGateway::RestApi.S3Location",
             "  Properties:",
             "    Bucket : ${2:String(O)}",
-            "    ETag : ${2:String(O)}",
-            "    Key : ${2:String(O)}",
-            "    Version : ${2:String(O)}"
+            "    ETag : ${3:String(O)}",
+            "    Key : ${4:String(O)}",
+            "    Version : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15192,7 +15192,7 @@
             "  Type: AWS::DynamoDB::Table.Projection",
             "  Properties:",
             "    NonKeyAttributes : [ ${2:String(O)} ]",
-            "    ProjectionType : ${2:String(O)}"
+            "    ProjectionType : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15204,17 +15204,17 @@
             "  Type: AWS::EC2::LaunchTemplate.NetworkInterface",
             "  Properties:",
             "    Description : ${2:String(O)}",
-            "    PrivateIpAddress : ${2:String(O)}",
-            "    PrivateIpAddresses : [ ${2:aws-ec2-launchtemplatenetworkinterface.PrivateIpAdd(O)} ]",
-            "    SecondaryPrivateIpAddressCount : ${2:Integer(O)}",
-            "    Ipv6AddressCount : ${2:Integer(O)}",
-            "    Groups : [ ${2:String(O)} ]",
-            "    DeviceIndex : ${2:Integer(O)}",
-            "    SubnetId : ${2:String(O)}",
-            "    Ipv6Addresses : [ ${2:aws-ec2-launchtemplatenetworkinterface.Ipv6Add(O)} ]",
-            "    AssociatePublicIpAddress : ${2:Boolean(O)}",
-            "    NetworkInterfaceId : ${2:String(O)}",
-            "    DeleteOnTermination : ${2:Boolean(O)}"
+            "    PrivateIpAddress : ${3:String(O)}",
+            "    PrivateIpAddresses : [ ${4:aws-ec2-launchtemplatenetworkinterface.PrivateIpAdd(O)} ]",
+            "    SecondaryPrivateIpAddressCount : ${5:Integer(O)}",
+            "    Ipv6AddressCount : ${6:Integer(O)}",
+            "    Groups : [ ${7:String(O)} ]",
+            "    DeviceIndex : ${8:Integer(O)}",
+            "    SubnetId : ${9:String(O)}",
+            "    Ipv6Addresses : [ ${10:aws-ec2-launchtemplatenetworkinterface.Ipv6Add(O)} ]",
+            "    AssociatePublicIpAddress : ${11:Boolean(O)}",
+            "    NetworkInterfaceId : ${12:String(O)}",
+            "    DeleteOnTermination : ${13:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15237,8 +15237,8 @@
             "  Type: AWS::AppStream::Stack.StorageConnector",
             "  Properties:",
             "    Domains : [ ${2:String(O)} ]",
-            "    ResourceIdentifier : ${2:String(O)}",
-            "    ConnectorType : ${2:String(R)}"
+            "    ResourceIdentifier : ${3:String(O)}",
+            "    ConnectorType : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15250,7 +15250,7 @@
             "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration",
             "  Properties:",
             "    CodeContentType : ${2:String(R)}",
-            "    CodeContent : ${2:aws-kinesisanalyticsv2-applicationapplicationcodeconfiguration.CodeContent(R)}"
+            "    CodeContent : ${3:aws-kinesisanalyticsv2-applicationapplicationcodeconfiguration.CodeContent(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15262,11 +15262,11 @@
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig",
             "  Properties:",
             "    Host : ${2:String(O)}",
-            "    Path : ${2:String(O)}",
-            "    Port : ${2:String(O)}",
-            "    Protocol : ${2:String(O)}",
-            "    Query : ${2:String(O)}",
-            "    StatusCode : ${2:String(R)}"
+            "    Path : ${3:String(O)}",
+            "    Port : ${4:String(O)}",
+            "    Protocol : ${5:String(O)}",
+            "    Query : ${6:String(O)}",
+            "    StatusCode : ${7:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15278,7 +15278,7 @@
             "  Type: AWS::WAFRegional::XssMatchSet.FieldToMatch",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Data : ${2:String(O)}"
+            "    Data : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15290,7 +15290,7 @@
             "  Type: AWS::IoTAnalytics::Dataset.RetentionPeriod",
             "  Properties:",
             "    NumberOfDays : ${2:Integer(R)}",
-            "    Unlimited : ${2:Boolean(R)}"
+            "    Unlimited : ${3:Boolean(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15302,8 +15302,8 @@
             "  Type: AWS::Config::ConfigurationAggregator.AccountAggregationSource",
             "  Properties:",
             "    AllAwsRegions : ${2:Boolean(O)}",
-            "    AwsRegions : [ ${2:String(O)} ]",
-            "    AccountIds : [ ${2:String(R)} ]"
+            "    AwsRegions : [ ${3:String(O)} ]",
+            "    AccountIds : [ ${4:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15326,7 +15326,7 @@
             "  Type: AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Value : ${2:Integer(R)}"
+            "    Value : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15349,8 +15349,8 @@
             "  Type: AWS::Route53::RecordSetGroup.GeoLocation",
             "  Properties:",
             "    ContinentCode : ${2:String(O)}",
-            "    CountryCode : ${2:String(O)}",
-            "    SubdivisionCode : ${2:String(O)}"
+            "    CountryCode : ${3:String(O)}",
+            "    SubdivisionCode : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15373,7 +15373,7 @@
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingConstraints",
             "  Properties:",
             "    MaxCapacity : ${2:Integer(R)}",
-            "    MinCapacity : ${2:Integer(R)}"
+            "    MinCapacity : ${3:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15385,10 +15385,10 @@
             "  Type: AWS::OpsWorks::Layer.Recipes",
             "  Properties:",
             "    Configure : [ ${2:String(O)} ]",
-            "    Deploy : [ ${2:String(O)} ]",
-            "    Setup : [ ${2:String(O)} ]",
-            "    Shutdown : [ ${2:String(O)} ]",
-            "    Undeploy : [ ${2:String(O)} ]"
+            "    Deploy : [ ${3:String(O)} ]",
+            "    Setup : [ ${4:String(O)} ]",
+            "    Shutdown : [ ${5:String(O)} ]",
+            "    Undeploy : [ ${6:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15400,7 +15400,7 @@
             "  Type: AWS::Glue::Crawler.S3Target",
             "  Properties:",
             "    Path : ${2:String(O)}",
-            "    Exclusions : [ ${2:String(O)} ]"
+            "    Exclusions : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15412,10 +15412,10 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer",
             "  Properties:",
             "    SecretsManagerSecretResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.SecretsManagerSecretResourceData(O)}",
-            "    SageMakerMachineLearningModelResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.SageMakerMachineLearningModelResourceData(O)}",
-            "    LocalVolumeResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.LocalVolumeResourceData(O)}",
-            "    LocalDeviceResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.LocalDeviceResourceData(O)}",
-            "    S3MachineLearningModelResourceData : ${2:aws-greengrass-resourcedefinitionversionresourcedatacontainer.S3MachineLearningModelResourceData(O)}"
+            "    SageMakerMachineLearningModelResourceData : ${3:aws-greengrass-resourcedefinitionversionresourcedatacontainer.SageMakerMachineLearningModelResourceData(O)}",
+            "    LocalVolumeResourceData : ${4:aws-greengrass-resourcedefinitionversionresourcedatacontainer.LocalVolumeResourceData(O)}",
+            "    LocalDeviceResourceData : ${5:aws-greengrass-resourcedefinitionversionresourcedatacontainer.LocalDeviceResourceData(O)}",
+            "    S3MachineLearningModelResourceData : ${6:aws-greengrass-resourcedefinitionversionresourcedatacontainer.S3MachineLearningModelResourceData(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15427,7 +15427,7 @@
             "  Type: AWS::AppStream::Fleet.VpcConfig",
             "  Properties:",
             "    SubnetIds : [ ${2:String(O)} ]",
-            "    SecurityGroupIds : [ ${2:String(O)} ]"
+            "    SecurityGroupIds : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15439,7 +15439,7 @@
             "  Type: AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy",
             "  Properties:",
             "    ResourceId : ${2:String(R)}",
-            "    Permission : ${2:String(O)}"
+            "    Permission : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15451,7 +15451,7 @@
             "  Type: AWS::CloudWatch::Alarm.Dimension",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15463,14 +15463,14 @@
             "  Type: AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition",
             "  Properties:",
             "    ComparisonOperator : ${2:String(R)}",
-            "    Dimensions : [ ${2:aws-emr-instancegroupconfigcloudwatchalarmdefinition.MetricDimension(O)} ]",
-            "    EvaluationPeriods : ${2:Integer(O)}",
-            "    MetricName : ${2:String(R)}",
-            "    Namespace : ${2:String(O)}",
-            "    Period : ${2:Integer(R)}",
-            "    Statistic : ${2:String(O)}",
-            "    Threshold : ${2:Double(R)}",
-            "    Unit : ${2:String(O)}"
+            "    Dimensions : [ ${3:aws-emr-instancegroupconfigcloudwatchalarmdefinition.MetricDimension(O)} ]",
+            "    EvaluationPeriods : ${4:Integer(O)}",
+            "    MetricName : ${5:String(R)}",
+            "    Namespace : ${6:String(O)}",
+            "    Period : ${7:Integer(R)}",
+            "    Statistic : ${8:String(O)}",
+            "    Threshold : ${9:Double(R)}",
+            "    Unit : ${10:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15482,8 +15482,8 @@
             "  Type: AWS::S3::Bucket.Transition",
             "  Properties:",
             "    StorageClass : ${2:String(R)}",
-            "    TransitionDate : ${2:Timestamp(O)}",
-            "    TransitionInDays : ${2:Integer(O)}"
+            "    TransitionDate : ${3:Timestamp(O)}",
+            "    TransitionInDays : ${4:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15506,7 +15506,7 @@
             "  Type: AWS::EMR::Cluster.EbsConfiguration",
             "  Properties:",
             "    EbsBlockDeviceConfigs : [ ${2:aws-emr-clusterebsconfiguration.EbsBlockDeviceConfig(O)} ]",
-            "    EbsOptimized : ${2:Boolean(O)}"
+            "    EbsOptimized : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15518,7 +15518,7 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting",
             "  Properties:",
             "    AutoAddGroupOwner : ${2:Boolean(R)}",
-            "    GroupOwner : ${2:String(O)}"
+            "    GroupOwner : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15530,7 +15530,7 @@
             "  Type: AWS::S3::Bucket.DataExport",
             "  Properties:",
             "    Destination : ${2:aws-s3-bucketdataexport.Destination(R)}",
-            "    OutputSchemaVersion : ${2:String(R)}"
+            "    OutputSchemaVersion : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15542,9 +15542,9 @@
             "  Type: AWS::CloudFront::Distribution.CustomErrorResponse",
             "  Properties:",
             "    ResponseCode : ${2:Integer(O)}",
-            "    ErrorCachingMinTTL : ${2:Double(O)}",
-            "    ErrorCode : ${2:Integer(R)}",
-            "    ResponsePagePath : ${2:String(O)}"
+            "    ErrorCachingMinTTL : ${3:Double(O)}",
+            "    ErrorCode : ${4:Integer(R)}",
+            "    ResponsePagePath : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15556,8 +15556,8 @@
             "  Type: AWS::SES::ReceiptRule.LambdaAction",
             "  Properties:",
             "    FunctionArn : ${2:String(R)}",
-            "    TopicArn : ${2:String(O)}",
-            "    InvocationType : ${2:String(O)}"
+            "    TopicArn : ${3:String(O)}",
+            "    InvocationType : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15569,10 +15569,10 @@
             "  Type: AWS::ECS::TaskDefinition.HealthCheck",
             "  Properties:",
             "    Command : [ ${2:String(R)} ]",
-            "    Interval : ${2:Integer(O)}",
-            "    Retries : ${2:Integer(O)}",
-            "    StartPeriod : ${2:Integer(O)}",
-            "    Timeout : ${2:Integer(O)}"
+            "    Interval : ${3:Integer(O)}",
+            "    Retries : ${4:Integer(O)}",
+            "    StartPeriod : ${5:Integer(O)}",
+            "    Timeout : ${6:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15584,11 +15584,11 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.InstancesDistribution",
             "  Properties:",
             "    OnDemandAllocationStrategy : ${2:String(O)}",
-            "    OnDemandBaseCapacity : ${2:Integer(O)}",
-            "    OnDemandPercentageAboveBaseCapacity : ${2:Integer(O)}",
-            "    SpotAllocationStrategy : ${2:String(O)}",
-            "    SpotInstancePools : ${2:Integer(O)}",
-            "    SpotMaxPrice : ${2:String(O)}"
+            "    OnDemandBaseCapacity : ${3:Integer(O)}",
+            "    OnDemandPercentageAboveBaseCapacity : ${4:Integer(O)}",
+            "    SpotAllocationStrategy : ${5:String(O)}",
+            "    SpotInstancePools : ${6:Integer(O)}",
+            "    SpotMaxPrice : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15611,7 +15611,7 @@
             "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping",
             "  Properties:",
             "    AllocationId : ${2:String(R)}",
-            "    SubnetId : ${2:String(R)}"
+            "    SubnetId : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15634,7 +15634,7 @@
             "  Type: AWS::ApiGatewayV2::Stage.AccessLogSettings",
             "  Properties:",
             "    Format : ${2:String(O)}",
-            "    DestinationArn : ${2:String(O)}"
+            "    DestinationArn : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15668,8 +15668,8 @@
             "  Type: AWS::ECS::TaskDefinition.PortMapping",
             "  Properties:",
             "    ContainerPort : ${2:Integer(O)}",
-            "    HostPort : ${2:Integer(O)}",
-            "    Protocol : ${2:String(O)}"
+            "    HostPort : ${3:Integer(O)}",
+            "    Protocol : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15681,7 +15681,7 @@
             "  Type: AWS::EC2::LaunchTemplate.CpuOptions",
             "  Properties:",
             "    ThreadsPerCore : ${2:Integer(O)}",
-            "    CoreCount : ${2:Integer(O)}"
+            "    CoreCount : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15704,7 +15704,7 @@
             "  Type: AWS::WAFRegional::SizeConstraintSet.FieldToMatch",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Data : ${2:String(O)}"
+            "    Data : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15716,9 +15716,9 @@
             "  Type: AWS::AppMesh::VirtualNode.VirtualNodeSpec",
             "  Properties:",
             "    Logging : ${2:aws-appmesh-virtualnodevirtualnodespec.Logging(O)}",
-            "    Backends : [ ${2:aws-appmesh-virtualnodevirtualnodespec.Backend(O)} ]",
-            "    Listeners : [ ${2:aws-appmesh-virtualnodevirtualnodespec.Listener(O)} ]",
-            "    ServiceDiscovery : ${2:aws-appmesh-virtualnodevirtualnodespec.ServiceDiscovery(O)}"
+            "    Backends : [ ${3:aws-appmesh-virtualnodevirtualnodespec.Backend(O)} ]",
+            "    Listeners : [ ${4:aws-appmesh-virtualnodevirtualnodespec.Listener(O)} ]",
+            "    ServiceDiscovery : ${5:aws-appmesh-virtualnodevirtualnodespec.ServiceDiscovery(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15730,9 +15730,9 @@
             "  Type: AWS::IoT::TopicRule.CloudwatchAlarmAction",
             "  Properties:",
             "    AlarmName : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}",
-            "    StateReason : ${2:String(R)}",
-            "    StateValue : ${2:String(R)}"
+            "    RoleArn : ${3:String(R)}",
+            "    StateReason : ${4:String(R)}",
+            "    StateValue : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15744,8 +15744,8 @@
             "  Type: AWS::ECS::TaskDefinition.Ulimit",
             "  Properties:",
             "    HardLimit : ${2:Integer(R)}",
-            "    Name : ${2:String(R)}",
-            "    SoftLimit : ${2:Integer(R)}"
+            "    Name : ${3:String(R)}",
+            "    SoftLimit : ${4:Integer(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15790,9 +15790,9 @@
             "  Type: AWS::EMR::Cluster.ScalingRule",
             "  Properties:",
             "    Action : ${2:aws-emr-clusterscalingrule.ScalingAction(R)}",
-            "    Description : ${2:String(O)}",
-            "    Name : ${2:String(R)}",
-            "    Trigger : ${2:aws-emr-clusterscalingrule.ScalingTrigger(R)}"
+            "    Description : ${3:String(O)}",
+            "    Name : ${4:String(R)}",
+            "    Trigger : ${5:aws-emr-clusterscalingrule.ScalingTrigger(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15804,8 +15804,8 @@
             "  Type: AWS::CloudFront::StreamingDistribution.Logging",
             "  Properties:",
             "    Bucket : ${2:String(R)}",
-            "    Enabled : ${2:Boolean(R)}",
-            "    Prefix : ${2:String(R)}"
+            "    Enabled : ${3:Boolean(R)}",
+            "    Prefix : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15817,7 +15817,7 @@
             "  Type: AWS::Glue::Classifier.JsonClassifier",
             "  Properties:",
             "    JsonPath : ${2:String(R)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15829,7 +15829,7 @@
             "  Type: AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination",
             "  Properties:",
             "    IAMRoleARN : ${2:String(R)}",
-            "    DeliveryStreamARN : ${2:String(R)}"
+            "    DeliveryStreamARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15841,7 +15841,7 @@
             "  Type: AWS::AppMesh::VirtualNode.Listener",
             "  Properties:",
             "    HealthCheck : ${2:aws-appmesh-virtualnodelistener.HealthCheck(O)}",
-            "    PortMapping : ${2:aws-appmesh-virtualnodelistener.PortMapping(R)}"
+            "    PortMapping : ${3:aws-appmesh-virtualnodelistener.PortMapping(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15853,8 +15853,8 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.CopyCommand",
             "  Properties:",
             "    CopyOptions : ${2:String(O)}",
-            "    DataTableColumns : ${2:String(O)}",
-            "    DataTableName : ${2:String(R)}"
+            "    DataTableColumns : ${3:String(O)}",
+            "    DataTableName : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15866,7 +15866,7 @@
             "  Type: AWS::DataPipeline::Pipeline.ParameterValue",
             "  Properties:",
             "    Id : ${2:String(R)}",
-            "    StringValue : ${2:String(R)}"
+            "    StringValue : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15878,7 +15878,7 @@
             "  Type: AWS::CodeBuild::Project.ProjectTriggers",
             "  Properties:",
             "    FilterGroups : [ ${2:aws-codebuild-projectprojecttriggers.FilterGroup(O)} ]",
-            "    Webhook : ${2:Boolean(O)}"
+            "    Webhook : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15890,8 +15890,8 @@
             "  Type: AWS::CloudFront::Distribution.Logging",
             "  Properties:",
             "    IncludeCookies : ${2:Boolean(O)}",
-            "    Bucket : ${2:String(R)}",
-            "    Prefix : ${2:String(O)}"
+            "    Bucket : ${3:String(R)}",
+            "    Prefix : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15903,7 +15903,7 @@
             "  Type: AWS::AppMesh::VirtualService.VirtualServiceProvider",
             "  Properties:",
             "    VirtualNode : ${2:aws-appmesh-virtualservicevirtualserviceprovider.VirtualNodeServiceProvider(O)}",
-            "    VirtualRouter : ${2:aws-appmesh-virtualservicevirtualserviceprovider.VirtualRouterServiceProvider(O)}"
+            "    VirtualRouter : ${3:aws-appmesh-virtualservicevirtualserviceprovider.VirtualRouterServiceProvider(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15937,10 +15937,10 @@
             "  Type: AWS::ECS::TaskDefinition.LinuxParameters",
             "  Properties:",
             "    Capabilities : ${2:aws-ecs-taskdefinitionlinuxparameters.KernelCapabilities(O)}",
-            "    Devices : [ ${2:aws-ecs-taskdefinitionlinuxparameters.Device(O)} ]",
-            "    InitProcessEnabled : ${2:Boolean(O)}",
-            "    SharedMemorySize : ${2:Integer(O)}",
-            "    Tmpfs : [ ${2:aws-ecs-taskdefinitionlinuxparameters.Tmpfs(O)} ]"
+            "    Devices : [ ${3:aws-ecs-taskdefinitionlinuxparameters.Device(O)} ]",
+            "    InitProcessEnabled : ${4:Boolean(O)}",
+            "    SharedMemorySize : ${5:Integer(O)}",
+            "    Tmpfs : [ ${6:aws-ecs-taskdefinitionlinuxparameters.Tmpfs(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15952,7 +15952,7 @@
             "  Type: AWS::AppStream::Stack.UserSetting",
             "  Properties:",
             "    Action : ${2:String(R)}",
-            "    Permission : ${2:String(R)}"
+            "    Permission : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15964,7 +15964,7 @@
             "  Type: AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId",
             "  Properties:",
             "    Revision : ${2:Integer(R)}",
-            "    Id : ${2:String(R)}"
+            "    Id : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15976,8 +15976,8 @@
             "  Type: AWS::ServiceDiscovery::Service.HealthCheckConfig",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    ResourcePath : ${2:String(O)}",
-            "    FailureThreshold : ${2:Double(O)}"
+            "    ResourcePath : ${3:String(O)}",
+            "    FailureThreshold : ${4:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -15989,7 +15989,7 @@
             "  Type: AWS::Cognito::UserPool.DeviceConfiguration",
             "  Properties:",
             "    DeviceOnlyRememberedOnUserPrompt : ${2:Boolean(O)}",
-            "    ChallengeRequiredOnNewDevice : ${2:Boolean(O)}"
+            "    ChallengeRequiredOnNewDevice : ${3:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16012,7 +16012,7 @@
             "  Type: AWS::Kinesis::Stream.StreamEncryption",
             "  Properties:",
             "    EncryptionType : ${2:String(R)}",
-            "    KeyId : ${2:String(R)}"
+            "    KeyId : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16024,11 +16024,11 @@
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration",
             "  Properties:",
             "    CustomizedMetricSpecification : ${2:aws-applicationautoscaling-scalingpolicytargettrackingscalingpolicyconfiguration.CustomizedMetricSpecification(O)}",
-            "    DisableScaleIn : ${2:Boolean(O)}",
-            "    PredefinedMetricSpecification : ${2:aws-applicationautoscaling-scalingpolicytargettrackingscalingpolicyconfiguration.PredefinedMetricSpecification(O)}",
-            "    ScaleInCooldown : ${2:Integer(O)}",
-            "    ScaleOutCooldown : ${2:Integer(O)}",
-            "    TargetValue : ${2:Double(R)}"
+            "    DisableScaleIn : ${3:Boolean(O)}",
+            "    PredefinedMetricSpecification : ${4:aws-applicationautoscaling-scalingpolicytargettrackingscalingpolicyconfiguration.PredefinedMetricSpecification(O)}",
+            "    ScaleInCooldown : ${5:Integer(O)}",
+            "    ScaleOutCooldown : ${6:Integer(O)}",
+            "    TargetValue : ${7:Double(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16040,12 +16040,12 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration",
             "  Properties:",
             "    BucketARN : ${2:String(R)}",
-            "    BufferingHints : ${2:aws-kinesisfirehose-deliverystreams3destinationconfiguration.BufferingHints(R)}",
-            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreams3destinationconfiguration.CloudWatchLoggingOptions(O)}",
-            "    CompressionFormat : ${2:String(R)}",
-            "    EncryptionConfiguration : ${2:aws-kinesisfirehose-deliverystreams3destinationconfiguration.EncryptionConfiguration(O)}",
-            "    Prefix : ${2:String(O)}",
-            "    RoleARN : ${2:String(R)}"
+            "    BufferingHints : ${3:aws-kinesisfirehose-deliverystreams3destinationconfiguration.BufferingHints(R)}",
+            "    CloudWatchLoggingOptions : ${4:aws-kinesisfirehose-deliverystreams3destinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    CompressionFormat : ${5:String(R)}",
+            "    EncryptionConfiguration : ${6:aws-kinesisfirehose-deliverystreams3destinationconfiguration.EncryptionConfiguration(O)}",
+            "    Prefix : ${7:String(O)}",
+            "    RoleARN : ${8:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16057,12 +16057,12 @@
             "  Type: AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig",
             "  Properties:",
             "    Logging : ${2:aws-cloudfront-streamingdistributionstreamingdistributionconfig.Logging(O)}",
-            "    Comment : ${2:String(R)}",
-            "    PriceClass : ${2:String(O)}",
-            "    S3Origin : ${2:aws-cloudfront-streamingdistributionstreamingdistributionconfig.S3Origin(R)}",
-            "    Enabled : ${2:Boolean(R)}",
-            "    Aliases : [ ${2:String(O)} ]",
-            "    TrustedSigners : ${2:aws-cloudfront-streamingdistributionstreamingdistributionconfig.TrustedSigners(R)}"
+            "    Comment : ${3:String(R)}",
+            "    PriceClass : ${4:String(O)}",
+            "    S3Origin : ${5:aws-cloudfront-streamingdistributionstreamingdistributionconfig.S3Origin(R)}",
+            "    Enabled : ${6:Boolean(R)}",
+            "    Aliases : [ ${7:String(O)} ]",
+            "    TrustedSigners : ${8:aws-cloudfront-streamingdistributionstreamingdistributionconfig.TrustedSigners(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16074,11 +16074,11 @@
             "  Type: AWS::EMR::Cluster.InstanceTypeConfig",
             "  Properties:",
             "    BidPrice : ${2:String(O)}",
-            "    BidPriceAsPercentageOfOnDemandPrice : ${2:Double(O)}",
-            "    Configurations : [ ${2:aws-emr-clusterinstancetypeconfig.Configuration(O)} ]",
-            "    EbsConfiguration : ${2:aws-emr-clusterinstancetypeconfig.EbsConfiguration(O)}",
-            "    InstanceType : ${2:String(R)}",
-            "    WeightedCapacity : ${2:Integer(O)}"
+            "    BidPriceAsPercentageOfOnDemandPrice : ${3:Double(O)}",
+            "    Configurations : [ ${4:aws-emr-clusterinstancetypeconfig.Configuration(O)} ]",
+            "    EbsConfiguration : ${5:aws-emr-clusterinstancetypeconfig.EbsConfiguration(O)}",
+            "    InstanceType : ${6:String(R)}",
+            "    WeightedCapacity : ${7:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16090,15 +16090,15 @@
             "  Type: AWS::SecretsManager::Secret.GenerateSecretString",
             "  Properties:",
             "    ExcludeUppercase : ${2:Boolean(O)}",
-            "    RequireEachIncludedType : ${2:Boolean(O)}",
-            "    IncludeSpace : ${2:Boolean(O)}",
-            "    ExcludeCharacters : ${2:String(O)}",
-            "    GenerateStringKey : ${2:String(O)}",
-            "    PasswordLength : ${2:Integer(O)}",
-            "    ExcludePunctuation : ${2:Boolean(O)}",
-            "    ExcludeLowercase : ${2:Boolean(O)}",
-            "    SecretStringTemplate : ${2:String(O)}",
-            "    ExcludeNumbers : ${2:Boolean(O)}"
+            "    RequireEachIncludedType : ${3:Boolean(O)}",
+            "    IncludeSpace : ${4:Boolean(O)}",
+            "    ExcludeCharacters : ${5:String(O)}",
+            "    GenerateStringKey : ${6:String(O)}",
+            "    PasswordLength : ${7:Integer(O)}",
+            "    ExcludePunctuation : ${8:Boolean(O)}",
+            "    ExcludeLowercase : ${9:Boolean(O)}",
+            "    SecretStringTemplate : ${10:String(O)}",
+            "    ExcludeNumbers : ${11:Boolean(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16110,9 +16110,9 @@
             "  Type: AWS::SageMaker::Model.ContainerDefinition",
             "  Properties:",
             "    ContainerHostname : ${2:String(O)}",
-            "    Environment : ${2:Json(O)}",
-            "    ModelDataUrl : ${2:String(O)}",
-            "    Image : ${2:String(R)}"
+            "    Environment : ${3:Json(O)}",
+            "    ModelDataUrl : ${4:String(O)}",
+            "    Image : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16124,7 +16124,7 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplate",
             "  Properties:",
             "    LaunchTemplateSpecification : ${2:aws-autoscaling-autoscalinggrouplaunchtemplate.LaunchTemplateSpecification(R)}",
-            "    Overrides : [ ${2:aws-autoscaling-autoscalinggrouplaunchtemplate.LaunchTemplateOverrides(O)} ]"
+            "    Overrides : [ ${3:aws-autoscaling-autoscalinggrouplaunchtemplate.LaunchTemplateOverrides(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16136,7 +16136,7 @@
             "  Type: AWS::Route53::HealthCheck.HealthCheckTag",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16148,7 +16148,7 @@
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters",
             "  Properties:",
             "    Input : ${2:String(O)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16160,8 +16160,8 @@
             "  Type: AWS::CodeBuild::Project.EnvironmentVariable",
             "  Properties:",
             "    Type : ${2:String(O)}",
-            "    Value : ${2:String(R)}",
-            "    Name : ${2:String(R)}"
+            "    Value : ${3:String(R)}",
+            "    Name : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16173,7 +16173,7 @@
             "  Type: AWS::IoT1Click::Project.PlacementTemplate",
             "  Properties:",
             "    DeviceTemplates : ${2:Json(O)}",
-            "    DefaultAttributes : ${2:Json(O)}"
+            "    DefaultAttributes : ${3:Json(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16185,8 +16185,8 @@
             "  Type: AWS::Cognito::UserPool.InviteMessageTemplate",
             "  Properties:",
             "    EmailMessage : ${2:String(O)}",
-            "    SMSMessage : ${2:String(O)}",
-            "    EmailSubject : ${2:String(O)}"
+            "    SMSMessage : ${3:String(O)}",
+            "    EmailSubject : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16198,7 +16198,7 @@
             "  Type: AWS::EMR::Cluster.MetricDimension",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16210,8 +16210,8 @@
             "  Type: AWS::ElasticBeanstalk::Application.MaxCountRule",
             "  Properties:",
             "    DeleteSourceFromS3 : ${2:Boolean(O)}",
-            "    Enabled : ${2:Boolean(O)}",
-            "    MaxCount : ${2:Integer(O)}"
+            "    Enabled : ${3:Boolean(O)}",
+            "    MaxCount : ${4:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16223,8 +16223,8 @@
             "  Type: AWS::Greengrass::ConnectorDefinition.Connector",
             "  Properties:",
             "    ConnectorArn : ${2:String(R)}",
-            "    Parameters : ${2:Json(O)}",
-            "    Id : ${2:String(R)}"
+            "    Parameters : ${3:Json(O)}",
+            "    Id : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16236,8 +16236,8 @@
             "  Type: AWS::AutoScaling::AutoScalingGroup.TagProperty",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    PropagateAtLaunch : ${2:Boolean(R)}",
-            "    Value : ${2:String(R)}"
+            "    PropagateAtLaunch : ${3:Boolean(R)}",
+            "    Value : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16249,8 +16249,8 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema",
             "  Properties:",
             "    RecordEncoding : ${2:String(O)}",
-            "    RecordColumns : [ ${2:aws-kinesisanalytics-applicationreferencedatasourcereferenceschema.RecordColumn(R)} ]",
-            "    RecordFormat : ${2:aws-kinesisanalytics-applicationreferencedatasourcereferenceschema.RecordFormat(R)}"
+            "    RecordColumns : [ ${3:aws-kinesisanalytics-applicationreferencedatasourcereferenceschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${4:aws-kinesisanalytics-applicationreferencedatasourcereferenceschema.RecordFormat(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16262,7 +16262,7 @@
             "  Type: AWS::S3::Bucket.FilterRule",
             "  Properties:",
             "    Name : ${2:String(R)}",
-            "    Value : ${2:String(R)}"
+            "    Value : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16274,9 +16274,9 @@
             "  Type: AWS::CodePipeline::Pipeline.ActionTypeId",
             "  Properties:",
             "    Category : ${2:String(R)}",
-            "    Owner : ${2:String(R)}",
-            "    Provider : ${2:String(R)}",
-            "    Version : ${2:String(R)}"
+            "    Owner : ${3:String(R)}",
+            "    Provider : ${4:String(R)}",
+            "    Version : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16288,7 +16288,7 @@
             "  Type: AWS::Route53::HostedZone.VPC",
             "  Properties:",
             "    VPCId : ${2:String(R)}",
-            "    VPCRegion : ${2:String(R)}"
+            "    VPCRegion : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16300,7 +16300,7 @@
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy",
             "  Properties:",
             "    ResourceId : ${2:String(R)}",
-            "    Permission : ${2:String(O)}"
+            "    Permission : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16312,7 +16312,7 @@
             "  Type: Tag",
             "  Properties:",
             "    Value : ${2:String(R)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16324,7 +16324,7 @@
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData",
             "  Properties:",
             "    ARN : ${2:String(R)}",
-            "    AdditionalStagingLabelsToDownload : [ ${2:String(O)} ]"
+            "    AdditionalStagingLabelsToDownload : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16347,7 +16347,7 @@
             "  Type: AWS::Budgets::Budget.TimePeriod",
             "  Properties:",
             "    Start : ${2:String(O)}",
-            "    End : ${2:String(O)}"
+            "    End : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16359,7 +16359,7 @@
             "  Type: AWS::Events::Rule.EcsParameters",
             "  Properties:",
             "    TaskCount : ${2:Integer(O)}",
-            "    TaskDefinitionArn : ${2:String(R)}"
+            "    TaskDefinitionArn : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16371,8 +16371,8 @@
             "  Type: AWS::ApiGateway::UsagePlan.QuotaSettings",
             "  Properties:",
             "    Limit : ${2:Integer(O)}",
-            "    Offset : ${2:Integer(O)}",
-            "    Period : ${2:String(O)}"
+            "    Offset : ${3:Integer(O)}",
+            "    Period : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16395,9 +16395,9 @@
             "  Type: AWS::EC2::Instance.BlockDeviceMapping",
             "  Properties:",
             "    DeviceName : ${2:String(R)}",
-            "    Ebs : ${2:aws-ec2-instanceblockdevicemapping.Ebs(O)}",
-            "    NoDevice : ${2:aws-ec2-instanceblockdevicemapping.NoDevice(O)}",
-            "    VirtualName : ${2:String(O)}"
+            "    Ebs : ${3:aws-ec2-instanceblockdevicemapping.Ebs(O)}",
+            "    NoDevice : ${4:aws-ec2-instanceblockdevicemapping.NoDevice(O)}",
+            "    VirtualName : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16409,8 +16409,8 @@
             "  Type: AWS::DataPipeline::Pipeline.Field",
             "  Properties:",
             "    Key : ${2:String(R)}",
-            "    RefValue : ${2:String(O)}",
-            "    StringValue : ${2:String(O)}"
+            "    RefValue : ${3:String(O)}",
+            "    StringValue : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16422,7 +16422,7 @@
             "  Type: AWS::AppMesh::Route.HttpRoute",
             "  Properties:",
             "    Action : ${2:aws-appmesh-routehttproute.HttpRouteAction(R)}",
-            "    Match : ${2:aws-appmesh-routehttproute.HttpRouteMatch(R)}"
+            "    Match : ${3:aws-appmesh-routehttproute.HttpRouteMatch(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16434,8 +16434,8 @@
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource",
             "  Properties:",
             "    ReferenceSchema : ${2:aws-kinesisanalytics-applicationreferencedatasourcereferencedatasource.ReferenceSchema(R)}",
-            "    TableName : ${2:String(O)}",
-            "    S3ReferenceDataSource : ${2:aws-kinesisanalytics-applicationreferencedatasourcereferencedatasource.S3ReferenceDataSource(O)}"
+            "    TableName : ${3:String(O)}",
+            "    S3ReferenceDataSource : ${4:aws-kinesisanalytics-applicationreferencedatasourcereferencedatasource.S3ReferenceDataSource(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16447,7 +16447,7 @@
             "  Type: AWS::EKS::Cluster.ResourcesVpcConfig",
             "  Properties:",
             "    SecurityGroupIds : [ ${2:String(O)} ]",
-            "    SubnetIds : [ ${2:String(R)} ]"
+            "    SubnetIds : [ ${3:String(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16470,11 +16470,11 @@
             "  Type: AWS::IoT::TopicRule.CloudwatchMetricAction",
             "  Properties:",
             "    MetricName : ${2:String(R)}",
-            "    MetricNamespace : ${2:String(R)}",
-            "    MetricTimestamp : ${2:String(O)}",
-            "    MetricUnit : ${2:String(R)}",
-            "    MetricValue : ${2:String(R)}",
-            "    RoleArn : ${2:String(R)}"
+            "    MetricNamespace : ${3:String(R)}",
+            "    MetricTimestamp : ${4:String(O)}",
+            "    MetricUnit : ${5:String(R)}",
+            "    MetricValue : ${6:String(R)}",
+            "    RoleArn : ${7:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16486,8 +16486,8 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema",
             "  Properties:",
             "    RecordEncoding : ${2:String(O)}",
-            "    RecordColumns : [ ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferenceschema.RecordColumn(R)} ]",
-            "    RecordFormat : ${2:aws-kinesisanalyticsv2-applicationreferencedatasourcereferenceschema.RecordFormat(R)}"
+            "    RecordColumns : [ ${3:aws-kinesisanalyticsv2-applicationreferencedatasourcereferenceschema.RecordColumn(R)} ]",
+            "    RecordFormat : ${4:aws-kinesisanalyticsv2-applicationreferencedatasourcereferenceschema.RecordFormat(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16499,9 +16499,9 @@
             "  Type: AWS::Greengrass::SubscriptionDefinitionVersion.Subscription",
             "  Properties:",
             "    Target : ${2:String(R)}",
-            "    Id : ${2:String(R)}",
-            "    Source : ${2:String(R)}",
-            "    Subject : ${2:String(R)}"
+            "    Id : ${3:String(R)}",
+            "    Source : ${4:String(R)}",
+            "    Subject : ${5:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16513,9 +16513,9 @@
             "  Type: AWS::EC2::SpotFleet.BlockDeviceMapping",
             "  Properties:",
             "    DeviceName : ${2:String(R)}",
-            "    Ebs : ${2:aws-ec2-spotfleetblockdevicemapping.EbsBlockDevice(O)}",
-            "    NoDevice : ${2:String(O)}",
-            "    VirtualName : ${2:String(O)}"
+            "    Ebs : ${3:aws-ec2-spotfleetblockdevicemapping.EbsBlockDevice(O)}",
+            "    NoDevice : ${4:String(O)}",
+            "    VirtualName : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16527,7 +16527,7 @@
             "  Type: AWS::KinesisAnalytics::Application.InputLambdaProcessor",
             "  Properties:",
             "    ResourceARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16539,7 +16539,7 @@
             "  Type: AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    Data : ${2:String(O)}"
+            "    Data : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16551,7 +16551,7 @@
             "  Type: AWS::SES::ReceiptRule.AddHeaderAction",
             "  Properties:",
             "    HeaderValue : ${2:String(R)}",
-            "    HeaderName : ${2:String(R)}"
+            "    HeaderName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16563,7 +16563,7 @@
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput",
             "  Properties:",
             "    ResourceARN : ${2:String(R)}",
-            "    RoleARN : ${2:String(R)}"
+            "    RoleARN : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16575,7 +16575,7 @@
             "  Type: AWS::AppMesh::Route.TagRef",
             "  Properties:",
             "    Value : ${2:String(O)}",
-            "    Key : ${2:String(R)}"
+            "    Key : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16587,7 +16587,7 @@
             "  Type: AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration",
             "  Properties:",
             "    Enabled : ${2:Boolean(O)}",
-            "    Events : [ ${2:String(O)} ]"
+            "    Events : [ ${3:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16599,8 +16599,8 @@
             "  Type: AWS::CloudWatch::Alarm.Metric",
             "  Properties:",
             "    Dimensions : [ ${2:aws-cloudwatch-alarmmetric.Dimension(O)} ]",
-            "    MetricName : ${2:String(O)}",
-            "    Namespace : ${2:String(O)}"
+            "    MetricName : ${3:String(O)}",
+            "    Namespace : ${4:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16612,7 +16612,7 @@
             "  Type: AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification",
             "  Properties:",
             "    PredefinedLoadMetricType : ${2:String(R)}",
-            "    ResourceLabel : ${2:String(O)}"
+            "    ResourceLabel : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16635,10 +16635,10 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.Policies",
             "  Properties:",
             "    Attributes : [ ${2:Json(R)} ]",
-            "    InstancePorts : [ ${2:String(O)} ]",
-            "    LoadBalancerPorts : [ ${2:String(O)} ]",
-            "    PolicyName : ${2:String(R)}",
-            "    PolicyType : ${2:String(R)}"
+            "    InstancePorts : [ ${3:String(O)} ]",
+            "    LoadBalancerPorts : [ ${4:String(O)} ]",
+            "    PolicyName : ${5:String(R)}",
+            "    PolicyType : ${6:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16650,10 +16650,10 @@
             "  Type: AWS::ApiGatewayV2::Stage.RouteSettings",
             "  Properties:",
             "    LoggingLevel : ${2:String(O)}",
-            "    DataTraceEnabled : ${2:Boolean(O)}",
-            "    ThrottlingBurstLimit : ${2:Integer(O)}",
-            "    DetailedMetricsEnabled : ${2:Boolean(O)}",
-            "    ThrottlingRateLimit : ${2:Double(O)}"
+            "    DataTraceEnabled : ${3:Boolean(O)}",
+            "    ThrottlingBurstLimit : ${4:Integer(O)}",
+            "    DetailedMetricsEnabled : ${5:Boolean(O)}",
+            "    ThrottlingRateLimit : ${6:Double(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16665,7 +16665,7 @@
             "  Type: AWS::OpsWorks::Stack.ElasticIp",
             "  Properties:",
             "    Ip : ${2:String(R)}",
-            "    Name : ${2:String(O)}"
+            "    Name : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16677,7 +16677,7 @@
             "  Type: AWS::EMR::Cluster.AutoScalingPolicy",
             "  Properties:",
             "    Constraints : ${2:aws-emr-clusterautoscalingpolicy.ScalingConstraints(R)}",
-            "    Rules : [ ${2:aws-emr-clusterautoscalingpolicy.ScalingRule(R)} ]"
+            "    Rules : [ ${3:aws-emr-clusterautoscalingpolicy.ScalingRule(R)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16700,15 +16700,15 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration",
             "  Properties:",
             "    BucketARN : ${2:String(R)}",
-            "    BufferingHints : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.BufferingHints(R)}",
-            "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.CloudWatchLoggingOptions(O)}",
-            "    CompressionFormat : ${2:String(R)}",
-            "    EncryptionConfiguration : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.EncryptionConfiguration(O)}",
-            "    Prefix : ${2:String(R)}",
-            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.ProcessingConfiguration(O)}",
-            "    RoleARN : ${2:String(R)}",
-            "    S3BackupConfiguration : ${2:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.S3DestinationConfiguration(O)}",
-            "    S3BackupMode : ${2:String(O)}"
+            "    BufferingHints : ${3:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.BufferingHints(R)}",
+            "    CloudWatchLoggingOptions : ${4:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.CloudWatchLoggingOptions(O)}",
+            "    CompressionFormat : ${5:String(R)}",
+            "    EncryptionConfiguration : ${6:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.EncryptionConfiguration(O)}",
+            "    Prefix : ${7:String(R)}",
+            "    ProcessingConfiguration : ${8:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.ProcessingConfiguration(O)}",
+            "    RoleARN : ${9:String(R)}",
+            "    S3BackupConfiguration : ${10:aws-kinesisfirehose-deliverystreamextendeds3destinationconfiguration.S3DestinationConfiguration(O)}",
+            "    S3BackupMode : ${11:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16720,14 +16720,14 @@
             "  Type: AWS::CodeBuild::Project.Source",
             "  Properties:",
             "    Type : ${2:String(R)}",
-            "    ReportBuildStatus : ${2:Boolean(O)}",
-            "    Auth : ${2:aws-codebuild-projectsource.SourceAuth(O)}",
-            "    SourceIdentifier : ${2:String(O)}",
-            "    BuildSpec : ${2:String(O)}",
-            "    GitCloneDepth : ${2:Integer(O)}",
-            "    GitSubmodulesConfig : ${2:aws-codebuild-projectsource.GitSubmodulesConfig(O)}",
-            "    InsecureSsl : ${2:Boolean(O)}",
-            "    Location : ${2:String(O)}"
+            "    ReportBuildStatus : ${3:Boolean(O)}",
+            "    Auth : ${4:aws-codebuild-projectsource.SourceAuth(O)}",
+            "    SourceIdentifier : ${5:String(O)}",
+            "    BuildSpec : ${6:String(O)}",
+            "    GitCloneDepth : ${7:Integer(O)}",
+            "    GitSubmodulesConfig : ${8:aws-codebuild-projectsource.GitSubmodulesConfig(O)}",
+            "    InsecureSsl : ${9:Boolean(O)}",
+            "    Location : ${10:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16739,7 +16739,7 @@
             "  Type: AWS::EC2::Instance.PrivateIpAddressSpecification",
             "  Properties:",
             "    Primary : ${2:Boolean(R)}",
-            "    PrivateIpAddress : ${2:String(R)}"
+            "    PrivateIpAddress : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16751,7 +16751,7 @@
             "  Type: AWS::AppSync::DataSource.ElasticsearchConfig",
             "  Properties:",
             "    AwsRegion : ${2:String(R)}",
-            "    Endpoint : ${2:String(R)}"
+            "    Endpoint : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16763,7 +16763,7 @@
             "  Type: AWS::EC2::EC2Fleet.TagSpecification",
             "  Properties:",
             "    ResourceType : ${2:String(O)}",
-            "    Tags : [ ${2:aws-ec2-ec2fleettagspecification.TagRequest(O)} ]"
+            "    Tags : [ ${3:aws-ec2-ec2fleettagspecification.TagRequest(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16775,7 +16775,7 @@
             "  Type: AWS::IAM::User.Policy",
             "  Properties:",
             "    PolicyDocument : ${2:Json(R)}",
-            "    PolicyName : ${2:String(R)}"
+            "    PolicyName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16798,13 +16798,13 @@
             "  Type: AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration",
             "  Properties:",
             "    CloudWatchLoggingOptions : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.CloudWatchLoggingOptions(O)}",
-            "    ClusterJDBCURL : ${2:String(R)}",
-            "    CopyCommand : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.CopyCommand(R)}",
-            "    Password : ${2:String(R)}",
-            "    ProcessingConfiguration : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.ProcessingConfiguration(O)}",
-            "    RoleARN : ${2:String(R)}",
-            "    S3Configuration : ${2:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.S3DestinationConfiguration(R)}",
-            "    Username : ${2:String(R)}"
+            "    ClusterJDBCURL : ${3:String(R)}",
+            "    CopyCommand : ${4:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.CopyCommand(R)}",
+            "    Password : ${5:String(R)}",
+            "    ProcessingConfiguration : ${6:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.ProcessingConfiguration(O)}",
+            "    RoleARN : ${7:String(R)}",
+            "    S3Configuration : ${8:aws-kinesisfirehose-deliverystreamredshiftdestinationconfiguration.S3DestinationConfiguration(R)}",
+            "    Username : ${9:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16816,9 +16816,9 @@
             "  Type: AWS::Elasticsearch::Domain.EBSOptions",
             "  Properties:",
             "    EBSEnabled : ${2:Boolean(O)}",
-            "    Iops : ${2:Integer(O)}",
-            "    VolumeSize : ${2:Integer(O)}",
-            "    VolumeType : ${2:String(O)}"
+            "    Iops : ${3:Integer(O)}",
+            "    VolumeSize : ${4:Integer(O)}",
+            "    VolumeType : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16830,7 +16830,7 @@
             "  Type: AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig",
             "  Properties:",
             "    VolumeSpecification : ${2:aws-emr-instancefleetconfigebsblockdeviceconfig.VolumeSpecification(R)}",
-            "    VolumesPerInstance : ${2:Integer(O)}"
+            "    VolumesPerInstance : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16853,12 +16853,12 @@
             "  Type: AWS::OpsWorks::Instance.TimeBasedAutoScaling",
             "  Properties:",
             "    Friday : [ ${2:String(O)} ]",
-            "    Monday : [ ${2:String(O)} ]",
-            "    Saturday : [ ${2:String(O)} ]",
-            "    Sunday : [ ${2:String(O)} ]",
-            "    Thursday : [ ${2:String(O)} ]",
-            "    Tuesday : [ ${2:String(O)} ]",
-            "    Wednesday : [ ${2:String(O)} ]"
+            "    Monday : [ ${3:String(O)} ]",
+            "    Saturday : [ ${4:String(O)} ]",
+            "    Sunday : [ ${5:String(O)} ]",
+            "    Thursday : [ ${6:String(O)} ]",
+            "    Tuesday : [ ${7:String(O)} ]",
+            "    Wednesday : [ ${8:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16870,8 +16870,8 @@
             "  Type: AWS::Config::ConfigRule.SourceDetail",
             "  Properties:",
             "    EventSource : ${2:String(R)}",
-            "    MaximumExecutionFrequency : ${2:String(O)}",
-            "    MessageType : ${2:String(R)}"
+            "    MaximumExecutionFrequency : ${3:String(O)}",
+            "    MessageType : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16883,8 +16883,8 @@
             "  Type: AWS::EC2::EC2Fleet.SpotOptionsRequest",
             "  Properties:",
             "    AllocationStrategy : ${2:String(O)}",
-            "    InstanceInterruptionBehavior : ${2:String(O)}",
-            "    InstancePoolsToUseCount : ${2:Integer(O)}"
+            "    InstanceInterruptionBehavior : ${3:String(O)}",
+            "    InstancePoolsToUseCount : ${4:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16896,9 +16896,9 @@
             "  Type: AWS::DMS::Endpoint.ElasticsearchSettings",
             "  Properties:",
             "    EndpointUri : ${2:String(O)}",
-            "    FullLoadErrorPercentage : ${2:Integer(O)}",
-            "    ErrorRetryDuration : ${2:Integer(O)}",
-            "    ServiceAccessRoleArn : ${2:String(O)}"
+            "    FullLoadErrorPercentage : ${3:Integer(O)}",
+            "    ErrorRetryDuration : ${4:Integer(O)}",
+            "    ServiceAccessRoleArn : ${5:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16910,7 +16910,7 @@
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy",
             "  Properties:",
             "    CookieName : ${2:String(R)}",
-            "    PolicyName : ${2:String(R)}"
+            "    PolicyName : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16922,7 +16922,7 @@
             "  Type: AWS::SES::ReceiptFilter.IpFilter",
             "  Properties:",
             "    Policy : ${2:String(R)}",
-            "    Cidr : ${2:String(R)}"
+            "    Cidr : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16934,7 +16934,7 @@
             "  Type: AWS::Cloud9::EnvironmentEC2.Repository",
             "  Properties:",
             "    PathComponent : ${2:String(R)}",
-            "    RepositoryUrl : ${2:String(R)}"
+            "    RepositoryUrl : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16946,9 +16946,9 @@
             "  Type: AWS::EMR::Cluster.HadoopJarStepConfig",
             "  Properties:",
             "    Args : [ ${2:String(O)} ]",
-            "    Jar : ${2:String(R)}",
-            "    MainClass : ${2:String(O)}",
-            "    StepProperties : [ ${2:aws-emr-clusterhadoopjarstepconfig.KeyValue(O)} ]"
+            "    Jar : ${3:String(R)}",
+            "    MainClass : ${4:String(O)}",
+            "    StepProperties : [ ${5:aws-emr-clusterhadoopjarstepconfig.KeyValue(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16960,11 +16960,11 @@
             "  Type: AWS::RDS::OptionGroup.OptionConfiguration",
             "  Properties:",
             "    DBSecurityGroupMemberships : [ ${2:String(O)} ]",
-            "    OptionName : ${2:String(R)}",
-            "    OptionSettings : [ ${2:aws-rds-optiongroupoptionconfiguration.OptionSetting(O)} ]",
-            "    OptionVersion : ${2:String(O)}",
-            "    Port : ${2:Integer(O)}",
-            "    VpcSecurityGroupMemberships : [ ${2:String(O)} ]"
+            "    OptionName : ${3:String(R)}",
+            "    OptionSettings : [ ${4:aws-rds-optiongroupoptionconfiguration.OptionSetting(O)} ]",
+            "    OptionVersion : ${5:String(O)}",
+            "    Port : ${6:Integer(O)}",
+            "    VpcSecurityGroupMemberships : [ ${7:String(O)} ]"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16976,8 +16976,8 @@
             "  Type: AWS::Greengrass::ConnectorDefinitionVersion.Connector",
             "  Properties:",
             "    ConnectorArn : ${2:String(R)}",
-            "    Parameters : ${2:Json(O)}",
-            "    Id : ${2:String(R)}"
+            "    Parameters : ${3:Json(O)}",
+            "    Id : ${4:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -16989,7 +16989,7 @@
             "  Type: AWS::Lambda::Alias.VersionWeight",
             "  Properties:",
             "    FunctionVersion : ${2:String(R)}",
-            "    FunctionWeight : ${2:Double(R)}"
+            "    FunctionWeight : ${3:Double(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -17001,11 +17001,11 @@
             "  Type: AWS::OpsWorks::App.Source",
             "  Properties:",
             "    Password : ${2:String(O)}",
-            "    Revision : ${2:String(O)}",
-            "    SshKey : ${2:String(O)}",
-            "    Type : ${2:String(O)}",
-            "    Url : ${2:String(O)}",
-            "    Username : ${2:String(O)}"
+            "    Revision : ${3:String(O)}",
+            "    SshKey : ${4:String(O)}",
+            "    Type : ${5:String(O)}",
+            "    Url : ${6:String(O)}",
+            "    Username : ${7:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -17017,7 +17017,7 @@
             "  Type: AWS::Elasticsearch::Domain.EncryptionAtRestOptions",
             "  Properties:",
             "    Enabled : ${2:Boolean(O)}",
-            "    KmsKeyId : ${2:String(O)}"
+            "    KmsKeyId : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -17029,7 +17029,7 @@
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters",
             "  Properties:",
             "    RecordRowDelimiter : ${2:String(R)}",
-            "    RecordColumnDelimiter : ${2:String(R)}"
+            "    RecordColumnDelimiter : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -17052,7 +17052,7 @@
             "  Type: AWS::CodePipeline::Webhook.WebhookAuthConfiguration",
             "  Properties:",
             "    AllowedIPRange : ${2:String(O)}",
-            "    SecretToken : ${2:String(O)}"
+            "    SecretToken : ${3:String(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -17064,7 +17064,7 @@
             "  Type: AWS::Budgets::Budget.Spend",
             "  Properties:",
             "    Amount : ${2:Double(R)}",
-            "    Unit : ${2:String(R)}"
+            "    Unit : ${3:String(R)}"
         ],
         "scope":"source.cloudformation",
         "description":""
@@ -17087,7 +17087,7 @@
             "  Type: AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction",
             "  Properties:",
             "    MaxCapacity : ${2:Integer(O)}",
-            "    MinCapacity : ${2:Integer(O)}"
+            "    MinCapacity : ${3:Integer(O)}"
         ],
         "scope":"source.cloudformation",
         "description":""

From 038406eb2f80f42f6a395aa7fe179ed6dc0ac1e7 Mon Sep 17 00:00:00 2001
From: lunarxlark <lunarxlark@gmail.com>
Date: Sat, 30 Mar 2019 17:53:46 +0900
Subject: [PATCH 3/3] add Documentation URL as comment for shortcut `Cmd+Click`

---
 snippets/yaml-snippets.json | 1224 +++++++++++++++++++++++++++++++++++
 1 file changed, 1224 insertions(+)

diff --git a/snippets/yaml-snippets.json b/snippets/yaml-snippets.json
index 06eff95..f5cf541 100644
--- a/snippets/yaml-snippets.json
+++ b/snippets/yaml-snippets.json
@@ -19,6 +19,7 @@
     "aws-elasticbeanstalk-configurationtemplate":{
         "prefix":"aws-elasticbeanstalk-configurationtemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html",
             "${1:myAWSElasticBeanstalkConfigurationTemplate}:",
             "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate",
             "  Properties:",
@@ -36,6 +37,7 @@
     "aws-amazonmq-broker":{
         "prefix":"aws-amazonmq-broker",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html",
             "${1:myAWSAmazonMQBroker}:",
             "  Type: AWS::AmazonMQ::Broker",
             "  Properties:",
@@ -60,6 +62,7 @@
     "aws-ec2-routetable":{
         "prefix":"aws-ec2-routetable",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html",
             "${1:myAWSEC2RouteTable}:",
             "  Type: AWS::EC2::RouteTable",
             "  Properties:",
@@ -72,6 +75,7 @@
     "aws-appsync-datasource":{
         "prefix":"aws-appsync-datasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html",
             "${1:myAWSAppSyncDataSource}:",
             "  Type: AWS::AppSync::DataSource",
             "  Properties:",
@@ -92,6 +96,7 @@
     "aws-servicecatalog-portfolioshare":{
         "prefix":"aws-servicecatalog-portfolioshare",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html",
             "${1:myAWSServiceCatalogPortfolioShare}:",
             "  Type: AWS::ServiceCatalog::PortfolioShare",
             "  Properties:",
@@ -105,6 +110,7 @@
     "aws-greengrass-group":{
         "prefix":"aws-greengrass-group",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html",
             "${1:myAWSGreengrassGroup}:",
             "  Type: AWS::Greengrass::Group",
             "  Properties:",
@@ -118,6 +124,7 @@
     "aws-cognito-identitypoolroleattachment":{
         "prefix":"aws-cognito-identitypoolroleattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html",
             "${1:myAWSCognitoIdentityPoolRoleAttachment}:",
             "  Type: AWS::Cognito::IdentityPoolRoleAttachment",
             "  Properties:",
@@ -131,6 +138,7 @@
     "aws-events-rule":{
         "prefix":"aws-events-rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html",
             "${1:myAWSEventsRule}:",
             "  Type: AWS::Events::Rule",
             "  Properties:",
@@ -148,6 +156,7 @@
     "aws-waf-ipset":{
         "prefix":"aws-waf-ipset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html",
             "${1:myAWSWAFIPSet}:",
             "  Type: AWS::WAF::IPSet",
             "  Properties:",
@@ -160,6 +169,7 @@
     "aws-iam-group":{
         "prefix":"aws-iam-group",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html",
             "${1:myAWSIAMGroup}:",
             "  Type: AWS::IAM::Group",
             "  Properties:",
@@ -174,6 +184,7 @@
     "aws-codepipeline-customactiontype":{
         "prefix":"aws-codepipeline-customactiontype",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html",
             "${1:myAWSCodePipelineCustomActionType}:",
             "  Type: AWS::CodePipeline::CustomActionType",
             "  Properties:",
@@ -191,6 +202,7 @@
     "aws-appmesh-virtualnode":{
         "prefix":"aws-appmesh-virtualnode",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html",
             "${1:myAWSAppMeshVirtualNode}:",
             "  Type: AWS::AppMesh::VirtualNode",
             "  Properties:",
@@ -205,6 +217,7 @@
     "aws-appmesh-virtualrouter":{
         "prefix":"aws-appmesh-virtualrouter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html",
             "${1:myAWSAppMeshVirtualRouter}:",
             "  Type: AWS::AppMesh::VirtualRouter",
             "  Properties:",
@@ -219,6 +232,7 @@
     "aws-greengrass-connectordefinition":{
         "prefix":"aws-greengrass-connectordefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html",
             "${1:myAWSGreengrassConnectorDefinition}:",
             "  Type: AWS::Greengrass::ConnectorDefinition",
             "  Properties:",
@@ -231,6 +245,7 @@
     "aws-ec2-vpcpeeringconnection":{
         "prefix":"aws-ec2-vpcpeeringconnection",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html",
             "${1:myAWSEC2VPCPeeringConnection}:",
             "  Type: AWS::EC2::VPCPeeringConnection",
             "  Properties:",
@@ -247,6 +262,7 @@
     "aws-ec2-placementgroup":{
         "prefix":"aws-ec2-placementgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html",
             "${1:myAWSEC2PlacementGroup}:",
             "  Type: AWS::EC2::PlacementGroup",
             "  Properties:",
@@ -258,6 +274,7 @@
     "aws-elasticsearch-domain":{
         "prefix":"aws-elasticsearch-domain",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html",
             "${1:myAWSElasticsearchDomain}:",
             "  Type: AWS::Elasticsearch::Domain",
             "  Properties:",
@@ -279,6 +296,7 @@
     "aws-apigateway-requestvalidator":{
         "prefix":"aws-apigateway-requestvalidator",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html",
             "${1:myAWSApiGatewayRequestValidator}:",
             "  Type: AWS::ApiGateway::RequestValidator",
             "  Properties:",
@@ -293,6 +311,7 @@
     "aws-wafregional-sizeconstraintset":{
         "prefix":"aws-wafregional-sizeconstraintset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html",
             "${1:myAWSWAFRegionalSizeConstraintSet}:",
             "  Type: AWS::WAFRegional::SizeConstraintSet",
             "  Properties:",
@@ -305,6 +324,7 @@
     "aws-appmesh-virtualservice":{
         "prefix":"aws-appmesh-virtualservice",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html",
             "${1:myAWSAppMeshVirtualService}:",
             "  Type: AWS::AppMesh::VirtualService",
             "  Properties:",
@@ -319,6 +339,7 @@
     "aws-rds-dbsecuritygroupingress":{
         "prefix":"aws-rds-dbsecuritygroupingress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html",
             "${1:myAWSRDSDBSecurityGroupIngress}:",
             "  Type: AWS::RDS::DBSecurityGroupIngress",
             "  Properties:",
@@ -334,6 +355,7 @@
     "aws-workspaces-workspace":{
         "prefix":"aws-workspaces-workspace",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html",
             "${1:myAWSWorkSpacesWorkspace}:",
             "  Type: AWS::WorkSpaces::Workspace",
             "  Properties:",
@@ -352,6 +374,7 @@
     "aws-emr-instancefleetconfig":{
         "prefix":"aws-emr-instancefleetconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html",
             "${1:myAWSEMRInstanceFleetConfig}:",
             "  Type: AWS::EMR::InstanceFleetConfig",
             "  Properties:",
@@ -369,6 +392,7 @@
     "aws-wafregional-sqlinjectionmatchset":{
         "prefix":"aws-wafregional-sqlinjectionmatchset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html",
             "${1:myAWSWAFRegionalSqlInjectionMatchSet}:",
             "  Type: AWS::WAFRegional::SqlInjectionMatchSet",
             "  Properties:",
@@ -381,6 +405,7 @@
     "aws-apigatewayv2-route":{
         "prefix":"aws-apigatewayv2-route",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html",
             "${1:myAWSApiGatewayV2Route}:",
             "  Type: AWS::ApiGatewayV2::Route",
             "  Properties:",
@@ -403,6 +428,7 @@
     "aws-logs-loggroup":{
         "prefix":"aws-logs-loggroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html",
             "${1:myAWSLogsLogGroup}:",
             "  Type: AWS::Logs::LogGroup",
             "  Properties:",
@@ -415,6 +441,7 @@
     "aws-codepipeline-webhook":{
         "prefix":"aws-codepipeline-webhook",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html",
             "${1:myAWSCodePipelineWebhook}:",
             "  Type: AWS::CodePipeline::Webhook",
             "  Properties:",
@@ -433,6 +460,7 @@
     "aws-ram-resourceshare":{
         "prefix":"aws-ram-resourceshare",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html",
             "${1:myAWSRAMResourceShare}:",
             "  Type: AWS::RAM::ResourceShare",
             "  Properties:",
@@ -448,6 +476,7 @@
     "aws-kinesis-stream":{
         "prefix":"aws-kinesis-stream",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html",
             "${1:myAWSKinesisStream}:",
             "  Type: AWS::Kinesis::Stream",
             "  Properties:",
@@ -463,6 +492,7 @@
     "aws-autoscaling-launchconfiguration":{
         "prefix":"aws-autoscaling-launchconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html",
             "${1:myAWSAutoScalingLaunchConfiguration}:",
             "  Type: AWS::AutoScaling::LaunchConfiguration",
             "  Properties:",
@@ -491,6 +521,7 @@
     "aws-ec2-transitgateway":{
         "prefix":"aws-ec2-transitgateway",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html",
             "${1:myAWSEC2TransitGateway}:",
             "  Type: AWS::EC2::TransitGateway",
             "  Properties:",
@@ -509,6 +540,7 @@
     "aws-sqs-queue":{
         "prefix":"aws-sqs-queue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html",
             "${1:myAWSSQSQueue}:",
             "  Type: AWS::SQS::Queue",
             "  Properties:",
@@ -531,6 +563,7 @@
     "aws-appsync-resolver":{
         "prefix":"aws-appsync-resolver",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html",
             "${1:myAWSAppSyncResolver}:",
             "  Type: AWS::AppSync::Resolver",
             "  Properties:",
@@ -551,6 +584,7 @@
     "aws-autoscalingplans-scalingplan":{
         "prefix":"aws-autoscalingplans-scalingplan",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html",
             "${1:myAWSAutoScalingPlansScalingPlan}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan",
             "  Properties:",
@@ -563,6 +597,7 @@
     "aws-appstream-imagebuilder":{
         "prefix":"aws-appstream-imagebuilder",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html",
             "${1:myAWSAppStreamImageBuilder}:",
             "  Type: AWS::AppStream::ImageBuilder",
             "  Properties:",
@@ -584,6 +619,7 @@
     "aws-ec2-vpcendpointservicepermissions":{
         "prefix":"aws-ec2-vpcendpointservicepermissions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html",
             "${1:myAWSEC2VPCEndpointServicePermissions}:",
             "  Type: AWS::EC2::VPCEndpointServicePermissions",
             "  Properties:",
@@ -596,6 +632,7 @@
     "aws-wafregional-xssmatchset":{
         "prefix":"aws-wafregional-xssmatchset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html",
             "${1:myAWSWAFRegionalXssMatchSet}:",
             "  Type: AWS::WAFRegional::XssMatchSet",
             "  Properties:",
@@ -608,6 +645,7 @@
     "aws-route53-recordset":{
         "prefix":"aws-route53-recordset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html",
             "${1:myAWSRoute53RecordSet}:",
             "  Type: AWS::Route53::RecordSet",
             "  Properties:",
@@ -633,6 +671,7 @@
     "aws-waf-sizeconstraintset":{
         "prefix":"aws-waf-sizeconstraintset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html",
             "${1:myAWSWAFSizeConstraintSet}:",
             "  Type: AWS::WAF::SizeConstraintSet",
             "  Properties:",
@@ -645,6 +684,7 @@
     "aws-ec2-networkaclentry":{
         "prefix":"aws-ec2-networkaclentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html",
             "${1:myAWSEC2NetworkAclEntry}:",
             "  Type: AWS::EC2::NetworkAclEntry",
             "  Properties:",
@@ -664,6 +704,7 @@
     "aws-cloudwatch-dashboard":{
         "prefix":"aws-cloudwatch-dashboard",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html",
             "${1:myAWSCloudWatchDashboard}:",
             "  Type: AWS::CloudWatch::Dashboard",
             "  Properties:",
@@ -676,6 +717,7 @@
     "aws-iam-policy":{
         "prefix":"aws-iam-policy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html",
             "${1:myAWSIAMPolicy}:",
             "  Type: AWS::IAM::Policy",
             "  Properties:",
@@ -691,6 +733,7 @@
     "aws-ec2-internetgateway":{
         "prefix":"aws-ec2-internetgateway",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html",
             "${1:myAWSEC2InternetGateway}:",
             "  Type: AWS::EC2::InternetGateway",
             "  Properties:",
@@ -702,6 +745,7 @@
     "aws-ecs-cluster":{
         "prefix":"aws-ecs-cluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html",
             "${1:myAWSECSCluster}:",
             "  Type: AWS::ECS::Cluster",
             "  Properties:",
@@ -713,6 +757,7 @@
     "aws-elasticloadbalancingv2-listenercertificate":{
         "prefix":"aws-elasticloadbalancingv2-listenercertificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html",
             "${1:myAWSElasticLoadBalancingV2ListenerCertificate}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerCertificate",
             "  Properties:",
@@ -725,6 +770,7 @@
     "aws-iam-role":{
         "prefix":"aws-iam-role",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html",
             "${1:myAWSIAMRole}:",
             "  Type: AWS::IAM::Role",
             "  Properties:",
@@ -742,6 +788,7 @@
     "aws-neptune-dbparametergroup":{
         "prefix":"aws-neptune-dbparametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html",
             "${1:myAWSNeptuneDBParameterGroup}:",
             "  Type: AWS::Neptune::DBParameterGroup",
             "  Properties:",
@@ -757,6 +804,7 @@
     "aws-stepfunctions-activity":{
         "prefix":"aws-stepfunctions-activity",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html",
             "${1:myAWSStepFunctionsActivity}:",
             "  Type: AWS::StepFunctions::Activity",
             "  Properties:",
@@ -769,6 +817,7 @@
     "aws-kinesisanalytics-applicationoutput":{
         "prefix":"aws-kinesisanalytics-applicationoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html",
             "${1:myAWSKinesisAnalyticsApplicationOutput}:",
             "  Type: AWS::KinesisAnalytics::ApplicationOutput",
             "  Properties:",
@@ -781,6 +830,7 @@
     "aws-ec2-launchtemplate":{
         "prefix":"aws-ec2-launchtemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html",
             "${1:myAWSEC2LaunchTemplate}:",
             "  Type: AWS::EC2::LaunchTemplate",
             "  Properties:",
@@ -793,6 +843,7 @@
     "aws-opsworks-volume":{
         "prefix":"aws-opsworks-volume",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html",
             "${1:myAWSOpsWorksVolume}:",
             "  Type: AWS::OpsWorks::Volume",
             "  Properties:",
@@ -807,6 +858,7 @@
     "aws-servicecatalog-tagoptionassociation":{
         "prefix":"aws-servicecatalog-tagoptionassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html",
             "${1:myAWSServiceCatalogTagOptionAssociation}:",
             "  Type: AWS::ServiceCatalog::TagOptionAssociation",
             "  Properties:",
@@ -819,6 +871,7 @@
     "aws-appstream-stack":{
         "prefix":"aws-appstream-stack",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html",
             "${1:myAWSAppStreamStack}:",
             "  Type: AWS::AppStream::Stack",
             "  Properties:",
@@ -840,6 +893,7 @@
     "aws-ec2-transitgatewayroutetableassociation":{
         "prefix":"aws-ec2-transitgatewayroutetableassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html",
             "${1:myAWSEC2TransitGatewayRouteTableAssociation}:",
             "  Type: AWS::EC2::TransitGatewayRouteTableAssociation",
             "  Properties:",
@@ -852,6 +906,7 @@
     "aws-appsync-graphqlschema":{
         "prefix":"aws-appsync-graphqlschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html",
             "${1:myAWSAppSyncGraphQLSchema}:",
             "  Type: AWS::AppSync::GraphQLSchema",
             "  Properties:",
@@ -865,6 +920,7 @@
     "aws-ec2-volume":{
         "prefix":"aws-ec2-volume",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html",
             "${1:myAWSEC2Volume}:",
             "  Type: AWS::EC2::Volume",
             "  Properties:",
@@ -884,6 +940,7 @@
     "aws-iam-servicelinkedrole":{
         "prefix":"aws-iam-servicelinkedrole",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html",
             "${1:myAWSIAMServiceLinkedRole}:",
             "  Type: AWS::IAM::ServiceLinkedRole",
             "  Properties:",
@@ -897,6 +954,7 @@
     "aws-servicecatalog-launchtemplateconstraint":{
         "prefix":"aws-servicecatalog-launchtemplateconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html",
             "${1:myAWSServiceCatalogLaunchTemplateConstraint}:",
             "  Type: AWS::ServiceCatalog::LaunchTemplateConstraint",
             "  Properties:",
@@ -912,6 +970,7 @@
     "aws-greengrass-connectordefinitionversion":{
         "prefix":"aws-greengrass-connectordefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html",
             "${1:myAWSGreengrassConnectorDefinitionVersion}:",
             "  Type: AWS::Greengrass::ConnectorDefinitionVersion",
             "  Properties:",
@@ -924,6 +983,7 @@
     "aws-emr-cluster":{
         "prefix":"aws-emr-cluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html",
             "${1:myAWSEMRCluster}:",
             "  Type: AWS::EMR::Cluster",
             "  Properties:",
@@ -953,6 +1013,7 @@
     "aws-ec2-spotfleet":{
         "prefix":"aws-ec2-spotfleet",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html",
             "${1:myAWSEC2SpotFleet}:",
             "  Type: AWS::EC2::SpotFleet",
             "  Properties:",
@@ -964,6 +1025,7 @@
     "aws-appsync-graphqlapi":{
         "prefix":"aws-appsync-graphqlapi",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html",
             "${1:myAWSAppSyncGraphQLApi}:",
             "  Type: AWS::AppSync::GraphQLApi",
             "  Properties:",
@@ -979,6 +1041,7 @@
     "aws-cloudfront-streamingdistribution":{
         "prefix":"aws-cloudfront-streamingdistribution",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html",
             "${1:myAWSCloudFrontStreamingDistribution}:",
             "  Type: AWS::CloudFront::StreamingDistribution",
             "  Properties:",
@@ -991,6 +1054,7 @@
     "aws-gamelift-alias":{
         "prefix":"aws-gamelift-alias",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html",
             "${1:myAWSGameLiftAlias}:",
             "  Type: AWS::GameLift::Alias",
             "  Properties:",
@@ -1004,6 +1068,7 @@
     "aws-guardduty-filter":{
         "prefix":"aws-guardduty-filter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html",
             "${1:myAWSGuardDutyFilter}:",
             "  Type: AWS::GuardDuty::Filter",
             "  Properties:",
@@ -1020,6 +1085,7 @@
     "aws-ec2-vpnconnectionroute":{
         "prefix":"aws-ec2-vpnconnectionroute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html",
             "${1:myAWSEC2VPNConnectionRoute}:",
             "  Type: AWS::EC2::VPNConnectionRoute",
             "  Properties:",
@@ -1032,6 +1098,7 @@
     "aws-directoryservice-microsoftad":{
         "prefix":"aws-directoryservice-microsoftad",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html",
             "${1:myAWSDirectoryServiceMicrosoftAD}:",
             "  Type: AWS::DirectoryService::MicrosoftAD",
             "  Properties:",
@@ -1049,6 +1116,7 @@
     "aws-waf-rule":{
         "prefix":"aws-waf-rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html",
             "${1:myAWSWAFRule}:",
             "  Type: AWS::WAF::Rule",
             "  Properties:",
@@ -1062,6 +1130,7 @@
     "aws-sns-subscription":{
         "prefix":"aws-sns-subscription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html",
             "${1:myAWSSNSSubscription}:",
             "  Type: AWS::SNS::Subscription",
             "  Properties:",
@@ -1079,6 +1148,7 @@
     "aws-efs-mounttarget":{
         "prefix":"aws-efs-mounttarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html",
             "${1:myAWSEFSMountTarget}:",
             "  Type: AWS::EFS::MountTarget",
             "  Properties:",
@@ -1093,6 +1163,7 @@
     "aws-greengrass-functiondefinition":{
         "prefix":"aws-greengrass-functiondefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html",
             "${1:myAWSGreengrassFunctionDefinition}:",
             "  Type: AWS::Greengrass::FunctionDefinition",
             "  Properties:",
@@ -1105,6 +1176,7 @@
     "aws-ssm-document":{
         "prefix":"aws-ssm-document",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html",
             "${1:myAWSSSMDocument}:",
             "  Type: AWS::SSM::Document",
             "  Properties:",
@@ -1118,6 +1190,7 @@
     "aws-sns-topic":{
         "prefix":"aws-sns-topic",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html",
             "${1:myAWSSNSTopic}:",
             "  Type: AWS::SNS::Topic",
             "  Properties:",
@@ -1132,6 +1205,7 @@
     "aws-ec2-networkinterfacepermission":{
         "prefix":"aws-ec2-networkinterfacepermission",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html",
             "${1:myAWSEC2NetworkInterfacePermission}:",
             "  Type: AWS::EC2::NetworkInterfacePermission",
             "  Properties:",
@@ -1145,6 +1219,7 @@
     "aws-sagemaker-model":{
         "prefix":"aws-sagemaker-model",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html",
             "${1:myAWSSageMakerModel}:",
             "  Type: AWS::SageMaker::Model",
             "  Properties:",
@@ -1161,6 +1236,7 @@
     "aws-config-deliverychannel":{
         "prefix":"aws-config-deliverychannel",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html",
             "${1:myAWSConfigDeliveryChannel}:",
             "  Type: AWS::Config::DeliveryChannel",
             "  Properties:",
@@ -1176,6 +1252,7 @@
     "aws-gamelift-build":{
         "prefix":"aws-gamelift-build",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html",
             "${1:myAWSGameLiftBuild}:",
             "  Type: AWS::GameLift::Build",
             "  Properties:",
@@ -1189,6 +1266,7 @@
     "aws-servicecatalog-tagoption":{
         "prefix":"aws-servicecatalog-tagoption",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html",
             "${1:myAWSServiceCatalogTagOption}:",
             "  Type: AWS::ServiceCatalog::TagOption",
             "  Properties:",
@@ -1202,6 +1280,7 @@
     "aws-sagemaker-notebookinstancelifecycleconfig":{
         "prefix":"aws-sagemaker-notebookinstancelifecycleconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html",
             "${1:myAWSSageMakerNotebookInstanceLifecycleConfig}:",
             "  Type: AWS::SageMaker::NotebookInstanceLifecycleConfig",
             "  Properties:",
@@ -1215,6 +1294,7 @@
     "aws-apigateway-deployment":{
         "prefix":"aws-apigateway-deployment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html",
             "${1:myAWSApiGatewayDeployment}:",
             "  Type: AWS::ApiGateway::Deployment",
             "  Properties:",
@@ -1230,6 +1310,7 @@
     "aws-cognito-userpoolgroup":{
         "prefix":"aws-cognito-userpoolgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html",
             "${1:myAWSCognitoUserPoolGroup}:",
             "  Type: AWS::Cognito::UserPoolGroup",
             "  Properties:",
@@ -1245,6 +1326,7 @@
     "aws-apigatewayv2-integration":{
         "prefix":"aws-apigatewayv2-integration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html",
             "${1:myAWSApiGatewayV2Integration}:",
             "  Type: AWS::ApiGatewayV2::Integration",
             "  Properties:",
@@ -1268,6 +1350,7 @@
     "aws-kms-key":{
         "prefix":"aws-kms-key",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html",
             "${1:myAWSKMSKey}:",
             "  Type: AWS::KMS::Key",
             "  Properties:",
@@ -1285,6 +1368,7 @@
     "aws-redshift-cluster":{
         "prefix":"aws-redshift-cluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html",
             "${1:myAWSRedshiftCluster}:",
             "  Type: AWS::Redshift::Cluster",
             "  Properties:",
@@ -1324,6 +1408,7 @@
     "aws-cloudwatch-alarm":{
         "prefix":"aws-cloudwatch-alarm",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html",
             "${1:myAWSCloudWatchAlarm}:",
             "  Type: AWS::CloudWatch::Alarm",
             "  Properties:",
@@ -1354,6 +1439,7 @@
     "aws-opsworks-app":{
         "prefix":"aws-opsworks-app",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html",
             "${1:myAWSOpsWorksApp}:",
             "  Type: AWS::OpsWorks::App",
             "  Properties:",
@@ -1376,6 +1462,7 @@
     "aws-appmesh-route":{
         "prefix":"aws-appmesh-route",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html",
             "${1:myAWSAppMeshRoute}:",
             "  Type: AWS::AppMesh::Route",
             "  Properties:",
@@ -1391,6 +1478,7 @@
     "aws-lambda-eventsourcemapping":{
         "prefix":"aws-lambda-eventsourcemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html",
             "${1:myAWSLambdaEventSourceMapping}:",
             "  Type: AWS::Lambda::EventSourceMapping",
             "  Properties:",
@@ -1406,6 +1494,7 @@
     "aws-certificatemanager-certificate":{
         "prefix":"aws-certificatemanager-certificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html",
             "${1:myAWSCertificateManagerCertificate}:",
             "  Type: AWS::CertificateManager::Certificate",
             "  Properties:",
@@ -1421,6 +1510,7 @@
     "aws-greengrass-subscriptiondefinitionversion":{
         "prefix":"aws-greengrass-subscriptiondefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html",
             "${1:myAWSGreengrassSubscriptionDefinitionVersion}:",
             "  Type: AWS::Greengrass::SubscriptionDefinitionVersion",
             "  Properties:",
@@ -1433,6 +1523,7 @@
     "aws-greengrass-coredefinitionversion":{
         "prefix":"aws-greengrass-coredefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html",
             "${1:myAWSGreengrassCoreDefinitionVersion}:",
             "  Type: AWS::Greengrass::CoreDefinitionVersion",
             "  Properties:",
@@ -1445,6 +1536,7 @@
     "aws-apigateway-authorizer":{
         "prefix":"aws-apigateway-authorizer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html",
             "${1:myAWSApiGatewayAuthorizer}:",
             "  Type: AWS::ApiGateway::Authorizer",
             "  Properties:",
@@ -1465,6 +1557,7 @@
     "aws-inspector-resourcegroup":{
         "prefix":"aws-inspector-resourcegroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html",
             "${1:myAWSInspectorResourceGroup}:",
             "  Type: AWS::Inspector::ResourceGroup",
             "  Properties:",
@@ -1476,6 +1569,7 @@
     "aws-iot1click-project":{
         "prefix":"aws-iot1click-project",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html",
             "${1:myAWSIoT1ClickProject}:",
             "  Type: AWS::IoT1Click::Project",
             "  Properties:",
@@ -1489,6 +1583,7 @@
     "aws-ec2-eip":{
         "prefix":"aws-ec2-eip",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html",
             "${1:myAWSEC2EIP}:",
             "  Type: AWS::EC2::EIP",
             "  Properties:",
@@ -1502,6 +1597,7 @@
     "aws-iotanalytics-dataset":{
         "prefix":"aws-iotanalytics-dataset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html",
             "${1:myAWSIoTAnalyticsDataset}:",
             "  Type: AWS::IoTAnalytics::Dataset",
             "  Properties:",
@@ -1517,6 +1613,7 @@
     "aws-apigateway-domainname":{
         "prefix":"aws-apigateway-domainname",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html",
             "${1:myAWSApiGatewayDomainName}:",
             "  Type: AWS::ApiGateway::DomainName",
             "  Properties:",
@@ -1531,6 +1628,7 @@
     "aws-batch-jobdefinition":{
         "prefix":"aws-batch-jobdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html",
             "${1:myAWSBatchJobDefinition}:",
             "  Type: AWS::Batch::JobDefinition",
             "  Properties:",
@@ -1548,6 +1646,7 @@
     "aws-docdb-dbsubnetgroup":{
         "prefix":"aws-docdb-dbsubnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html",
             "${1:myAWSDocDBDBSubnetGroup}:",
             "  Type: AWS::DocDB::DBSubnetGroup",
             "  Properties:",
@@ -1562,6 +1661,7 @@
     "aws-servicecatalog-portfolioprincipalassociation":{
         "prefix":"aws-servicecatalog-portfolioprincipalassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html",
             "${1:myAWSServiceCatalogPortfolioPrincipalAssociation}:",
             "  Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation",
             "  Properties:",
@@ -1576,6 +1676,7 @@
     "aws-gamelift-fleet":{
         "prefix":"aws-gamelift-fleet",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html",
             "${1:myAWSGameLiftFleet}:",
             "  Type: AWS::GameLift::Fleet",
             "  Properties:",
@@ -1597,6 +1698,7 @@
     "aws-ec2-vpcendpointconnectionnotification":{
         "prefix":"aws-ec2-vpcendpointconnectionnotification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html",
             "${1:myAWSEC2VPCEndpointConnectionNotification}:",
             "  Type: AWS::EC2::VPCEndpointConnectionNotification",
             "  Properties:",
@@ -1611,6 +1713,7 @@
     "aws-ec2-securitygroupingress":{
         "prefix":"aws-ec2-securitygroupingress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html",
             "${1:myAWSEC2SecurityGroupIngress}:",
             "  Type: AWS::EC2::SecurityGroupIngress",
             "  Properties:",
@@ -1633,6 +1736,7 @@
     "aws-lambda-layerversion":{
         "prefix":"aws-lambda-layerversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html",
             "${1:myAWSLambdaLayerVersion}:",
             "  Type: AWS::Lambda::LayerVersion",
             "  Properties:",
@@ -1648,6 +1752,7 @@
     "aws-apigateway-documentationpart":{
         "prefix":"aws-apigateway-documentationpart",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html",
             "${1:myAWSApiGatewayDocumentationPart}:",
             "  Type: AWS::ApiGateway::DocumentationPart",
             "  Properties:",
@@ -1661,6 +1766,7 @@
     "aws-rds-dbcluster":{
         "prefix":"aws-rds-dbcluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html",
             "${1:myAWSRDSDBCluster}:",
             "  Type: AWS::RDS::DBCluster",
             "  Properties:",
@@ -1697,6 +1803,7 @@
     "alexa-ask-skill":{
         "prefix":"alexa-ask-skill",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html",
             "${1:myAlexaASKSkill}:",
             "  Type: Alexa::ASK::Skill",
             "  Properties:",
@@ -1710,6 +1817,7 @@
     "aws-ecs-service":{
         "prefix":"aws-ecs-service",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html",
             "${1:myAWSECSService}:",
             "  Type: AWS::ECS::Service",
             "  Properties:",
@@ -1735,6 +1843,7 @@
     "aws-iam-usertogroupaddition":{
         "prefix":"aws-iam-usertogroupaddition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html",
             "${1:myAWSIAMUserToGroupAddition}:",
             "  Type: AWS::IAM::UserToGroupAddition",
             "  Properties:",
@@ -1747,6 +1856,7 @@
     "aws-rds-dbsubnetgroup":{
         "prefix":"aws-rds-dbsubnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html",
             "${1:myAWSRDSDBSubnetGroup}:",
             "  Type: AWS::RDS::DBSubnetGroup",
             "  Properties:",
@@ -1761,6 +1871,7 @@
     "aws-opsworkscm-server":{
         "prefix":"aws-opsworkscm-server",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html",
             "${1:myAWSOpsWorksCMServer}:",
             "  Type: AWS::OpsWorksCM::Server",
             "  Properties:",
@@ -1788,6 +1899,7 @@
     "aws-elasticloadbalancing-loadbalancer":{
         "prefix":"aws-elasticloadbalancing-loadbalancer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer",
             "  Properties:",
@@ -1814,6 +1926,7 @@
     "aws-batch-jobqueue":{
         "prefix":"aws-batch-jobqueue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html",
             "${1:myAWSBatchJobQueue}:",
             "  Type: AWS::Batch::JobQueue",
             "  Properties:",
@@ -1828,6 +1941,7 @@
     "aws-iot-thing":{
         "prefix":"aws-iot-thing",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html",
             "${1:myAWSIoTThing}:",
             "  Type: AWS::IoT::Thing",
             "  Properties:",
@@ -1840,6 +1954,7 @@
     "aws-opsworks-layer":{
         "prefix":"aws-opsworks-layer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html",
             "${1:myAWSOpsWorksLayer}:",
             "  Type: AWS::OpsWorks::Layer",
             "  Properties:",
@@ -1869,6 +1984,7 @@
     "aws-dms-certificate":{
         "prefix":"aws-dms-certificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html",
             "${1:myAWSDMSCertificate}:",
             "  Type: AWS::DMS::Certificate",
             "  Properties:",
@@ -1882,6 +1998,7 @@
     "aws-apigateway-apikey":{
         "prefix":"aws-apigateway-apikey",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html",
             "${1:myAWSApiGatewayApiKey}:",
             "  Type: AWS::ApiGateway::ApiKey",
             "  Properties:",
@@ -1899,6 +2016,7 @@
     "aws-glue-table":{
         "prefix":"aws-glue-table",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html",
             "${1:myAWSGlueTable}:",
             "  Type: AWS::Glue::Table",
             "  Properties:",
@@ -1912,6 +2030,7 @@
     "aws-ec2-subnetroutetableassociation":{
         "prefix":"aws-ec2-subnetroutetableassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html",
             "${1:myAWSEC2SubnetRouteTableAssociation}:",
             "  Type: AWS::EC2::SubnetRouteTableAssociation",
             "  Properties:",
@@ -1924,6 +2043,7 @@
     "aws-elasticache-securitygroup":{
         "prefix":"aws-elasticache-securitygroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html",
             "${1:myAWSElastiCacheSecurityGroup}:",
             "  Type: AWS::ElastiCache::SecurityGroup",
             "  Properties:",
@@ -1935,6 +2055,7 @@
     "aws-iam-instanceprofile":{
         "prefix":"aws-iam-instanceprofile",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html",
             "${1:myAWSIAMInstanceProfile}:",
             "  Type: AWS::IAM::InstanceProfile",
             "  Properties:",
@@ -1948,6 +2069,7 @@
     "aws-iot-policy":{
         "prefix":"aws-iot-policy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html",
             "${1:myAWSIoTPolicy}:",
             "  Type: AWS::IoT::Policy",
             "  Properties:",
@@ -1960,6 +2082,7 @@
     "aws-apigatewayv2-stage":{
         "prefix":"aws-apigatewayv2-stage",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html",
             "${1:myAWSApiGatewayV2Stage}:",
             "  Type: AWS::ApiGatewayV2::Stage",
             "  Properties:",
@@ -1979,6 +2102,7 @@
     "aws-batch-computeenvironment":{
         "prefix":"aws-batch-computeenvironment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html",
             "${1:myAWSBatchComputeEnvironment}:",
             "  Type: AWS::Batch::ComputeEnvironment",
             "  Properties:",
@@ -1994,6 +2118,7 @@
     "aws-codedeploy-deploymentgroup":{
         "prefix":"aws-codedeploy-deploymentgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html",
             "${1:myAWSCodeDeployDeploymentGroup}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup",
             "  Properties:",
@@ -2019,6 +2144,7 @@
     "aws-apigateway-model":{
         "prefix":"aws-apigateway-model",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html",
             "${1:myAWSApiGatewayModel}:",
             "  Type: AWS::ApiGateway::Model",
             "  Properties:",
@@ -2034,6 +2160,7 @@
     "aws-ec2-route":{
         "prefix":"aws-ec2-route",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html",
             "${1:myAWSEC2Route}:",
             "  Type: AWS::EC2::Route",
             "  Properties:",
@@ -2053,6 +2180,7 @@
     "aws-appstream-directoryconfig":{
         "prefix":"aws-appstream-directoryconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html",
             "${1:myAWSAppStreamDirectoryConfig}:",
             "  Type: AWS::AppStream::DirectoryConfig",
             "  Properties:",
@@ -2066,6 +2194,7 @@
     "aws-guardduty-threatintelset":{
         "prefix":"aws-guardduty-threatintelset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html",
             "${1:myAWSGuardDutyThreatIntelSet}:",
             "  Type: AWS::GuardDuty::ThreatIntelSet",
             "  Properties:",
@@ -2081,6 +2210,7 @@
     "aws-logs-metricfilter":{
         "prefix":"aws-logs-metricfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html",
             "${1:myAWSLogsMetricFilter}:",
             "  Type: AWS::Logs::MetricFilter",
             "  Properties:",
@@ -2094,6 +2224,7 @@
     "aws-apigateway-resource":{
         "prefix":"aws-apigateway-resource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html",
             "${1:myAWSApiGatewayResource}:",
             "  Type: AWS::ApiGateway::Resource",
             "  Properties:",
@@ -2107,6 +2238,7 @@
     "aws-iot1click-device":{
         "prefix":"aws-iot1click-device",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html",
             "${1:myAWSIoT1ClickDevice}:",
             "  Type: AWS::IoT1Click::Device",
             "  Properties:",
@@ -2119,6 +2251,7 @@
     "aws-glue-connection":{
         "prefix":"aws-glue-connection",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html",
             "${1:myAWSGlueConnection}:",
             "  Type: AWS::Glue::Connection",
             "  Properties:",
@@ -2131,6 +2264,7 @@
     "aws-ses-receiptfilter":{
         "prefix":"aws-ses-receiptfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html",
             "${1:myAWSSESReceiptFilter}:",
             "  Type: AWS::SES::ReceiptFilter",
             "  Properties:",
@@ -2142,6 +2276,7 @@
     "aws-ec2-flowlog":{
         "prefix":"aws-ec2-flowlog",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html",
             "${1:myAWSEC2FlowLog}:",
             "  Type: AWS::EC2::FlowLog",
             "  Properties:",
@@ -2159,6 +2294,7 @@
     "aws-secretsmanager-rotationschedule":{
         "prefix":"aws-secretsmanager-rotationschedule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html",
             "${1:myAWSSecretsManagerRotationSchedule}:",
             "  Type: AWS::SecretsManager::RotationSchedule",
             "  Properties:",
@@ -2172,6 +2308,7 @@
     "aws-cognito-identitypool":{
         "prefix":"aws-cognito-identitypool",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html",
             "${1:myAWSCognitoIdentityPool}:",
             "  Type: AWS::Cognito::IdentityPool",
             "  Properties:",
@@ -2192,6 +2329,7 @@
     "aws-elasticloadbalancingv2-loadbalancer":{
         "prefix":"aws-elasticloadbalancingv2-loadbalancer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html",
             "${1:myAWSElasticLoadBalancingV2LoadBalancer}:",
             "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer",
             "  Properties:",
@@ -2211,6 +2349,7 @@
     "aws-iam-accesskey":{
         "prefix":"aws-iam-accesskey",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html",
             "${1:myAWSIAMAccessKey}:",
             "  Type: AWS::IAM::AccessKey",
             "  Properties:",
@@ -2224,6 +2363,7 @@
     "aws-elasticbeanstalk-application":{
         "prefix":"aws-elasticbeanstalk-application",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html",
             "${1:myAWSElasticBeanstalkApplication}:",
             "  Type: AWS::ElasticBeanstalk::Application",
             "  Properties:",
@@ -2237,6 +2377,7 @@
     "aws-ses-receiptrule":{
         "prefix":"aws-ses-receiptrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html",
             "${1:myAWSSESReceiptRule}:",
             "  Type: AWS::SES::ReceiptRule",
             "  Properties:",
@@ -2250,6 +2391,7 @@
     "aws-amazonmq-configurationassociation":{
         "prefix":"aws-amazonmq-configurationassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html",
             "${1:myAWSAmazonMQConfigurationAssociation}:",
             "  Type: AWS::AmazonMQ::ConfigurationAssociation",
             "  Properties:",
@@ -2262,6 +2404,7 @@
     "aws-dms-replicationsubnetgroup":{
         "prefix":"aws-dms-replicationsubnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html",
             "${1:myAWSDMSReplicationSubnetGroup}:",
             "  Type: AWS::DMS::ReplicationSubnetGroup",
             "  Properties:",
@@ -2276,6 +2419,7 @@
     "aws-ses-configurationseteventdestination":{
         "prefix":"aws-ses-configurationseteventdestination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html",
             "${1:myAWSSESConfigurationSetEventDestination}:",
             "  Type: AWS::SES::ConfigurationSetEventDestination",
             "  Properties:",
@@ -2288,6 +2432,7 @@
     "aws-elasticache-subnetgroup":{
         "prefix":"aws-elasticache-subnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html",
             "${1:myAWSElastiCacheSubnetGroup}:",
             "  Type: AWS::ElastiCache::SubnetGroup",
             "  Properties:",
@@ -2301,6 +2446,7 @@
     "aws-codebuild-project":{
         "prefix":"aws-codebuild-project",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html",
             "${1:myAWSCodeBuildProject}:",
             "  Type: AWS::CodeBuild::Project",
             "  Properties:",
@@ -2328,6 +2474,7 @@
     "aws-ec2-transitgatewayroutetablepropagation":{
         "prefix":"aws-ec2-transitgatewayroutetablepropagation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html",
             "${1:myAWSEC2TransitGatewayRouteTablePropagation}:",
             "  Type: AWS::EC2::TransitGatewayRouteTablePropagation",
             "  Properties:",
@@ -2340,6 +2487,7 @@
     "aws-budgets-budget":{
         "prefix":"aws-budgets-budget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html",
             "${1:myAWSBudgetsBudget}:",
             "  Type: AWS::Budgets::Budget",
             "  Properties:",
@@ -2352,6 +2500,7 @@
     "aws-sns-topicpolicy":{
         "prefix":"aws-sns-topicpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html",
             "${1:myAWSSNSTopicPolicy}:",
             "  Type: AWS::SNS::TopicPolicy",
             "  Properties:",
@@ -2364,6 +2513,7 @@
     "aws-lambda-alias":{
         "prefix":"aws-lambda-alias",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html",
             "${1:myAWSLambdaAlias}:",
             "  Type: AWS::Lambda::Alias",
             "  Properties:",
@@ -2379,6 +2529,7 @@
     "aws-wafregional-bytematchset":{
         "prefix":"aws-wafregional-bytematchset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html",
             "${1:myAWSWAFRegionalByteMatchSet}:",
             "  Type: AWS::WAFRegional::ByteMatchSet",
             "  Properties:",
@@ -2391,6 +2542,7 @@
     "aws-elasticloadbalancingv2-listener":{
         "prefix":"aws-elasticloadbalancingv2-listener",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html",
             "${1:myAWSElasticLoadBalancingV2Listener}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener",
             "  Properties:",
@@ -2407,6 +2559,7 @@
     "aws-ec2-securitygroupegress":{
         "prefix":"aws-ec2-securitygroupegress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html",
             "${1:myAWSEC2SecurityGroupEgress}:",
             "  Type: AWS::EC2::SecurityGroupEgress",
             "  Properties:",
@@ -2426,6 +2579,7 @@
     "aws-ec2-networkinterface":{
         "prefix":"aws-ec2-networkinterface",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html",
             "${1:myAWSEC2NetworkInterface}:",
             "  Type: AWS::EC2::NetworkInterface",
             "  Properties:",
@@ -2447,6 +2601,7 @@
     "aws-apigatewayv2-deployment":{
         "prefix":"aws-apigatewayv2-deployment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html",
             "${1:myAWSApiGatewayV2Deployment}:",
             "  Type: AWS::ApiGatewayV2::Deployment",
             "  Properties:",
@@ -2460,6 +2615,7 @@
     "aws-dax-subnetgroup":{
         "prefix":"aws-dax-subnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html",
             "${1:myAWSDAXSubnetGroup}:",
             "  Type: AWS::DAX::SubnetGroup",
             "  Properties:",
@@ -2473,6 +2629,7 @@
     "aws-fsx-filesystem":{
         "prefix":"aws-fsx-filesystem",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html",
             "${1:myAWSFSxFileSystem}:",
             "  Type: AWS::FSx::FileSystem",
             "  Properties:",
@@ -2492,6 +2649,7 @@
     "aws-lambda-layerversionpermission":{
         "prefix":"aws-lambda-layerversionpermission",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html",
             "${1:myAWSLambdaLayerVersionPermission}:",
             "  Type: AWS::Lambda::LayerVersionPermission",
             "  Properties:",
@@ -2506,6 +2664,7 @@
     "aws-sagemaker-endpointconfig":{
         "prefix":"aws-sagemaker-endpointconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html",
             "${1:myAWSSageMakerEndpointConfig}:",
             "  Type: AWS::SageMaker::EndpointConfig",
             "  Properties:",
@@ -2520,6 +2679,7 @@
     "aws-opsworks-stack":{
         "prefix":"aws-opsworks-stack",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html",
             "${1:myAWSOpsWorksStack}:",
             "  Type: AWS::OpsWorks::Stack",
             "  Properties:",
@@ -2555,6 +2715,7 @@
     "aws-datapipeline-pipeline":{
         "prefix":"aws-datapipeline-pipeline",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html",
             "${1:myAWSDataPipelinePipeline}:",
             "  Type: AWS::DataPipeline::Pipeline",
             "  Properties:",
@@ -2572,6 +2733,7 @@
     "aws-greengrass-devicedefinition":{
         "prefix":"aws-greengrass-devicedefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html",
             "${1:myAWSGreengrassDeviceDefinition}:",
             "  Type: AWS::Greengrass::DeviceDefinition",
             "  Properties:",
@@ -2584,6 +2746,7 @@
     "aws-stepfunctions-statemachine":{
         "prefix":"aws-stepfunctions-statemachine",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html",
             "${1:myAWSStepFunctionsStateMachine}:",
             "  Type: AWS::StepFunctions::StateMachine",
             "  Properties:",
@@ -2598,6 +2761,7 @@
     "aws-codedeploy-deploymentconfig":{
         "prefix":"aws-codedeploy-deploymentconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html",
             "${1:myAWSCodeDeployDeploymentConfig}:",
             "  Type: AWS::CodeDeploy::DeploymentConfig",
             "  Properties:",
@@ -2610,6 +2774,7 @@
     "aws-dms-eventsubscription":{
         "prefix":"aws-dms-eventsubscription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html",
             "${1:myAWSDMSEventSubscription}:",
             "  Type: AWS::DMS::EventSubscription",
             "  Properties:",
@@ -2627,6 +2792,7 @@
     "aws-ec2-transitgatewayattachment":{
         "prefix":"aws-ec2-transitgatewayattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html",
             "${1:myAWSEC2TransitGatewayAttachment}:",
             "  Type: AWS::EC2::TransitGatewayAttachment",
             "  Properties:",
@@ -2641,6 +2807,7 @@
     "aws-route53resolver-resolverrule":{
         "prefix":"aws-route53resolver-resolverrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html",
             "${1:myAWSRoute53ResolverResolverRule}:",
             "  Type: AWS::Route53Resolver::ResolverRule",
             "  Properties:",
@@ -2657,6 +2824,7 @@
     "aws-dax-parametergroup":{
         "prefix":"aws-dax-parametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html",
             "${1:myAWSDAXParameterGroup}:",
             "  Type: AWS::DAX::ParameterGroup",
             "  Properties:",
@@ -2670,6 +2838,7 @@
     "aws-ec2-subnetnetworkaclassociation":{
         "prefix":"aws-ec2-subnetnetworkaclassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html",
             "${1:myAWSEC2SubnetNetworkAclAssociation}:",
             "  Type: AWS::EC2::SubnetNetworkAclAssociation",
             "  Properties:",
@@ -2682,6 +2851,7 @@
     "aws-config-configurationaggregator":{
         "prefix":"aws-config-configurationaggregator",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html",
             "${1:myAWSConfigConfigurationAggregator}:",
             "  Type: AWS::Config::ConfigurationAggregator",
             "  Properties:",
@@ -2695,6 +2865,7 @@
     "aws-apigateway-account":{
         "prefix":"aws-apigateway-account",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html",
             "${1:myAWSApiGatewayAccount}:",
             "  Type: AWS::ApiGateway::Account",
             "  Properties:",
@@ -2706,6 +2877,7 @@
     "aws-ses-template":{
         "prefix":"aws-ses-template",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html",
             "${1:myAWSSESTemplate}:",
             "  Type: AWS::SES::Template",
             "  Properties:",
@@ -2717,6 +2889,7 @@
     "aws-cloudfront-distribution":{
         "prefix":"aws-cloudfront-distribution",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html",
             "${1:myAWSCloudFrontDistribution}:",
             "  Type: AWS::CloudFront::Distribution",
             "  Properties:",
@@ -2729,6 +2902,7 @@
     "aws-redshift-clusterparametergroup":{
         "prefix":"aws-redshift-clusterparametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html",
             "${1:myAWSRedshiftClusterParameterGroup}:",
             "  Type: AWS::Redshift::ClusterParameterGroup",
             "  Properties:",
@@ -2743,6 +2917,7 @@
     "aws-greengrass-loggerdefinition":{
         "prefix":"aws-greengrass-loggerdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html",
             "${1:myAWSGreengrassLoggerDefinition}:",
             "  Type: AWS::Greengrass::LoggerDefinition",
             "  Properties:",
@@ -2755,6 +2930,7 @@
     "aws-cloudtrail-trail":{
         "prefix":"aws-cloudtrail-trail",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html",
             "${1:myAWSCloudTrailTrail}:",
             "  Type: AWS::CloudTrail::Trail",
             "  Properties:",
@@ -2778,6 +2954,7 @@
     "aws-servicecatalog-cloudformationprovisionedproduct":{
         "prefix":"aws-servicecatalog-cloudformationprovisionedproduct",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html",
             "${1:myAWSServiceCatalogCloudFormationProvisionedProduct}:",
             "  Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct",
             "  Properties:",
@@ -2798,6 +2975,7 @@
     "aws-servicecatalog-launchroleconstraint":{
         "prefix":"aws-servicecatalog-launchroleconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html",
             "${1:myAWSServiceCatalogLaunchRoleConstraint}:",
             "  Type: AWS::ServiceCatalog::LaunchRoleConstraint",
             "  Properties:",
@@ -2813,6 +2991,7 @@
     "aws-emr-instancegroupconfig":{
         "prefix":"aws-emr-instancegroupconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html",
             "${1:myAWSEMRInstanceGroupConfig}:",
             "  Type: AWS::EMR::InstanceGroupConfig",
             "  Properties:",
@@ -2833,6 +3012,7 @@
     "aws-neptune-dbclusterparametergroup":{
         "prefix":"aws-neptune-dbclusterparametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html",
             "${1:myAWSNeptuneDBClusterParameterGroup}:",
             "  Type: AWS::Neptune::DBClusterParameterGroup",
             "  Properties:",
@@ -2848,6 +3028,7 @@
     "aws-ec2-subnetcidrblock":{
         "prefix":"aws-ec2-subnetcidrblock",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html",
             "${1:myAWSEC2SubnetCidrBlock}:",
             "  Type: AWS::EC2::SubnetCidrBlock",
             "  Properties:",
@@ -2860,6 +3041,7 @@
     "aws-autoscaling-lifecyclehook":{
         "prefix":"aws-autoscaling-lifecyclehook",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html",
             "${1:myAWSAutoScalingLifecycleHook}:",
             "  Type: AWS::AutoScaling::LifecycleHook",
             "  Properties:",
@@ -2878,6 +3060,7 @@
     "aws-elasticloadbalancingv2-listenerrule":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule",
             "  Properties:",
@@ -2892,6 +3075,7 @@
     "aws-codepipeline-pipeline":{
         "prefix":"aws-codepipeline-pipeline",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html",
             "${1:myAWSCodePipelinePipeline}:",
             "  Type: AWS::CodePipeline::Pipeline",
             "  Properties:",
@@ -2909,6 +3093,7 @@
     "aws-redshift-clustersecuritygroupingress":{
         "prefix":"aws-redshift-clustersecuritygroupingress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html",
             "${1:myAWSRedshiftClusterSecurityGroupIngress}:",
             "  Type: AWS::Redshift::ClusterSecurityGroupIngress",
             "  Properties:",
@@ -2923,6 +3108,7 @@
     "aws-elasticache-securitygroupingress":{
         "prefix":"aws-elasticache-securitygroupingress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html",
             "${1:myAWSElastiCacheSecurityGroupIngress}:",
             "  Type: AWS::ElastiCache::SecurityGroupIngress",
             "  Properties:",
@@ -2936,6 +3122,7 @@
     "aws-ec2-natgateway":{
         "prefix":"aws-ec2-natgateway",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html",
             "${1:myAWSEC2NatGateway}:",
             "  Type: AWS::EC2::NatGateway",
             "  Properties:",
@@ -2949,6 +3136,7 @@
     "aws-rds-optiongroup":{
         "prefix":"aws-rds-optiongroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html",
             "${1:myAWSRDSOptionGroup}:",
             "  Type: AWS::RDS::OptionGroup",
             "  Properties:",
@@ -2964,6 +3152,7 @@
     "aws-iot-topicrule":{
         "prefix":"aws-iot-topicrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html",
             "${1:myAWSIoTTopicRule}:",
             "  Type: AWS::IoT::TopicRule",
             "  Properties:",
@@ -2976,6 +3165,7 @@
     "aws-opsworks-elasticloadbalancerattachment":{
         "prefix":"aws-opsworks-elasticloadbalancerattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elbattachment.html",
             "${1:myAWSOpsWorksElasticLoadBalancerAttachment}:",
             "  Type: AWS::OpsWorks::ElasticLoadBalancerAttachment",
             "  Properties:",
@@ -2988,6 +3178,7 @@
     "aws-elasticache-replicationgroup":{
         "prefix":"aws-elasticache-replicationgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html",
             "${1:myAWSElastiCacheReplicationGroup}:",
             "  Type: AWS::ElastiCache::ReplicationGroup",
             "  Properties:",
@@ -3027,6 +3218,7 @@
     "aws-docdb-dbinstance":{
         "prefix":"aws-docdb-dbinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html",
             "${1:myAWSDocDBDBInstance}:",
             "  Type: AWS::DocDB::DBInstance",
             "  Properties:",
@@ -3044,6 +3236,7 @@
     "aws-cognito-userpooluser":{
         "prefix":"aws-cognito-userpooluser",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html",
             "${1:myAWSCognitoUserPoolUser}:",
             "  Type: AWS::Cognito::UserPoolUser",
             "  Properties:",
@@ -3061,6 +3254,7 @@
     "aws-wafregional-webaclassociation":{
         "prefix":"aws-wafregional-webaclassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html",
             "${1:myAWSWAFRegionalWebACLAssociation}:",
             "  Type: AWS::WAFRegional::WebACLAssociation",
             "  Properties:",
@@ -3073,6 +3267,7 @@
     "aws-servicecatalog-cloudformationproduct":{
         "prefix":"aws-servicecatalog-cloudformationproduct",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html",
             "${1:myAWSServiceCatalogCloudFormationProduct}:",
             "  Type: AWS::ServiceCatalog::CloudFormationProduct",
             "  Properties:",
@@ -3093,6 +3288,7 @@
     "aws-appsync-functionconfiguration":{
         "prefix":"aws-appsync-functionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html",
             "${1:myAWSAppSyncFunctionConfiguration}:",
             "  Type: AWS::AppSync::FunctionConfiguration",
             "  Properties:",
@@ -3112,6 +3308,7 @@
     "aws-apigatewayv2-model":{
         "prefix":"aws-apigatewayv2-model",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html",
             "${1:myAWSApiGatewayV2Model}:",
             "  Type: AWS::ApiGatewayV2::Model",
             "  Properties:",
@@ -3127,6 +3324,7 @@
     "aws-robomaker-simulationapplication":{
         "prefix":"aws-robomaker-simulationapplication",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html",
             "${1:myAWSRoboMakerSimulationApplication}:",
             "  Type: AWS::RoboMaker::SimulationApplication",
             "  Properties:",
@@ -3144,6 +3342,7 @@
     "aws-iotanalytics-channel":{
         "prefix":"aws-iotanalytics-channel",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html",
             "${1:myAWSIoTAnalyticsChannel}:",
             "  Type: AWS::IoTAnalytics::Channel",
             "  Properties:",
@@ -3157,6 +3356,7 @@
     "aws-cloudformation-waitcondition":{
         "prefix":"aws-cloudformation-waitcondition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html",
             "${1:myAWSCloudFormationWaitCondition}:",
             "  Type: AWS::CloudFormation::WaitCondition",
             "  Properties:",
@@ -3170,6 +3370,7 @@
     "aws-ec2-securitygroup":{
         "prefix":"aws-ec2-securitygroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html",
             "${1:myAWSEC2SecurityGroup}:",
             "  Type: AWS::EC2::SecurityGroup",
             "  Properties:",
@@ -3186,6 +3387,7 @@
     "aws-cloud9-environmentec2":{
         "prefix":"aws-cloud9-environmentec2",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html",
             "${1:myAWSCloud9EnvironmentEC2}:",
             "  Type: AWS::Cloud9::EnvironmentEC2",
             "  Properties:",
@@ -3203,6 +3405,7 @@
     "aws-wafregional-webacl":{
         "prefix":"aws-wafregional-webacl",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html",
             "${1:myAWSWAFRegionalWebACL}:",
             "  Type: AWS::WAFRegional::WebACL",
             "  Properties:",
@@ -3217,6 +3420,7 @@
     "aws-wafregional-rule":{
         "prefix":"aws-wafregional-rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html",
             "${1:myAWSWAFRegionalRule}:",
             "  Type: AWS::WAFRegional::Rule",
             "  Properties:",
@@ -3230,6 +3434,7 @@
     "aws-cloudfront-cloudfrontoriginaccessidentity":{
         "prefix":"aws-cloudfront-cloudfrontoriginaccessidentity",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html",
             "${1:myAWSCloudFrontCloudFrontOriginAccessIdentity}:",
             "  Type: AWS::CloudFront::CloudFrontOriginAccessIdentity",
             "  Properties:",
@@ -3241,6 +3446,7 @@
     "aws-sagemaker-endpoint":{
         "prefix":"aws-sagemaker-endpoint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html",
             "${1:myAWSSageMakerEndpoint}:",
             "  Type: AWS::SageMaker::Endpoint",
             "  Properties:",
@@ -3254,6 +3460,7 @@
     "aws-appsync-apikey":{
         "prefix":"aws-appsync-apikey",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html",
             "${1:myAWSAppSyncApiKey}:",
             "  Type: AWS::AppSync::ApiKey",
             "  Properties:",
@@ -3267,6 +3474,7 @@
     "aws-route53-hostedzone":{
         "prefix":"aws-route53-hostedzone",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html",
             "${1:myAWSRoute53HostedZone}:",
             "  Type: AWS::Route53::HostedZone",
             "  Properties:",
@@ -3282,6 +3490,7 @@
     "aws-apigateway-restapi":{
         "prefix":"aws-apigateway-restapi",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html",
             "${1:myAWSApiGatewayRestApi}:",
             "  Type: AWS::ApiGateway::RestApi",
             "  Properties:",
@@ -3304,6 +3513,7 @@
     "aws-ec2-subnet":{
         "prefix":"aws-ec2-subnet",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html",
             "${1:myAWSEC2Subnet}:",
             "  Type: AWS::EC2::Subnet",
             "  Properties:",
@@ -3321,6 +3531,7 @@
     "aws-codedeploy-application":{
         "prefix":"aws-codedeploy-application",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html",
             "${1:myAWSCodeDeployApplication}:",
             "  Type: AWS::CodeDeploy::Application",
             "  Properties:",
@@ -3333,6 +3544,7 @@
     "aws-servicecatalog-portfolioproductassociation":{
         "prefix":"aws-servicecatalog-portfolioproductassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html",
             "${1:myAWSServiceCatalogPortfolioProductAssociation}:",
             "  Type: AWS::ServiceCatalog::PortfolioProductAssociation",
             "  Properties:",
@@ -3347,6 +3559,7 @@
     "aws-ec2-vpc":{
         "prefix":"aws-ec2-vpc",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html",
             "${1:myAWSEC2VPC}:",
             "  Type: AWS::EC2::VPC",
             "  Properties:",
@@ -3362,6 +3575,7 @@
     "aws-servicediscovery-instance":{
         "prefix":"aws-servicediscovery-instance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html",
             "${1:myAWSServiceDiscoveryInstance}:",
             "  Type: AWS::ServiceDiscovery::Instance",
             "  Properties:",
@@ -3375,6 +3589,7 @@
     "aws-ec2-instance":{
         "prefix":"aws-ec2-instance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html",
             "${1:myAWSEC2Instance}:",
             "  Type: AWS::EC2::Instance",
             "  Properties:",
@@ -3419,6 +3634,7 @@
     "aws-kinesisanalyticsv2-applicationoutput":{
         "prefix":"aws-kinesisanalyticsv2-applicationoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationOutput}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput",
             "  Properties:",
@@ -3431,6 +3647,7 @@
     "aws-events-eventbuspolicy":{
         "prefix":"aws-events-eventbuspolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html",
             "${1:myAWSEventsEventBusPolicy}:",
             "  Type: AWS::Events::EventBusPolicy",
             "  Properties:",
@@ -3445,6 +3662,7 @@
     "aws-eks-cluster":{
         "prefix":"aws-eks-cluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html",
             "${1:myAWSEKSCluster}:",
             "  Type: AWS::EKS::Cluster",
             "  Properties:",
@@ -3459,6 +3677,7 @@
     "aws-cloudformation-stack":{
         "prefix":"aws-cloudformation-stack",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html",
             "${1:myAWSCloudFormationStack}:",
             "  Type: AWS::CloudFormation::Stack",
             "  Properties:",
@@ -3474,6 +3693,7 @@
     "aws-config-aggregationauthorization":{
         "prefix":"aws-config-aggregationauthorization",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html",
             "${1:myAWSConfigAggregationAuthorization}:",
             "  Type: AWS::Config::AggregationAuthorization",
             "  Properties:",
@@ -3486,6 +3706,7 @@
     "aws-elasticache-parametergroup":{
         "prefix":"aws-elasticache-parametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html",
             "${1:myAWSElastiCacheParameterGroup}:",
             "  Type: AWS::ElastiCache::ParameterGroup",
             "  Properties:",
@@ -3499,6 +3720,7 @@
     "aws-waf-bytematchset":{
         "prefix":"aws-waf-bytematchset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html",
             "${1:myAWSWAFByteMatchSet}:",
             "  Type: AWS::WAF::ByteMatchSet",
             "  Properties:",
@@ -3511,6 +3733,7 @@
     "aws-sqs-queuepolicy":{
         "prefix":"aws-sqs-queuepolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html",
             "${1:myAWSSQSQueuePolicy}:",
             "  Type: AWS::SQS::QueuePolicy",
             "  Properties:",
@@ -3523,6 +3746,7 @@
     "aws-docdb-dbcluster":{
         "prefix":"aws-docdb-dbcluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html",
             "${1:myAWSDocDBDBCluster}:",
             "  Type: AWS::DocDB::DBCluster",
             "  Properties:",
@@ -3549,6 +3773,7 @@
     "aws-waf-sqlinjectionmatchset":{
         "prefix":"aws-waf-sqlinjectionmatchset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html",
             "${1:myAWSWAFSqlInjectionMatchSet}:",
             "  Type: AWS::WAF::SqlInjectionMatchSet",
             "  Properties:",
@@ -3561,6 +3786,7 @@
     "aws-applicationautoscaling-scalingpolicy":{
         "prefix":"aws-applicationautoscaling-scalingpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy",
             "  Properties:",
@@ -3579,6 +3805,7 @@
     "aws-efs-filesystem":{
         "prefix":"aws-efs-filesystem",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html",
             "${1:myAWSEFSFileSystem}:",
             "  Type: AWS::EFS::FileSystem",
             "  Properties:",
@@ -3595,6 +3822,7 @@
     "aws-dax-cluster":{
         "prefix":"aws-dax-cluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html",
             "${1:myAWSDAXCluster}:",
             "  Type: AWS::DAX::Cluster",
             "  Properties:",
@@ -3618,6 +3846,7 @@
     "aws-codecommit-repository":{
         "prefix":"aws-codecommit-repository",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html",
             "${1:myAWSCodeCommitRepository}:",
             "  Type: AWS::CodeCommit::Repository",
             "  Properties:",
@@ -3631,6 +3860,7 @@
     "aws-ssm-patchbaseline":{
         "prefix":"aws-ssm-patchbaseline",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html",
             "${1:myAWSSSMPatchBaseline}:",
             "  Type: AWS::SSM::PatchBaseline",
             "  Properties:",
@@ -3654,6 +3884,7 @@
     "aws-secretsmanager-secret":{
         "prefix":"aws-secretsmanager-secret",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html",
             "${1:myAWSSecretsManagerSecret}:",
             "  Type: AWS::SecretsManager::Secret",
             "  Properties:",
@@ -3670,6 +3901,7 @@
     "aws-servicecatalog-portfolio":{
         "prefix":"aws-servicecatalog-portfolio",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html",
             "${1:myAWSServiceCatalogPortfolio}:",
             "  Type: AWS::ServiceCatalog::Portfolio",
             "  Properties:",
@@ -3685,6 +3917,7 @@
     "aws-greengrass-coredefinition":{
         "prefix":"aws-greengrass-coredefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html",
             "${1:myAWSGreengrassCoreDefinition}:",
             "  Type: AWS::Greengrass::CoreDefinition",
             "  Properties:",
@@ -3697,6 +3930,7 @@
     "aws-kinesisanalyticsv2-applicationcloudwatchloggingoption":{
         "prefix":"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
             "  Properties:",
@@ -3709,6 +3943,7 @@
     "aws-guardduty-member":{
         "prefix":"aws-guardduty-member",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html",
             "${1:myAWSGuardDutyMember}:",
             "  Type: AWS::GuardDuty::Member",
             "  Properties:",
@@ -3725,6 +3960,7 @@
     "aws-rds-dbparametergroup":{
         "prefix":"aws-rds-dbparametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html",
             "${1:myAWSRDSDBParameterGroup}:",
             "  Type: AWS::RDS::DBParameterGroup",
             "  Properties:",
@@ -3739,6 +3975,7 @@
     "aws-appstream-stackfleetassociation":{
         "prefix":"aws-appstream-stackfleetassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html",
             "${1:myAWSAppStreamStackFleetAssociation}:",
             "  Type: AWS::AppStream::StackFleetAssociation",
             "  Properties:",
@@ -3751,6 +3988,7 @@
     "aws-servicediscovery-service":{
         "prefix":"aws-servicediscovery-service",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html",
             "${1:myAWSServiceDiscoveryService}:",
             "  Type: AWS::ServiceDiscovery::Service",
             "  Properties:",
@@ -3767,6 +4005,7 @@
     "aws-servicecatalog-acceptedportfolioshare":{
         "prefix":"aws-servicecatalog-acceptedportfolioshare",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html",
             "${1:myAWSServiceCatalogAcceptedPortfolioShare}:",
             "  Type: AWS::ServiceCatalog::AcceptedPortfolioShare",
             "  Properties:",
@@ -3779,6 +4018,7 @@
     "aws-logs-logstream":{
         "prefix":"aws-logs-logstream",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html",
             "${1:myAWSLogsLogStream}:",
             "  Type: AWS::Logs::LogStream",
             "  Properties:",
@@ -3791,6 +4031,7 @@
     "aws-secretsmanager-resourcepolicy":{
         "prefix":"aws-secretsmanager-resourcepolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html",
             "${1:myAWSSecretsManagerResourcePolicy}:",
             "  Type: AWS::SecretsManager::ResourcePolicy",
             "  Properties:",
@@ -3803,6 +4044,7 @@
     "aws-robomaker-simulationapplicationversion":{
         "prefix":"aws-robomaker-simulationapplicationversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html",
             "${1:myAWSRoboMakerSimulationApplicationVersion}:",
             "  Type: AWS::RoboMaker::SimulationApplicationVersion",
             "  Properties:",
@@ -3815,6 +4057,7 @@
     "aws-robomaker-robotapplicationversion":{
         "prefix":"aws-robomaker-robotapplicationversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html",
             "${1:myAWSRoboMakerRobotApplicationVersion}:",
             "  Type: AWS::RoboMaker::RobotApplicationVersion",
             "  Properties:",
@@ -3827,6 +4070,7 @@
     "aws-autoscaling-scalingpolicy":{
         "prefix":"aws-autoscaling-scalingpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html",
             "${1:myAWSAutoScalingScalingPolicy}:",
             "  Type: AWS::AutoScaling::ScalingPolicy",
             "  Properties:",
@@ -3847,6 +4091,7 @@
     "aws-emr-step":{
         "prefix":"aws-emr-step",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html",
             "${1:myAWSEMRStep}:",
             "  Type: AWS::EMR::Step",
             "  Properties:",
@@ -3861,6 +4106,7 @@
     "aws-config-configurationrecorder":{
         "prefix":"aws-config-configurationrecorder",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html",
             "${1:myAWSConfigConfigurationRecorder}:",
             "  Type: AWS::Config::ConfigurationRecorder",
             "  Properties:",
@@ -3874,6 +4120,7 @@
     "aws-rds-eventsubscription":{
         "prefix":"aws-rds-eventsubscription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html",
             "${1:myAWSRDSEventSubscription}:",
             "  Type: AWS::RDS::EventSubscription",
             "  Properties:",
@@ -3889,6 +4136,7 @@
     "aws-elasticbeanstalk-environment":{
         "prefix":"aws-elasticbeanstalk-environment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html",
             "${1:myAWSElasticBeanstalkEnvironment}:",
             "  Type: AWS::ElasticBeanstalk::Environment",
             "  Properties:",
@@ -3910,6 +4158,7 @@
     "aws-iotanalytics-pipeline":{
         "prefix":"aws-iotanalytics-pipeline",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html",
             "${1:myAWSIoTAnalyticsPipeline}:",
             "  Type: AWS::IoTAnalytics::Pipeline",
             "  Properties:",
@@ -3923,6 +4172,7 @@
     "aws-iot1click-placement":{
         "prefix":"aws-iot1click-placement",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html",
             "${1:myAWSIoT1ClickPlacement}:",
             "  Type: AWS::IoT1Click::Placement",
             "  Properties:",
@@ -3937,6 +4187,7 @@
     "aws-lambda-function":{
         "prefix":"aws-lambda-function",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html",
             "${1:myAWSLambdaFunction}:",
             "  Type: AWS::Lambda::Function",
             "  Properties:",
@@ -3963,6 +4214,7 @@
     "aws-ec2-transitgatewayroute":{
         "prefix":"aws-ec2-transitgatewayroute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html",
             "${1:myAWSEC2TransitGatewayRoute}:",
             "  Type: AWS::EC2::TransitGatewayRoute",
             "  Properties:",
@@ -3977,6 +4229,7 @@
     "aws-ec2-dhcpoptions":{
         "prefix":"aws-ec2-dhcpoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html",
             "${1:myAWSEC2DHCPOptions}:",
             "  Type: AWS::EC2::DHCPOptions",
             "  Properties:",
@@ -3993,6 +4246,7 @@
     "aws-apigateway-usageplan":{
         "prefix":"aws-apigateway-usageplan",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html",
             "${1:myAWSApiGatewayUsagePlan}:",
             "  Type: AWS::ApiGateway::UsagePlan",
             "  Properties:",
@@ -4008,6 +4262,7 @@
     "aws-iam-user":{
         "prefix":"aws-iam-user",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html",
             "${1:myAWSIAMUser}:",
             "  Type: AWS::IAM::User",
             "  Properties:",
@@ -4025,6 +4280,7 @@
     "aws-ec2-networkacl":{
         "prefix":"aws-ec2-networkacl",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html",
             "${1:myAWSEC2NetworkAcl}:",
             "  Type: AWS::EC2::NetworkAcl",
             "  Properties:",
@@ -4037,6 +4293,7 @@
     "aws-opsworks-instance":{
         "prefix":"aws-opsworks-instance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html",
             "${1:myAWSOpsWorksInstance}:",
             "  Type: AWS::OpsWorks::Instance",
             "  Properties:",
@@ -4068,6 +4325,7 @@
     "aws-config-configrule":{
         "prefix":"aws-config-configrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html",
             "${1:myAWSConfigConfigRule}:",
             "  Type: AWS::Config::ConfigRule",
             "  Properties:",
@@ -4084,6 +4342,7 @@
     "aws-ses-configurationset":{
         "prefix":"aws-ses-configurationset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html",
             "${1:myAWSSESConfigurationSet}:",
             "  Type: AWS::SES::ConfigurationSet",
             "  Properties:",
@@ -4095,6 +4354,7 @@
     "aws-glue-partition":{
         "prefix":"aws-glue-partition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html",
             "${1:myAWSGluePartition}:",
             "  Type: AWS::Glue::Partition",
             "  Properties:",
@@ -4109,6 +4369,7 @@
     "aws-ec2-vpngatewayroutepropagation":{
         "prefix":"aws-ec2-vpngatewayroutepropagation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html",
             "${1:myAWSEC2VPNGatewayRoutePropagation}:",
             "  Type: AWS::EC2::VPNGatewayRoutePropagation",
             "  Properties:",
@@ -4121,6 +4382,7 @@
     "aws-waf-webacl":{
         "prefix":"aws-waf-webacl",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html",
             "${1:myAWSWAFWebACL}:",
             "  Type: AWS::WAF::WebACL",
             "  Properties:",
@@ -4135,6 +4397,7 @@
     "aws-iotanalytics-datastore":{
         "prefix":"aws-iotanalytics-datastore",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html",
             "${1:myAWSIoTAnalyticsDatastore}:",
             "  Type: AWS::IoTAnalytics::Datastore",
             "  Properties:",
@@ -4148,6 +4411,7 @@
     "aws-glue-job":{
         "prefix":"aws-glue-job",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html",
             "${1:myAWSGlueJob}:",
             "  Type: AWS::Glue::Job",
             "  Properties:",
@@ -4168,6 +4432,7 @@
     "aws-neptune-dbcluster":{
         "prefix":"aws-neptune-dbcluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html",
             "${1:myAWSNeptuneDBCluster}:",
             "  Type: AWS::Neptune::DBCluster",
             "  Properties:",
@@ -4192,6 +4457,7 @@
     "aws-apigatewayv2-authorizer":{
         "prefix":"aws-apigatewayv2-authorizer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html",
             "${1:myAWSApiGatewayV2Authorizer}:",
             "  Type: AWS::ApiGatewayV2::Authorizer",
             "  Properties:",
@@ -4210,6 +4476,7 @@
     "aws-s3-bucket":{
         "prefix":"aws-s3-bucket",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html",
             "${1:myAWSS3Bucket}:",
             "  Type: AWS::S3::Bucket",
             "  Properties:",
@@ -4236,6 +4503,7 @@
     "aws-cloudformation-waitconditionhandle":{
         "prefix":"aws-cloudformation-waitconditionhandle",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitconditionhandle.html",
             "${1:myAWSCloudFormationWaitConditionHandle}:",
             "  Type: AWS::CloudFormation::WaitConditionHandle",
             "  Properties:"
@@ -4246,6 +4514,7 @@
     "aws-lambda-version":{
         "prefix":"aws-lambda-version",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html",
             "${1:myAWSLambdaVersion}:",
             "  Type: AWS::Lambda::Version",
             "  Properties:",
@@ -4259,6 +4528,7 @@
     "aws-sagemaker-notebookinstance":{
         "prefix":"aws-sagemaker-notebookinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html",
             "${1:myAWSSageMakerNotebookInstance}:",
             "  Type: AWS::SageMaker::NotebookInstance",
             "  Properties:",
@@ -4280,6 +4550,7 @@
     "aws-apigateway-basepathmapping":{
         "prefix":"aws-apigateway-basepathmapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html",
             "${1:myAWSApiGatewayBasePathMapping}:",
             "  Type: AWS::ApiGateway::BasePathMapping",
             "  Properties:",
@@ -4294,6 +4565,7 @@
     "aws-cognito-userpool":{
         "prefix":"aws-cognito-userpool",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html",
             "${1:myAWSCognitoUserPool}:",
             "  Type: AWS::Cognito::UserPool",
             "  Properties:",
@@ -4321,6 +4593,7 @@
     "aws-ssm-maintenancewindow":{
         "prefix":"aws-ssm-maintenancewindow",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html",
             "${1:myAWSSSMMaintenanceWindow}:",
             "  Type: AWS::SSM::MaintenanceWindow",
             "  Properties:",
@@ -4341,6 +4614,7 @@
     "aws-cloudformation-macro":{
         "prefix":"aws-cloudformation-macro",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html",
             "${1:myAWSCloudFormationMacro}:",
             "  Type: AWS::CloudFormation::Macro",
             "  Properties:",
@@ -4356,6 +4630,7 @@
     "aws-ec2-egressonlyinternetgateway":{
         "prefix":"aws-ec2-egressonlyinternetgateway",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html",
             "${1:myAWSEC2EgressOnlyInternetGateway}:",
             "  Type: AWS::EC2::EgressOnlyInternetGateway",
             "  Properties:",
@@ -4367,6 +4642,7 @@
     "aws-route53-recordsetgroup":{
         "prefix":"aws-route53-recordsetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html",
             "${1:myAWSRoute53RecordSetGroup}:",
             "  Type: AWS::Route53::RecordSetGroup",
             "  Properties:",
@@ -4381,6 +4657,7 @@
     "aws-kinesisfirehose-deliverystream":{
         "prefix":"aws-kinesisfirehose-deliverystream",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html",
             "${1:myAWSKinesisFirehoseDeliveryStream}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream",
             "  Properties:",
@@ -4399,6 +4676,7 @@
     "aws-dlm-lifecyclepolicy":{
         "prefix":"aws-dlm-lifecyclepolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html",
             "${1:myAWSDLMLifecyclePolicy}:",
             "  Type: AWS::DLM::LifecyclePolicy",
             "  Properties:",
@@ -4413,6 +4691,7 @@
     "aws-apigatewayv2-api":{
         "prefix":"aws-apigatewayv2-api",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html",
             "${1:myAWSApiGatewayV2Api}:",
             "  Type: AWS::ApiGatewayV2::Api",
             "  Properties:",
@@ -4430,6 +4709,7 @@
     "aws-rds-dbinstance":{
         "prefix":"aws-rds-dbinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html",
             "${1:myAWSRDSDBInstance}:",
             "  Type: AWS::RDS::DBInstance",
             "  Properties:",
@@ -4489,6 +4769,7 @@
     "aws-iam-managedpolicy":{
         "prefix":"aws-iam-managedpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html",
             "${1:myAWSIAMManagedPolicy}:",
             "  Type: AWS::IAM::ManagedPolicy",
             "  Properties:",
@@ -4506,6 +4787,7 @@
     "aws-ec2-networkinterfaceattachment":{
         "prefix":"aws-ec2-networkinterfaceattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html",
             "${1:myAWSEC2NetworkInterfaceAttachment}:",
             "  Type: AWS::EC2::NetworkInterfaceAttachment",
             "  Properties:",
@@ -4520,6 +4802,7 @@
     "aws-wafregional-ipset":{
         "prefix":"aws-wafregional-ipset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html",
             "${1:myAWSWAFRegionalIPSet}:",
             "  Type: AWS::WAFRegional::IPSet",
             "  Properties:",
@@ -4532,6 +4815,7 @@
     "aws-greengrass-devicedefinitionversion":{
         "prefix":"aws-greengrass-devicedefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html",
             "${1:myAWSGreengrassDeviceDefinitionVersion}:",
             "  Type: AWS::Greengrass::DeviceDefinitionVersion",
             "  Properties:",
@@ -4544,6 +4828,7 @@
     "aws-robomaker-robotapplication":{
         "prefix":"aws-robomaker-robotapplication",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html",
             "${1:myAWSRoboMakerRobotApplication}:",
             "  Type: AWS::RoboMaker::RobotApplication",
             "  Properties:",
@@ -4559,6 +4844,7 @@
     "aws-iot-policyprincipalattachment":{
         "prefix":"aws-iot-policyprincipalattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html",
             "${1:myAWSIoTPolicyPrincipalAttachment}:",
             "  Type: AWS::IoT::PolicyPrincipalAttachment",
             "  Properties:",
@@ -4571,6 +4857,7 @@
     "aws-applicationautoscaling-scalabletarget":{
         "prefix":"aws-applicationautoscaling-scalabletarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html",
             "${1:myAWSApplicationAutoScalingScalableTarget}:",
             "  Type: AWS::ApplicationAutoScaling::ScalableTarget",
             "  Properties:",
@@ -4588,6 +4875,7 @@
     "aws-ec2-customergateway":{
         "prefix":"aws-ec2-customergateway",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html",
             "${1:myAWSEC2CustomerGateway}:",
             "  Type: AWS::EC2::CustomerGateway",
             "  Properties:",
@@ -4602,6 +4890,7 @@
     "aws-servicediscovery-httpnamespace":{
         "prefix":"aws-servicediscovery-httpnamespace",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html",
             "${1:myAWSServiceDiscoveryHttpNamespace}:",
             "  Type: AWS::ServiceDiscovery::HttpNamespace",
             "  Properties:",
@@ -4614,6 +4903,7 @@
     "aws-apigateway-stage":{
         "prefix":"aws-apigateway-stage",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html",
             "${1:myAWSApiGatewayStage}:",
             "  Type: AWS::ApiGateway::Stage",
             "  Properties:",
@@ -4638,6 +4928,7 @@
     "aws-sdb-domain":{
         "prefix":"aws-sdb-domain",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-simpledb.html",
             "${1:myAWSSDBDomain}:",
             "  Type: AWS::SDB::Domain",
             "  Properties:",
@@ -4649,6 +4940,7 @@
     "aws-route53resolver-resolverruleassociation":{
         "prefix":"aws-route53resolver-resolverruleassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html",
             "${1:myAWSRoute53ResolverResolverRuleAssociation}:",
             "  Type: AWS::Route53Resolver::ResolverRuleAssociation",
             "  Properties:",
@@ -4662,6 +4954,7 @@
     "aws-cognito-userpoolclient":{
         "prefix":"aws-cognito-userpoolclient",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html",
             "${1:myAWSCognitoUserPoolClient}:",
             "  Type: AWS::Cognito::UserPoolClient",
             "  Properties:",
@@ -4679,6 +4972,7 @@
     "aws-greengrass-subscriptiondefinition":{
         "prefix":"aws-greengrass-subscriptiondefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html",
             "${1:myAWSGreengrassSubscriptionDefinition}:",
             "  Type: AWS::Greengrass::SubscriptionDefinition",
             "  Properties:",
@@ -4691,6 +4985,7 @@
     "aws-apigateway-vpclink":{
         "prefix":"aws-apigateway-vpclink",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html",
             "${1:myAWSApiGatewayVpcLink}:",
             "  Type: AWS::ApiGateway::VpcLink",
             "  Properties:",
@@ -4704,6 +4999,7 @@
     "aws-ecr-repository":{
         "prefix":"aws-ecr-repository",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html",
             "${1:myAWSECRRepository}:",
             "  Type: AWS::ECR::Repository",
             "  Properties:",
@@ -4717,6 +5013,7 @@
     "aws-ec2-trunkinterfaceassociation":{
         "prefix":"aws-ec2-trunkinterfaceassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trunkinterfaceassociation.html",
             "${1:myAWSEC2TrunkInterfaceAssociation}:",
             "  Type: AWS::EC2::TrunkInterfaceAssociation",
             "  Properties:",
@@ -4731,6 +5028,7 @@
     "aws-apigateway-gatewayresponse":{
         "prefix":"aws-apigateway-gatewayresponse",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html",
             "${1:myAWSApiGatewayGatewayResponse}:",
             "  Type: AWS::ApiGateway::GatewayResponse",
             "  Properties:",
@@ -4746,6 +5044,7 @@
     "aws-glue-database":{
         "prefix":"aws-glue-database",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html",
             "${1:myAWSGlueDatabase}:",
             "  Type: AWS::Glue::Database",
             "  Properties:",
@@ -4758,6 +5057,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
             "  Properties:",
@@ -4770,6 +5070,7 @@
     "aws-apigatewayv2-routeresponse":{
         "prefix":"aws-apigatewayv2-routeresponse",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html",
             "${1:myAWSApiGatewayV2RouteResponse}:",
             "  Type: AWS::ApiGatewayV2::RouteResponse",
             "  Properties:",
@@ -4786,6 +5087,7 @@
     "aws-apigateway-clientcertificate":{
         "prefix":"aws-apigateway-clientcertificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html",
             "${1:myAWSApiGatewayClientCertificate}:",
             "  Type: AWS::ApiGateway::ClientCertificate",
             "  Properties:",
@@ -4797,6 +5099,7 @@
     "aws-apigateway-method":{
         "prefix":"aws-apigateway-method",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html",
             "${1:myAWSApiGatewayMethod}:",
             "  Type: AWS::ApiGateway::Method",
             "  Properties:",
@@ -4820,6 +5123,7 @@
     "aws-dms-endpoint":{
         "prefix":"aws-dms-endpoint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html",
             "${1:myAWSDMSEndpoint}:",
             "  Type: AWS::DMS::Endpoint",
             "  Properties:",
@@ -4848,6 +5152,7 @@
     "aws-servicecatalog-launchnotificationconstraint":{
         "prefix":"aws-servicecatalog-launchnotificationconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html",
             "${1:myAWSServiceCatalogLaunchNotificationConstraint}:",
             "  Type: AWS::ServiceCatalog::LaunchNotificationConstraint",
             "  Properties:",
@@ -4863,6 +5168,7 @@
     "aws-ses-receiptruleset":{
         "prefix":"aws-ses-receiptruleset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html",
             "${1:myAWSSESReceiptRuleSet}:",
             "  Type: AWS::SES::ReceiptRuleSet",
             "  Properties:",
@@ -4874,6 +5180,7 @@
     "aws-appstream-stackuserassociation":{
         "prefix":"aws-appstream-stackuserassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html",
             "${1:myAWSAppStreamStackUserAssociation}:",
             "  Type: AWS::AppStream::StackUserAssociation",
             "  Properties:",
@@ -4888,6 +5195,7 @@
     "aws-greengrass-resourcedefinitionversion":{
         "prefix":"aws-greengrass-resourcedefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html",
             "${1:myAWSGreengrassResourceDefinitionVersion}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion",
             "  Properties:",
@@ -4900,6 +5208,7 @@
     "aws-directoryservice-simplead":{
         "prefix":"aws-directoryservice-simplead",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html",
             "${1:myAWSDirectoryServiceSimpleAD}:",
             "  Type: AWS::DirectoryService::SimpleAD",
             "  Properties:",
@@ -4918,6 +5227,7 @@
     "aws-greengrass-loggerdefinitionversion":{
         "prefix":"aws-greengrass-loggerdefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html",
             "${1:myAWSGreengrassLoggerDefinitionVersion}:",
             "  Type: AWS::Greengrass::LoggerDefinitionVersion",
             "  Properties:",
@@ -4930,6 +5240,7 @@
     "aws-ec2-volumeattachment":{
         "prefix":"aws-ec2-volumeattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html",
             "${1:myAWSEC2VolumeAttachment}:",
             "  Type: AWS::EC2::VolumeAttachment",
             "  Properties:",
@@ -4943,6 +5254,7 @@
     "aws-secretsmanager-secrettargetattachment":{
         "prefix":"aws-secretsmanager-secrettargetattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html",
             "${1:myAWSSecretsManagerSecretTargetAttachment}:",
             "  Type: AWS::SecretsManager::SecretTargetAttachment",
             "  Properties:",
@@ -4956,6 +5268,7 @@
     "aws-ec2-host":{
         "prefix":"aws-ec2-host",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html",
             "${1:myAWSEC2Host}:",
             "  Type: AWS::EC2::Host",
             "  Properties:",
@@ -4969,6 +5282,7 @@
     "aws-rds-dbsecuritygroup":{
         "prefix":"aws-rds-dbsecuritygroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html",
             "${1:myAWSRDSDBSecurityGroup}:",
             "  Type: AWS::RDS::DBSecurityGroup",
             "  Properties:",
@@ -4983,6 +5297,7 @@
     "aws-apigatewayv2-integrationresponse":{
         "prefix":"aws-apigatewayv2-integrationresponse",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html",
             "${1:myAWSApiGatewayV2IntegrationResponse}:",
             "  Type: AWS::ApiGatewayV2::IntegrationResponse",
             "  Properties:",
@@ -5000,6 +5315,7 @@
     "aws-kms-alias":{
         "prefix":"aws-kms-alias",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html",
             "${1:myAWSKMSAlias}:",
             "  Type: AWS::KMS::Alias",
             "  Properties:",
@@ -5012,6 +5328,7 @@
     "aws-ecs-taskdefinition":{
         "prefix":"aws-ecs-taskdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html",
             "${1:myAWSECSTaskDefinition}:",
             "  Type: AWS::ECS::TaskDefinition",
             "  Properties:",
@@ -5032,6 +5349,7 @@
     "aws-redshift-clustersubnetgroup":{
         "prefix":"aws-redshift-clustersubnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html",
             "${1:myAWSRedshiftClusterSubnetGroup}:",
             "  Type: AWS::Redshift::ClusterSubnetGroup",
             "  Properties:",
@@ -5045,6 +5363,7 @@
     "aws-ec2-eipassociation":{
         "prefix":"aws-ec2-eipassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html",
             "${1:myAWSEC2EIPAssociation}:",
             "  Type: AWS::EC2::EIPAssociation",
             "  Properties:",
@@ -5060,6 +5379,7 @@
     "aws-ec2-vpngateway":{
         "prefix":"aws-ec2-vpngateway",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html",
             "${1:myAWSEC2VPNGateway}:",
             "  Type: AWS::EC2::VPNGateway",
             "  Properties:",
@@ -5073,6 +5393,7 @@
     "aws-elasticache-cachecluster":{
         "prefix":"aws-elasticache-cachecluster",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html",
             "${1:myAWSElastiCacheCacheCluster}:",
             "  Type: AWS::ElastiCache::CacheCluster",
             "  Properties:",
@@ -5104,6 +5425,7 @@
     "aws-iot-thingprincipalattachment":{
         "prefix":"aws-iot-thingprincipalattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html",
             "${1:myAWSIoTThingPrincipalAttachment}:",
             "  Type: AWS::IoT::ThingPrincipalAttachment",
             "  Properties:",
@@ -5116,6 +5438,7 @@
     "aws-guardduty-detector":{
         "prefix":"aws-guardduty-detector",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html",
             "${1:myAWSGuardDutyDetector}:",
             "  Type: AWS::GuardDuty::Detector",
             "  Properties:",
@@ -5128,6 +5451,7 @@
     "aws-docdb-dbclusterparametergroup":{
         "prefix":"aws-docdb-dbclusterparametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html",
             "${1:myAWSDocDBDBClusterParameterGroup}:",
             "  Type: AWS::DocDB::DBClusterParameterGroup",
             "  Properties:",
@@ -5143,6 +5467,7 @@
     "aws-servicediscovery-privatednsnamespace":{
         "prefix":"aws-servicediscovery-privatednsnamespace",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html",
             "${1:myAWSServiceDiscoveryPrivateDnsNamespace}:",
             "  Type: AWS::ServiceDiscovery::PrivateDnsNamespace",
             "  Properties:",
@@ -5156,6 +5481,7 @@
     "aws-elasticbeanstalk-applicationversion":{
         "prefix":"aws-elasticbeanstalk-applicationversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html",
             "${1:myAWSElasticBeanstalkApplicationVersion}:",
             "  Type: AWS::ElasticBeanstalk::ApplicationVersion",
             "  Properties:",
@@ -5169,6 +5495,7 @@
     "aws-ec2-vpcendpoint":{
         "prefix":"aws-ec2-vpcendpoint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html",
             "${1:myAWSEC2VPCEndpoint}:",
             "  Type: AWS::EC2::VPCEndpoint",
             "  Properties:",
@@ -5187,6 +5514,7 @@
     "aws-glue-devendpoint":{
         "prefix":"aws-glue-devendpoint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
             "${1:myAWSGlueDevEndpoint}:",
             "  Type: AWS::Glue::DevEndpoint",
             "  Properties:",
@@ -5205,6 +5533,7 @@
     "aws-opsworks-userprofile":{
         "prefix":"aws-opsworks-userprofile",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html",
             "${1:myAWSOpsWorksUserProfile}:",
             "  Type: AWS::OpsWorks::UserProfile",
             "  Properties:",
@@ -5219,6 +5548,7 @@
     "aws-elasticloadbalancingv2-targetgroup":{
         "prefix":"aws-elasticloadbalancingv2-targetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html",
             "${1:myAWSElasticLoadBalancingV2TargetGroup}:",
             "  Type: AWS::ElasticLoadBalancingV2::TargetGroup",
             "  Properties:",
@@ -5246,6 +5576,7 @@
     "aws-neptune-dbsubnetgroup":{
         "prefix":"aws-neptune-dbsubnetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html",
             "${1:myAWSNeptuneDBSubnetGroup}:",
             "  Type: AWS::Neptune::DBSubnetGroup",
             "  Properties:",
@@ -5260,6 +5591,7 @@
     "aws-appstream-user":{
         "prefix":"aws-appstream-user",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html",
             "${1:myAWSAppStreamUser}:",
             "  Type: AWS::AppStream::User",
             "  Properties:",
@@ -5275,6 +5607,7 @@
     "aws-ec2-vpcgatewayattachment":{
         "prefix":"aws-ec2-vpcgatewayattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html",
             "${1:myAWSEC2VPCGatewayAttachment}:",
             "  Type: AWS::EC2::VPCGatewayAttachment",
             "  Properties:",
@@ -5288,6 +5621,7 @@
     "aws-robomaker-robot":{
         "prefix":"aws-robomaker-robot",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html",
             "${1:myAWSRoboMakerRobot}:",
             "  Type: AWS::RoboMaker::Robot",
             "  Properties:",
@@ -5303,6 +5637,7 @@
     "aws-kinesisanalyticsv2-application":{
         "prefix":"aws-kinesisanalyticsv2-application",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html",
             "${1:myAWSKinesisAnalyticsV2Application}:",
             "  Type: AWS::KinesisAnalyticsV2::Application",
             "  Properties:",
@@ -5318,6 +5653,7 @@
     "aws-ec2-vpnconnection":{
         "prefix":"aws-ec2-vpnconnection",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html",
             "${1:myAWSEC2VPNConnection}:",
             "  Type: AWS::EC2::VPNConnection",
             "  Properties:",
@@ -5334,6 +5670,7 @@
     "aws-glue-trigger":{
         "prefix":"aws-glue-trigger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html",
             "${1:myAWSGlueTrigger}:",
             "  Type: AWS::Glue::Trigger",
             "  Properties:",
@@ -5350,6 +5687,7 @@
     "aws-ec2-vpccidrblock":{
         "prefix":"aws-ec2-vpccidrblock",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html",
             "${1:myAWSEC2VPCCidrBlock}:",
             "  Type: AWS::EC2::VPCCidrBlock",
             "  Properties:",
@@ -5363,6 +5701,7 @@
     "aws-ssm-parameter":{
         "prefix":"aws-ssm-parameter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html",
             "${1:myAWSSSMParameter}:",
             "  Type: AWS::SSM::Parameter",
             "  Properties:",
@@ -5378,6 +5717,7 @@
     "aws-inspector-assessmenttemplate":{
         "prefix":"aws-inspector-assessmenttemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html",
             "${1:myAWSInspectorAssessmentTemplate}:",
             "  Type: AWS::Inspector::AssessmentTemplate",
             "  Properties:",
@@ -5393,6 +5733,7 @@
     "aws-appmesh-mesh":{
         "prefix":"aws-appmesh-mesh",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html",
             "${1:myAWSAppMeshMesh}:",
             "  Type: AWS::AppMesh::Mesh",
             "  Properties:",
@@ -5406,6 +5747,7 @@
     "aws-appstream-fleet":{
         "prefix":"aws-appstream-fleet",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html",
             "${1:myAWSAppStreamFleet}:",
             "  Type: AWS::AppStream::Fleet",
             "  Properties:",
@@ -5430,6 +5772,7 @@
     "aws-logs-subscriptionfilter":{
         "prefix":"aws-logs-subscriptionfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html",
             "${1:myAWSLogsSubscriptionFilter}:",
             "  Type: AWS::Logs::SubscriptionFilter",
             "  Properties:",
@@ -5444,6 +5787,7 @@
     "aws-greengrass-functiondefinitionversion":{
         "prefix":"aws-greengrass-functiondefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion",
             "  Properties:",
@@ -5457,6 +5801,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource",
             "  Properties:",
@@ -5469,6 +5814,7 @@
     "aws-ssm-resourcedatasync":{
         "prefix":"aws-ssm-resourcedatasync",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html",
             "${1:myAWSSSMResourceDataSync}:",
             "  Type: AWS::SSM::ResourceDataSync",
             "  Properties:",
@@ -5485,6 +5831,7 @@
     "aws-amazonmq-configuration":{
         "prefix":"aws-amazonmq-configuration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html",
             "${1:myAWSAmazonMQConfiguration}:",
             "  Type: AWS::AmazonMQ::Configuration",
             "  Properties:",
@@ -5501,6 +5848,7 @@
     "aws-kinesisanalytics-application":{
         "prefix":"aws-kinesisanalytics-application",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html",
             "${1:myAWSKinesisAnalyticsApplication}:",
             "  Type: AWS::KinesisAnalytics::Application",
             "  Properties:",
@@ -5515,6 +5863,7 @@
     "aws-dynamodb-table":{
         "prefix":"aws-dynamodb-table",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html",
             "${1:myAWSDynamoDBTable}:",
             "  Type: AWS::DynamoDB::Table",
             "  Properties:",
@@ -5537,6 +5886,7 @@
     "aws-logs-destination":{
         "prefix":"aws-logs-destination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html",
             "${1:myAWSLogsDestination}:",
             "  Type: AWS::Logs::Destination",
             "  Properties:",
@@ -5551,6 +5901,7 @@
     "aws-redshift-clustersecuritygroup":{
         "prefix":"aws-redshift-clustersecuritygroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html",
             "${1:myAWSRedshiftClusterSecurityGroup}:",
             "  Type: AWS::Redshift::ClusterSecurityGroup",
             "  Properties:",
@@ -5563,6 +5914,7 @@
     "aws-ec2-ec2fleet":{
         "prefix":"aws-ec2-ec2fleet",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html",
             "${1:myAWSEC2EC2Fleet}:",
             "  Type: AWS::EC2::EC2Fleet",
             "  Properties:",
@@ -5584,6 +5936,7 @@
     "aws-ec2-transitgatewayroutetable":{
         "prefix":"aws-ec2-transitgatewayroutetable",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html",
             "${1:myAWSEC2TransitGatewayRouteTable}:",
             "  Type: AWS::EC2::TransitGatewayRouteTable",
             "  Properties:",
@@ -5596,6 +5949,7 @@
     "aws-waf-xssmatchset":{
         "prefix":"aws-waf-xssmatchset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html",
             "${1:myAWSWAFXssMatchSet}:",
             "  Type: AWS::WAF::XssMatchSet",
             "  Properties:",
@@ -5608,6 +5962,7 @@
     "aws-greengrass-groupversion":{
         "prefix":"aws-greengrass-groupversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html",
             "${1:myAWSGreengrassGroupVersion}:",
             "  Type: AWS::Greengrass::GroupVersion",
             "  Properties:",
@@ -5626,6 +5981,7 @@
     "aws-route53-healthcheck":{
         "prefix":"aws-route53-healthcheck",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html",
             "${1:myAWSRoute53HealthCheck}:",
             "  Type: AWS::Route53::HealthCheck",
             "  Properties:",
@@ -5638,6 +5994,7 @@
     "aws-lambda-permission":{
         "prefix":"aws-lambda-permission",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html",
             "${1:myAWSLambdaPermission}:",
             "  Type: AWS::Lambda::Permission",
             "  Properties:",
@@ -5654,6 +6011,7 @@
     "aws-guardduty-ipset":{
         "prefix":"aws-guardduty-ipset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html",
             "${1:myAWSGuardDutyIPSet}:",
             "  Type: AWS::GuardDuty::IPSet",
             "  Properties:",
@@ -5669,6 +6027,7 @@
     "aws-iot-certificate":{
         "prefix":"aws-iot-certificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html",
             "${1:myAWSIoTCertificate}:",
             "  Type: AWS::IoT::Certificate",
             "  Properties:",
@@ -5681,6 +6040,7 @@
     "aws-ssm-association":{
         "prefix":"aws-ssm-association",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html",
             "${1:myAWSSSMAssociation}:",
             "  Type: AWS::SSM::Association",
             "  Properties:",
@@ -5699,6 +6059,7 @@
     "aws-neptune-dbinstance":{
         "prefix":"aws-neptune-dbinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html",
             "${1:myAWSNeptuneDBInstance}:",
             "  Type: AWS::Neptune::DBInstance",
             "  Properties:",
@@ -5720,6 +6081,7 @@
     "aws-rds-dbclusterparametergroup":{
         "prefix":"aws-rds-dbclusterparametergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html",
             "${1:myAWSRDSDBClusterParameterGroup}:",
             "  Type: AWS::RDS::DBClusterParameterGroup",
             "  Properties:",
@@ -5734,6 +6096,7 @@
     "aws-athena-namedquery":{
         "prefix":"aws-athena-namedquery",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html",
             "${1:myAWSAthenaNamedQuery}:",
             "  Type: AWS::Athena::NamedQuery",
             "  Properties:",
@@ -5748,6 +6111,7 @@
     "aws-kinesis-streamconsumer":{
         "prefix":"aws-kinesis-streamconsumer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html",
             "${1:myAWSKinesisStreamConsumer}:",
             "  Type: AWS::Kinesis::StreamConsumer",
             "  Properties:",
@@ -5760,6 +6124,7 @@
     "aws-guardduty-master":{
         "prefix":"aws-guardduty-master",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html",
             "${1:myAWSGuardDutyMaster}:",
             "  Type: AWS::GuardDuty::Master",
             "  Properties:",
@@ -5773,6 +6138,7 @@
     "aws-inspector-assessmenttarget":{
         "prefix":"aws-inspector-assessmenttarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html",
             "${1:myAWSInspectorAssessmentTarget}:",
             "  Type: AWS::Inspector::AssessmentTarget",
             "  Properties:",
@@ -5785,6 +6151,7 @@
     "aws-s3-bucketpolicy":{
         "prefix":"aws-s3-bucketpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html",
             "${1:myAWSS3BucketPolicy}:",
             "  Type: AWS::S3::BucketPolicy",
             "  Properties:",
@@ -5797,6 +6164,7 @@
     "aws-autoscaling-autoscalinggroup":{
         "prefix":"aws-autoscaling-autoscalinggroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html",
             "${1:myAWSAutoScalingAutoScalingGroup}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup",
             "  Properties:",
@@ -5829,6 +6197,7 @@
     "aws-cloudformation-customresource":{
         "prefix":"aws-cloudformation-customresource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html",
             "${1:myAWSCloudFormationCustomResource}:",
             "  Type: AWS::CloudFormation::CustomResource",
             "  Properties:",
@@ -5840,6 +6209,7 @@
     "aws-route53resolver-resolverendpoint":{
         "prefix":"aws-route53resolver-resolverendpoint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html",
             "${1:myAWSRoute53ResolverResolverEndpoint}:",
             "  Type: AWS::Route53Resolver::ResolverEndpoint",
             "  Properties:",
@@ -5855,6 +6225,7 @@
     "aws-glue-crawler":{
         "prefix":"aws-glue-crawler",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html",
             "${1:myAWSGlueCrawler}:",
             "  Type: AWS::Glue::Crawler",
             "  Properties:",
@@ -5875,6 +6246,7 @@
     "aws-apigateway-documentationversion":{
         "prefix":"aws-apigateway-documentationversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html",
             "${1:myAWSApiGatewayDocumentationVersion}:",
             "  Type: AWS::ApiGateway::DocumentationVersion",
             "  Properties:",
@@ -5888,6 +6260,7 @@
     "aws-ec2-vpcdhcpoptionsassociation":{
         "prefix":"aws-ec2-vpcdhcpoptionsassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html",
             "${1:myAWSEC2VPCDHCPOptionsAssociation}:",
             "  Type: AWS::EC2::VPCDHCPOptionsAssociation",
             "  Properties:",
@@ -5900,6 +6273,7 @@
     "aws-ssm-maintenancewindowtask":{
         "prefix":"aws-ssm-maintenancewindowtask",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html",
             "${1:myAWSSSMMaintenanceWindowTask}:",
             "  Type: AWS::SSM::MaintenanceWindowTask",
             "  Properties:",
@@ -5923,6 +6297,7 @@
     "aws-dms-replicationtask":{
         "prefix":"aws-dms-replicationtask",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html",
             "${1:myAWSDMSReplicationTask}:",
             "  Type: AWS::DMS::ReplicationTask",
             "  Properties:",
@@ -5942,6 +6317,7 @@
     "aws-servicediscovery-publicdnsnamespace":{
         "prefix":"aws-servicediscovery-publicdnsnamespace",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html",
             "${1:myAWSServiceDiscoveryPublicDnsNamespace}:",
             "  Type: AWS::ServiceDiscovery::PublicDnsNamespace",
             "  Properties:",
@@ -5954,6 +6330,7 @@
     "aws-apigateway-usageplankey":{
         "prefix":"aws-apigateway-usageplankey",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html",
             "${1:myAWSApiGatewayUsagePlanKey}:",
             "  Type: AWS::ApiGateway::UsagePlanKey",
             "  Properties:",
@@ -5967,6 +6344,7 @@
     "aws-emr-securityconfiguration":{
         "prefix":"aws-emr-securityconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html",
             "${1:myAWSEMRSecurityConfiguration}:",
             "  Type: AWS::EMR::SecurityConfiguration",
             "  Properties:",
@@ -5979,6 +6357,7 @@
     "aws-cognito-userpoolusertogroupattachment":{
         "prefix":"aws-cognito-userpoolusertogroupattachment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html",
             "${1:myAWSCognitoUserPoolUserToGroupAttachment}:",
             "  Type: AWS::Cognito::UserPoolUserToGroupAttachment",
             "  Properties:",
@@ -5992,6 +6371,7 @@
     "aws-dms-replicationinstance":{
         "prefix":"aws-dms-replicationinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html",
             "${1:myAWSDMSReplicationInstance}:",
             "  Type: AWS::DMS::ReplicationInstance",
             "  Properties:",
@@ -6016,6 +6396,7 @@
     "aws-autoscaling-scheduledaction":{
         "prefix":"aws-autoscaling-scheduledaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html",
             "${1:myAWSAutoScalingScheduledAction}:",
             "  Type: AWS::AutoScaling::ScheduledAction",
             "  Properties:",
@@ -6033,6 +6414,7 @@
     "aws-glue-classifier":{
         "prefix":"aws-glue-classifier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html",
             "${1:myAWSGlueClassifier}:",
             "  Type: AWS::Glue::Classifier",
             "  Properties:",
@@ -6046,6 +6428,7 @@
     "aws-robomaker-fleet":{
         "prefix":"aws-robomaker-fleet",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html",
             "${1:myAWSRoboMakerFleet}:",
             "  Type: AWS::RoboMaker::Fleet",
             "  Properties:",
@@ -6058,6 +6441,7 @@
     "aws-fsx-filesystem.tagentry":{
         "prefix":"aws-fsx-filesystem.tagentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-tagentry.html",
             "${1:myAWSFSxFileSystem.TagEntry}:",
             "  Type: AWS::FSx::FileSystem.TagEntry",
             "  Properties:",
@@ -6070,6 +6454,7 @@
     "aws-appmesh-virtualrouter.portmapping":{
         "prefix":"aws-appmesh-virtualrouter.portmapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html",
             "${1:myAWSAppMeshVirtualRouter.PortMapping}:",
             "  Type: AWS::AppMesh::VirtualRouter.PortMapping",
             "  Properties:",
@@ -6082,6 +6467,7 @@
     "aws-wafregional-bytematchset.bytematchtuple":{
         "prefix":"aws-wafregional-bytematchset.bytematchtuple",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html",
             "${1:myAWSWAFRegionalByteMatchSet.ByteMatchTuple}:",
             "  Type: AWS::WAFRegional::ByteMatchSet.ByteMatchTuple",
             "  Properties:",
@@ -6097,6 +6483,7 @@
     "aws-greengrass-coredefinition.core":{
         "prefix":"aws-greengrass-coredefinition.core",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html",
             "${1:myAWSGreengrassCoreDefinition.Core}:",
             "  Type: AWS::Greengrass::CoreDefinition.Core",
             "  Properties:",
@@ -6111,6 +6498,7 @@
     "aws-elasticloadbalancingv2-listenercertificate.certificate":{
         "prefix":"aws-elasticloadbalancingv2-listenercertificate.certificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html",
             "${1:myAWSElasticLoadBalancingV2ListenerCertificate.Certificate}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate",
             "  Properties:",
@@ -6122,6 +6510,7 @@
     "alexa-ask-skill.skillpackage":{
         "prefix":"alexa-ask-skill.skillpackage",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html",
             "${1:myAlexaASKSkill.SkillPackage}:",
             "  Type: Alexa::ASK::Skill.SkillPackage",
             "  Properties:",
@@ -6137,6 +6526,7 @@
     "aws-codepipeline-pipeline.inputartifact":{
         "prefix":"aws-codepipeline-pipeline.inputartifact",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-inputartifacts.html",
             "${1:myAWSCodePipelinePipeline.InputArtifact}:",
             "  Type: AWS::CodePipeline::Pipeline.InputArtifact",
             "  Properties:",
@@ -6148,6 +6538,7 @@
     "aws-s3-bucket.bucketencryption":{
         "prefix":"aws-s3-bucket.bucketencryption",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html",
             "${1:myAWSS3Bucket.BucketEncryption}:",
             "  Type: AWS::S3::Bucket.BucketEncryption",
             "  Properties:",
@@ -6159,6 +6550,7 @@
     "aws-greengrass-functiondefinitionversion.functionconfiguration":{
         "prefix":"aws-greengrass-functiondefinitionversion.functionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.FunctionConfiguration}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration",
             "  Properties:",
@@ -6176,6 +6568,7 @@
     "aws-elasticbeanstalk-environment.optionsetting":{
         "prefix":"aws-elasticbeanstalk-environment.optionsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html",
             "${1:myAWSElasticBeanstalkEnvironment.OptionSetting}:",
             "  Type: AWS::ElasticBeanstalk::Environment.OptionSetting",
             "  Properties:",
@@ -6190,6 +6583,7 @@
     "aws-events-rule.runcommandparameters":{
         "prefix":"aws-events-rule.runcommandparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html",
             "${1:myAWSEventsRule.RunCommandParameters}:",
             "  Type: AWS::Events::Rule.RunCommandParameters",
             "  Properties:",
@@ -6201,6 +6595,7 @@
     "aws-certificatemanager-certificate.domainvalidationoption":{
         "prefix":"aws-certificatemanager-certificate.domainvalidationoption",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html",
             "${1:myAWSCertificateManagerCertificate.DomainValidationOption}:",
             "  Type: AWS::CertificateManager::Certificate.DomainValidationOption",
             "  Properties:",
@@ -6213,6 +6608,7 @@
     "aws-dms-endpoint.kinesissettings":{
         "prefix":"aws-dms-endpoint.kinesissettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html",
             "${1:myAWSDMSEndpoint.KinesisSettings}:",
             "  Type: AWS::DMS::Endpoint.KinesisSettings",
             "  Properties:",
@@ -6226,6 +6622,7 @@
     "aws-iotanalytics-dataset.datasetcontentversionvalue":{
         "prefix":"aws-iotanalytics-dataset.datasetcontentversionvalue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-datasetcontentversionvalue.html",
             "${1:myAWSIoTAnalyticsDataset.DatasetContentVersionValue}:",
             "  Type: AWS::IoTAnalytics::Dataset.DatasetContentVersionValue",
             "  Properties:",
@@ -6237,6 +6634,7 @@
     "aws-cloudtrail-trail.eventselector":{
         "prefix":"aws-cloudtrail-trail.eventselector",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html",
             "${1:myAWSCloudTrailTrail.EventSelector}:",
             "  Type: AWS::CloudTrail::Trail.EventSelector",
             "  Properties:",
@@ -6250,6 +6648,7 @@
     "aws-ses-receiptrule.bounceaction":{
         "prefix":"aws-ses-receiptrule.bounceaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html",
             "${1:myAWSSESReceiptRule.BounceAction}:",
             "  Type: AWS::SES::ReceiptRule.BounceAction",
             "  Properties:",
@@ -6265,6 +6664,7 @@
     "aws-s3-bucket.routingrulecondition":{
         "prefix":"aws-s3-bucket.routingrulecondition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html",
             "${1:myAWSS3Bucket.RoutingRuleCondition}:",
             "  Type: AWS::S3::Bucket.RoutingRuleCondition",
             "  Properties:",
@@ -6277,6 +6677,7 @@
     "aws-appmesh-virtualnode.logging":{
         "prefix":"aws-appmesh-virtualnode.logging",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html",
             "${1:myAWSAppMeshVirtualNode.Logging}:",
             "  Type: AWS::AppMesh::VirtualNode.Logging",
             "  Properties:",
@@ -6288,6 +6689,7 @@
     "aws-s3-bucket.lifecycleconfiguration":{
         "prefix":"aws-s3-bucket.lifecycleconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html",
             "${1:myAWSS3Bucket.LifecycleConfiguration}:",
             "  Type: AWS::S3::Bucket.LifecycleConfiguration",
             "  Properties:",
@@ -6299,6 +6701,7 @@
     "aws-autoscaling-launchconfiguration.blockdevicemapping":{
         "prefix":"aws-autoscaling-launchconfiguration.blockdevicemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html",
             "${1:myAWSAutoScalingLaunchConfiguration.BlockDeviceMapping}:",
             "  Type: AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping",
             "  Properties:",
@@ -6313,6 +6716,7 @@
     "aws-dms-endpoint.s3settings":{
         "prefix":"aws-dms-endpoint.s3settings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html",
             "${1:myAWSDMSEndpoint.S3Settings}:",
             "  Type: AWS::DMS::Endpoint.S3Settings",
             "  Properties:",
@@ -6330,6 +6734,7 @@
     "aws-glue-partition.serdeinfo":{
         "prefix":"aws-glue-partition.serdeinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html",
             "${1:myAWSGluePartition.SerdeInfo}:",
             "  Type: AWS::Glue::Partition.SerdeInfo",
             "  Properties:",
@@ -6343,6 +6748,7 @@
     "aws-appmesh-virtualrouter.virtualrouterlistener":{
         "prefix":"aws-appmesh-virtualrouter.virtualrouterlistener",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterlistener.html",
             "${1:myAWSAppMeshVirtualRouter.VirtualRouterListener}:",
             "  Type: AWS::AppMesh::VirtualRouter.VirtualRouterListener",
             "  Properties:",
@@ -6354,6 +6760,7 @@
     "aws-cloudfront-distribution.cookies":{
         "prefix":"aws-cloudfront-distribution.cookies",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html",
             "${1:myAWSCloudFrontDistribution.Cookies}:",
             "  Type: AWS::CloudFront::Distribution.Cookies",
             "  Properties:",
@@ -6366,6 +6773,7 @@
     "aws-apigateway-deployment.deploymentcanarysettings":{
         "prefix":"aws-apigateway-deployment.deploymentcanarysettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html",
             "${1:myAWSApiGatewayDeployment.DeploymentCanarySettings}:",
             "  Type: AWS::ApiGateway::Deployment.DeploymentCanarySettings",
             "  Properties:",
@@ -6379,6 +6787,7 @@
     "aws-emr-step.hadoopjarstepconfig":{
         "prefix":"aws-emr-step.hadoopjarstepconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html",
             "${1:myAWSEMRStep.HadoopJarStepConfig}:",
             "  Type: AWS::EMR::Step.HadoopJarStepConfig",
             "  Properties:",
@@ -6393,6 +6802,7 @@
     "aws-emr-instancegroupconfig.ebsblockdeviceconfig":{
         "prefix":"aws-emr-instancegroupconfig.ebsblockdeviceconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html",
             "${1:myAWSEMRInstanceGroupConfig.EbsBlockDeviceConfig}:",
             "  Type: AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig",
             "  Properties:",
@@ -6405,6 +6815,7 @@
     "aws-codedeploy-deploymentgroup.s3location":{
         "prefix":"aws-codedeploy-deploymentgroup.s3location",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html",
             "${1:myAWSCodeDeployDeploymentGroup.S3Location}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.S3Location",
             "  Properties:",
@@ -6420,6 +6831,7 @@
     "aws-ec2-launchtemplate.privateipadd":{
         "prefix":"aws-ec2-launchtemplate.privateipadd",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html",
             "${1:myAWSEC2LaunchTemplate.PrivateIpAdd}:",
             "  Type: AWS::EC2::LaunchTemplate.PrivateIpAdd",
             "  Properties:",
@@ -6432,6 +6844,7 @@
     "aws-autoscaling-autoscalinggroup.launchtemplateoverrides":{
         "prefix":"aws-autoscaling-autoscalinggroup.launchtemplateoverrides",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html",
             "${1:myAWSAutoScalingAutoScalingGroup.LaunchTemplateOverrides}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides",
             "  Properties:",
@@ -6443,6 +6856,7 @@
     "aws-cloudfront-distribution.lambdafunctionassociation":{
         "prefix":"aws-cloudfront-distribution.lambdafunctionassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html",
             "${1:myAWSCloudFrontDistribution.LambdaFunctionAssociation}:",
             "  Type: AWS::CloudFront::Distribution.LambdaFunctionAssociation",
             "  Properties:",
@@ -6455,6 +6869,7 @@
     "aws-kinesisfirehose-deliverystream.elasticsearchbufferinghints":{
         "prefix":"aws-kinesisfirehose-deliverystream.elasticsearchbufferinghints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.ElasticsearchBufferingHints}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints",
             "  Properties:",
@@ -6467,6 +6882,7 @@
     "aws-batch-computeenvironment.launchtemplatespecification":{
         "prefix":"aws-batch-computeenvironment.launchtemplatespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html",
             "${1:myAWSBatchComputeEnvironment.LaunchTemplateSpecification}:",
             "  Type: AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification",
             "  Properties:",
@@ -6480,6 +6896,7 @@
     "aws-glue-database.databaseinput":{
         "prefix":"aws-glue-database.databaseinput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html",
             "${1:myAWSGlueDatabase.DatabaseInput}:",
             "  Type: AWS::Glue::Database.DatabaseInput",
             "  Properties:",
@@ -6494,6 +6911,7 @@
     "aws-autoscaling-autoscalinggroup.lifecyclehookspecification":{
         "prefix":"aws-autoscaling-autoscalinggroup.lifecyclehookspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html",
             "${1:myAWSAutoScalingAutoScalingGroup.LifecycleHookSpecification}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification",
             "  Properties:",
@@ -6511,6 +6929,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.recordcolumn":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.recordcolumn",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.RecordColumn}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn",
             "  Properties:",
@@ -6524,6 +6943,7 @@
     "aws-cognito-userpool.passwordpolicy":{
         "prefix":"aws-cognito-userpool.passwordpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html",
             "${1:myAWSCognitoUserPool.PasswordPolicy}:",
             "  Type: AWS::Cognito::UserPool.PasswordPolicy",
             "  Properties:",
@@ -6539,6 +6959,7 @@
     "aws-kinesisanalytics-applicationoutput.kinesisfirehoseoutput":{
         "prefix":"aws-kinesisanalytics-applicationoutput.kinesisfirehoseoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisfirehoseoutput.html",
             "${1:myAWSKinesisAnalyticsApplicationOutput.KinesisFirehoseOutput}:",
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput",
             "  Properties:",
@@ -6551,6 +6972,7 @@
     "aws-config-configurationaggregator.organizationaggregationsource":{
         "prefix":"aws-config-configurationaggregator.organizationaggregationsource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html",
             "${1:myAWSConfigConfigurationAggregator.OrganizationAggregationSource}:",
             "  Type: AWS::Config::ConfigurationAggregator.OrganizationAggregationSource",
             "  Properties:",
@@ -6564,6 +6986,7 @@
     "aws-opsworks-layer.shutdowneventconfiguration":{
         "prefix":"aws-opsworks-layer.shutdowneventconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html",
             "${1:myAWSOpsWorksLayer.ShutdownEventConfiguration}:",
             "  Type: AWS::OpsWorks::Layer.ShutdownEventConfiguration",
             "  Properties:",
@@ -6576,6 +6999,7 @@
     "aws-batch-jobdefinition.volumes":{
         "prefix":"aws-batch-jobdefinition.volumes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html",
             "${1:myAWSBatchJobDefinition.Volumes}:",
             "  Type: AWS::Batch::JobDefinition.Volumes",
             "  Properties:",
@@ -6588,6 +7012,7 @@
     "aws-applicationautoscaling-scalingpolicy.stepscalingpolicyconfiguration":{
         "prefix":"aws-applicationautoscaling-scalingpolicy.stepscalingpolicyconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy.StepScalingPolicyConfiguration}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration",
             "  Properties:",
@@ -6603,6 +7028,7 @@
     "aws-iotanalytics-pipeline.deviceshadowenrich":{
         "prefix":"aws-iotanalytics-pipeline.deviceshadowenrich",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html",
             "${1:myAWSIoTAnalyticsPipeline.DeviceShadowEnrich}:",
             "  Type: AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich",
             "  Properties:",
@@ -6618,6 +7044,7 @@
     "aws-s3-bucket.corsrule":{
         "prefix":"aws-s3-bucket.corsrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html",
             "${1:myAWSS3Bucket.CorsRule}:",
             "  Type: AWS::S3::Bucket.CorsRule",
             "  Properties:",
@@ -6634,6 +7061,7 @@
     "aws-iot-topicrule.s3action":{
         "prefix":"aws-iot-topicrule.s3action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html",
             "${1:myAWSIoTTopicRule.S3Action}:",
             "  Type: AWS::IoT::TopicRule.S3Action",
             "  Properties:",
@@ -6647,6 +7075,7 @@
     "aws-kinesisanalyticsv2-applicationoutput.lambdaoutput":{
         "prefix":"aws-kinesisanalyticsv2-applicationoutput.lambdaoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationOutput.LambdaOutput}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput",
             "  Properties:",
@@ -6658,6 +7087,7 @@
     "aws-codebuild-project.logsconfig":{
         "prefix":"aws-codebuild-project.logsconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html",
             "${1:myAWSCodeBuildProject.LogsConfig}:",
             "  Type: AWS::CodeBuild::Project.LogsConfig",
             "  Properties:",
@@ -6670,6 +7100,7 @@
     "aws-kinesisfirehose-deliverystream.splunkdestinationconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.splunkdestinationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.SplunkDestinationConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration",
             "  Properties:",
@@ -6689,6 +7120,7 @@
     "aws-greengrass-functiondefinition.execution":{
         "prefix":"aws-greengrass-functiondefinition.execution",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html",
             "${1:myAWSGreengrassFunctionDefinition.Execution}:",
             "  Type: AWS::Greengrass::FunctionDefinition.Execution",
             "  Properties:",
@@ -6701,6 +7133,7 @@
     "aws-directoryservice-microsoftad.vpcsettings":{
         "prefix":"aws-directoryservice-microsoftad.vpcsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html",
             "${1:myAWSDirectoryServiceMicrosoftAD.VpcSettings}:",
             "  Type: AWS::DirectoryService::MicrosoftAD.VpcSettings",
             "  Properties:",
@@ -6713,6 +7146,7 @@
     "aws-appsync-datasource.relationaldatabaseconfig":{
         "prefix":"aws-appsync-datasource.relationaldatabaseconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html",
             "${1:myAWSAppSyncDataSource.RelationalDatabaseConfig}:",
             "  Type: AWS::AppSync::DataSource.RelationalDatabaseConfig",
             "  Properties:",
@@ -6725,6 +7159,7 @@
     "aws-lambda-function.vpcconfig":{
         "prefix":"aws-lambda-function.vpcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html",
             "${1:myAWSLambdaFunction.VpcConfig}:",
             "  Type: AWS::Lambda::Function.VpcConfig",
             "  Properties:",
@@ -6737,6 +7172,7 @@
     "aws-waf-sqlinjectionmatchset.sqlinjectionmatchtuple":{
         "prefix":"aws-waf-sqlinjectionmatchset.sqlinjectionmatchtuple",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sqlinjectionmatchset-sqlinjectionmatchtuples.html",
             "${1:myAWSWAFSqlInjectionMatchSet.SqlInjectionMatchTuple}:",
             "  Type: AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple",
             "  Properties:",
@@ -6749,6 +7185,7 @@
     "aws-elasticloadbalancingv2-targetgroup.targetgroupattribute":{
         "prefix":"aws-elasticloadbalancingv2-targetgroup.targetgroupattribute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html",
             "${1:myAWSElasticLoadBalancingV2TargetGroup.TargetGroupAttribute}:",
             "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute",
             "  Properties:",
@@ -6761,6 +7198,7 @@
     "aws-appmesh-route.weightedtarget":{
         "prefix":"aws-appmesh-route.weightedtarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html",
             "${1:myAWSAppMeshRoute.WeightedTarget}:",
             "  Type: AWS::AppMesh::Route.WeightedTarget",
             "  Properties:",
@@ -6773,6 +7211,7 @@
     "aws-opsworks-app.datasource":{
         "prefix":"aws-opsworks-app.datasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html",
             "${1:myAWSOpsWorksApp.DataSource}:",
             "  Type: AWS::OpsWorks::App.DataSource",
             "  Properties:",
@@ -6786,6 +7225,7 @@
     "aws-s3-bucket.destination":{
         "prefix":"aws-s3-bucket.destination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html",
             "${1:myAWSS3Bucket.Destination}:",
             "  Type: AWS::S3::Bucket.Destination",
             "  Properties:",
@@ -6800,6 +7240,7 @@
     "aws-waf-webacl.wafaction":{
         "prefix":"aws-waf-webacl.wafaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-action.html",
             "${1:myAWSWAFWebACL.WafAction}:",
             "  Type: AWS::WAF::WebACL.WafAction",
             "  Properties:",
@@ -6811,6 +7252,7 @@
     "aws-rds-dbsecuritygroup.ingress":{
         "prefix":"aws-rds-dbsecuritygroup.ingress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html",
             "${1:myAWSRDSDBSecurityGroup.Ingress}:",
             "  Type: AWS::RDS::DBSecurityGroup.Ingress",
             "  Properties:",
@@ -6825,6 +7267,7 @@
     "aws-waf-ipset.ipsetdescriptor":{
         "prefix":"aws-waf-ipset.ipsetdescriptor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-ipset-ipsetdescriptors.html",
             "${1:myAWSWAFIPSet.IPSetDescriptor}:",
             "  Type: AWS::WAF::IPSet.IPSetDescriptor",
             "  Properties:",
@@ -6837,6 +7280,7 @@
     "aws-ses-receiptrule.action":{
         "prefix":"aws-ses-receiptrule.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html",
             "${1:myAWSSESReceiptRule.Action}:",
             "  Type: AWS::SES::ReceiptRule.Action",
             "  Properties:",
@@ -6854,6 +7298,7 @@
     "aws-appmesh-virtualnode.servicediscovery":{
         "prefix":"aws-appmesh-virtualnode.servicediscovery",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html",
             "${1:myAWSAppMeshVirtualNode.ServiceDiscovery}:",
             "  Type: AWS::AppMesh::VirtualNode.ServiceDiscovery",
             "  Properties:",
@@ -6865,6 +7310,7 @@
     "aws-apigateway-deployment.methodsetting":{
         "prefix":"aws-apigateway-deployment.methodsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html",
             "${1:myAWSApiGatewayDeployment.MethodSetting}:",
             "  Type: AWS::ApiGateway::Deployment.MethodSetting",
             "  Properties:",
@@ -6885,6 +7331,7 @@
     "aws-opsworks-layer.volumeconfiguration":{
         "prefix":"aws-opsworks-layer.volumeconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html",
             "${1:myAWSOpsWorksLayer.VolumeConfiguration}:",
             "  Type: AWS::OpsWorks::Layer.VolumeConfiguration",
             "  Properties:",
@@ -6902,6 +7349,7 @@
     "aws-emr-cluster.spotprovisioningspecification":{
         "prefix":"aws-emr-cluster.spotprovisioningspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html",
             "${1:myAWSEMRCluster.SpotProvisioningSpecification}:",
             "  Type: AWS::EMR::Cluster.SpotProvisioningSpecification",
             "  Properties:",
@@ -6915,6 +7363,7 @@
     "aws-emr-cluster.bootstrapactionconfig":{
         "prefix":"aws-emr-cluster.bootstrapactionconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-bootstrapactionconfig.html",
             "${1:myAWSEMRCluster.BootstrapActionConfig}:",
             "  Type: AWS::EMR::Cluster.BootstrapActionConfig",
             "  Properties:",
@@ -6927,6 +7376,7 @@
     "aws-emr-instancefleetconfig.spotprovisioningspecification":{
         "prefix":"aws-emr-instancefleetconfig.spotprovisioningspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html",
             "${1:myAWSEMRInstanceFleetConfig.SpotProvisioningSpecification}:",
             "  Type: AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification",
             "  Properties:",
@@ -6940,6 +7390,7 @@
     "aws-autoscaling-autoscalinggroup.launchtemplatespecification":{
         "prefix":"aws-autoscaling-autoscalinggroup.launchtemplatespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html",
             "${1:myAWSAutoScalingAutoScalingGroup.LaunchTemplateSpecification}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification",
             "  Properties:",
@@ -6953,6 +7404,7 @@
     "aws-batch-jobdefinition.containerproperties":{
         "prefix":"aws-batch-jobdefinition.containerproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html",
             "${1:myAWSBatchJobDefinition.ContainerProperties}:",
             "  Type: AWS::Batch::JobDefinition.ContainerProperties",
             "  Properties:",
@@ -6976,6 +7428,7 @@
     "aws-gamelift-fleet.ippermission":{
         "prefix":"aws-gamelift-fleet.ippermission",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html",
             "${1:myAWSGameLiftFleet.IpPermission}:",
             "  Type: AWS::GameLift::Fleet.IpPermission",
             "  Properties:",
@@ -6990,6 +7443,7 @@
     "aws-config-deliverychannel.configsnapshotdeliveryproperties":{
         "prefix":"aws-config-deliverychannel.configsnapshotdeliveryproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html",
             "${1:myAWSConfigDeliveryChannel.ConfigSnapshotDeliveryProperties}:",
             "  Type: AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties",
             "  Properties:",
@@ -7001,6 +7455,7 @@
     "aws-iotanalytics-pipeline.lambda":{
         "prefix":"aws-iotanalytics-pipeline.lambda",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html",
             "${1:myAWSIoTAnalyticsPipeline.Lambda}:",
             "  Type: AWS::IoTAnalytics::Pipeline.Lambda",
             "  Properties:",
@@ -7015,6 +7470,7 @@
     "aws-autoscaling-scalingpolicy.customizedmetricspecification":{
         "prefix":"aws-autoscaling-scalingpolicy.customizedmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html",
             "${1:myAWSAutoScalingScalingPolicy.CustomizedMetricSpecification}:",
             "  Type: AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification",
             "  Properties:",
@@ -7030,6 +7486,7 @@
     "aws-iot-topicrule.sqsaction":{
         "prefix":"aws-iot-topicrule.sqsaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html",
             "${1:myAWSIoTTopicRule.SqsAction}:",
             "  Type: AWS::IoT::TopicRule.SqsAction",
             "  Properties:",
@@ -7043,6 +7500,7 @@
     "aws-elasticloadbalancingv2-listener.authenticatecognitoconfig":{
         "prefix":"aws-elasticloadbalancingv2-listener.authenticatecognitoconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html",
             "${1:myAWSElasticLoadBalancingV2Listener.AuthenticateCognitoConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig",
             "  Properties:",
@@ -7061,6 +7519,7 @@
     "aws-stepfunctions-activity.tagsentry":{
         "prefix":"aws-stepfunctions-activity.tagsentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html",
             "${1:myAWSStepFunctionsActivity.TagsEntry}:",
             "  Type: AWS::StepFunctions::Activity.TagsEntry",
             "  Properties:",
@@ -7073,6 +7532,7 @@
     "aws-ecs-service.loadbalancer":{
         "prefix":"aws-ecs-service.loadbalancer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html",
             "${1:myAWSECSService.LoadBalancer}:",
             "  Type: AWS::ECS::Service.LoadBalancer",
             "  Properties:",
@@ -7087,6 +7547,7 @@
     "aws-kinesisfirehose-deliverystream.encryptionconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.encryptionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.EncryptionConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration",
             "  Properties:",
@@ -7099,6 +7560,7 @@
     "aws-appstream-imagebuilder.vpcconfig":{
         "prefix":"aws-appstream-imagebuilder.vpcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html",
             "${1:myAWSAppStreamImageBuilder.VpcConfig}:",
             "  Type: AWS::AppStream::ImageBuilder.VpcConfig",
             "  Properties:",
@@ -7111,6 +7573,7 @@
     "aws-kinesisfirehose-deliverystream.cloudwatchloggingoptions":{
         "prefix":"aws-kinesisfirehose-deliverystream.cloudwatchloggingoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.CloudWatchLoggingOptions}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions",
             "  Properties:",
@@ -7124,6 +7587,7 @@
     "aws-ecs-taskdefinition.logconfiguration":{
         "prefix":"aws-ecs-taskdefinition.logconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html",
             "${1:myAWSECSTaskDefinition.LogConfiguration}:",
             "  Type: AWS::ECS::TaskDefinition.LogConfiguration",
             "  Properties:",
@@ -7136,6 +7600,7 @@
     "aws-iot-topicrule.putiteminput":{
         "prefix":"aws-iot-topicrule.putiteminput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putiteminput.html",
             "${1:myAWSIoTTopicRule.PutItemInput}:",
             "  Type: AWS::IoT::TopicRule.PutItemInput",
             "  Properties:",
@@ -7147,6 +7612,7 @@
     "aws-elasticloadbalancing-loadbalancer.accessloggingpolicy":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.accessloggingpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.AccessLoggingPolicy}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy",
             "  Properties:",
@@ -7161,6 +7627,7 @@
     "aws-ses-receiptfilter.filter":{
         "prefix":"aws-ses-receiptfilter.filter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html",
             "${1:myAWSSESReceiptFilter.Filter}:",
             "  Type: AWS::SES::ReceiptFilter.Filter",
             "  Properties:",
@@ -7173,6 +7640,7 @@
     "aws-codedeploy-deploymentgroup.tagfilter":{
         "prefix":"aws-codedeploy-deploymentgroup.tagfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html",
             "${1:myAWSCodeDeployDeploymentGroup.TagFilter}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.TagFilter",
             "  Properties:",
@@ -7186,6 +7654,7 @@
     "aws-ec2-spotfleet.spotfleettagspecification":{
         "prefix":"aws-ec2-spotfleet.spotfleettagspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-tagspecifications.html",
             "${1:myAWSEC2SpotFleet.SpotFleetTagSpecification}:",
             "  Type: AWS::EC2::SpotFleet.SpotFleetTagSpecification",
             "  Properties:",
@@ -7198,6 +7667,7 @@
     "aws-ec2-spotfleet.privateipaddressspecification":{
         "prefix":"aws-ec2-spotfleet.privateipaddressspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces-privateipaddresses.html",
             "${1:myAWSEC2SpotFleet.PrivateIpAddressSpecification}:",
             "  Type: AWS::EC2::SpotFleet.PrivateIpAddressSpecification",
             "  Properties:",
@@ -7210,6 +7680,7 @@
     "aws-ecs-taskdefinition.device":{
         "prefix":"aws-ecs-taskdefinition.device",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html",
             "${1:myAWSECSTaskDefinition.Device}:",
             "  Type: AWS::ECS::TaskDefinition.Device",
             "  Properties:",
@@ -7223,6 +7694,7 @@
     "aws-elasticloadbalancingv2-listener.action":{
         "prefix":"aws-elasticloadbalancingv2-listener.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html",
             "${1:myAWSElasticLoadBalancingV2Listener.Action}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener.Action",
             "  Properties:",
@@ -7240,6 +7712,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.recordformat":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.recordformat",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.RecordFormat}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat",
             "  Properties:",
@@ -7252,6 +7725,7 @@
     "aws-glue-job.jobcommand":{
         "prefix":"aws-glue-job.jobcommand",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html",
             "${1:myAWSGlueJob.JobCommand}:",
             "  Type: AWS::Glue::Job.JobCommand",
             "  Properties:",
@@ -7264,6 +7738,7 @@
     "aws-kinesisanalytics-applicationoutput.output":{
         "prefix":"aws-kinesisanalytics-applicationoutput.output",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html",
             "${1:myAWSKinesisAnalyticsApplicationOutput.Output}:",
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.Output",
             "  Properties:",
@@ -7279,6 +7754,7 @@
     "aws-emr-cluster.instancefleetconfig":{
         "prefix":"aws-emr-cluster.instancefleetconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html",
             "${1:myAWSEMRCluster.InstanceFleetConfig}:",
             "  Type: AWS::EMR::Cluster.InstanceFleetConfig",
             "  Properties:",
@@ -7294,6 +7770,7 @@
     "aws-ec2-ec2fleet.fleetlaunchtemplatespecificationrequest":{
         "prefix":"aws-ec2-ec2fleet.fleetlaunchtemplatespecificationrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html",
             "${1:myAWSEC2EC2Fleet.FleetLaunchTemplateSpecificationRequest}:",
             "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest",
             "  Properties:",
@@ -7307,6 +7784,7 @@
     "aws-kinesisfirehose-deliverystream.processingconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.processingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.ProcessingConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration",
             "  Properties:",
@@ -7319,6 +7797,7 @@
     "aws-dynamodb-table.localsecondaryindex":{
         "prefix":"aws-dynamodb-table.localsecondaryindex",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html",
             "${1:myAWSDynamoDBTable.LocalSecondaryIndex}:",
             "  Type: AWS::DynamoDB::Table.LocalSecondaryIndex",
             "  Properties:",
@@ -7332,6 +7811,7 @@
     "aws-emr-cluster.jobflowinstancesconfig":{
         "prefix":"aws-emr-cluster.jobflowinstancesconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html",
             "${1:myAWSEMRCluster.JobFlowInstancesConfig}:",
             "  Type: AWS::EMR::Cluster.JobFlowInstancesConfig",
             "  Properties:",
@@ -7357,6 +7837,7 @@
     "aws-ec2-vpnconnection.vpntunneloptionsspecification":{
         "prefix":"aws-ec2-vpnconnection.vpntunneloptionsspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html",
             "${1:myAWSEC2VPNConnection.VpnTunnelOptionsSpecification}:",
             "  Type: AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification",
             "  Properties:",
@@ -7369,6 +7850,7 @@
     "aws-route53-healthcheck.healthcheckconfig":{
         "prefix":"aws-route53-healthcheck.healthcheckconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html",
             "${1:myAWSRoute53HealthCheck.HealthCheckConfig}:",
             "  Type: AWS::Route53::HealthCheck.HealthCheckConfig",
             "  Properties:",
@@ -7395,6 +7877,7 @@
     "aws-iot-topicrule.snsaction":{
         "prefix":"aws-iot-topicrule.snsaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html",
             "${1:myAWSIoTTopicRule.SnsAction}:",
             "  Type: AWS::IoT::TopicRule.SnsAction",
             "  Properties:",
@@ -7408,6 +7891,7 @@
     "aws-directoryservice-simplead.vpcsettings":{
         "prefix":"aws-directoryservice-simplead.vpcsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html",
             "${1:myAWSDirectoryServiceSimpleAD.VpcSettings}:",
             "  Type: AWS::DirectoryService::SimpleAD.VpcSettings",
             "  Properties:",
@@ -7420,6 +7904,7 @@
     "aws-cloudfront-distribution.cachebehavior":{
         "prefix":"aws-cloudfront-distribution.cachebehavior",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html",
             "${1:myAWSCloudFrontDistribution.CacheBehavior}:",
             "  Type: AWS::CloudFront::Distribution.CacheBehavior",
             "  Properties:",
@@ -7444,6 +7929,7 @@
     "aws-emr-cluster.stepconfig":{
         "prefix":"aws-emr-cluster.stepconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html",
             "${1:myAWSEMRCluster.StepConfig}:",
             "  Type: AWS::EMR::Cluster.StepConfig",
             "  Properties:",
@@ -7457,6 +7943,7 @@
     "aws-codepipeline-pipeline.blockerdeclaration":{
         "prefix":"aws-codepipeline-pipeline.blockerdeclaration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-blockers.html",
             "${1:myAWSCodePipelinePipeline.BlockerDeclaration}:",
             "  Type: AWS::CodePipeline::Pipeline.BlockerDeclaration",
             "  Properties:",
@@ -7469,6 +7956,7 @@
     "aws-guardduty-filter.findingcriteria":{
         "prefix":"aws-guardduty-filter.findingcriteria",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html",
             "${1:myAWSGuardDutyFilter.FindingCriteria}:",
             "  Type: AWS::GuardDuty::Filter.FindingCriteria",
             "  Properties:",
@@ -7481,6 +7969,7 @@
     "aws-elasticsearch-domain.nodetonodeencryptionoptions":{
         "prefix":"aws-elasticsearch-domain.nodetonodeencryptionoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-nodetonodeencryptionoptions.html",
             "${1:myAWSElasticsearchDomain.NodeToNodeEncryptionOptions}:",
             "  Type: AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions",
             "  Properties:",
@@ -7492,6 +7981,7 @@
     "aws-cloudwatch-alarm.metricstat":{
         "prefix":"aws-cloudwatch-alarm.metricstat",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html",
             "${1:myAWSCloudWatchAlarm.MetricStat}:",
             "  Type: AWS::CloudWatch::Alarm.MetricStat",
             "  Properties:",
@@ -7506,6 +7996,7 @@
     "aws-elasticsearch-domain.elasticsearchclusterconfig":{
         "prefix":"aws-elasticsearch-domain.elasticsearchclusterconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html",
             "${1:myAWSElasticsearchDomain.ElasticsearchClusterConfig}:",
             "  Type: AWS::Elasticsearch::Domain.ElasticsearchClusterConfig",
             "  Properties:",
@@ -7522,6 +8013,7 @@
     "aws-lambda-function.deadletterconfig":{
         "prefix":"aws-lambda-function.deadletterconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html",
             "${1:myAWSLambdaFunction.DeadLetterConfig}:",
             "  Type: AWS::Lambda::Function.DeadLetterConfig",
             "  Properties:",
@@ -7533,6 +8025,7 @@
     "aws-stepfunctions-statemachine.tagsentry":{
         "prefix":"aws-stepfunctions-statemachine.tagsentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html",
             "${1:myAWSStepFunctionsStateMachine.TagsEntry}:",
             "  Type: AWS::StepFunctions::StateMachine.TagsEntry",
             "  Properties:",
@@ -7545,6 +8038,7 @@
     "aws-greengrass-functiondefinitionversion.execution":{
         "prefix":"aws-greengrass-functiondefinitionversion.execution",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.Execution}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.Execution",
             "  Properties:",
@@ -7557,6 +8051,7 @@
     "aws-applicationautoscaling-scalingpolicy.metricdimension":{
         "prefix":"aws-applicationautoscaling-scalingpolicy.metricdimension",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy.MetricDimension}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension",
             "  Properties:",
@@ -7569,6 +8064,7 @@
     "aws-budgets-budget.budgetdata":{
         "prefix":"aws-budgets-budget.budgetdata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html",
             "${1:myAWSBudgetsBudget.BudgetData}:",
             "  Type: AWS::Budgets::Budget.BudgetData",
             "  Properties:",
@@ -7586,6 +8082,7 @@
     "aws-kinesisanalyticsv2-application.s3contentlocation":{
         "prefix":"aws-kinesisanalyticsv2-application.s3contentlocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html",
             "${1:myAWSKinesisAnalyticsV2Application.S3ContentLocation}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.S3ContentLocation",
             "  Properties:",
@@ -7599,6 +8096,7 @@
     "aws-ssm-patchbaseline.rulegroup":{
         "prefix":"aws-ssm-patchbaseline.rulegroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html",
             "${1:myAWSSSMPatchBaseline.RuleGroup}:",
             "  Type: AWS::SSM::PatchBaseline.RuleGroup",
             "  Properties:",
@@ -7610,6 +8108,7 @@
     "alexa-ask-skill.authenticationconfiguration":{
         "prefix":"alexa-ask-skill.authenticationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html",
             "${1:myAlexaASKSkill.AuthenticationConfiguration}:",
             "  Type: Alexa::ASK::Skill.AuthenticationConfiguration",
             "  Properties:",
@@ -7623,6 +8122,7 @@
     "aws-apigateway-usageplan.apistage":{
         "prefix":"aws-apigateway-usageplan.apistage",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html",
             "${1:myAWSApiGatewayUsagePlan.ApiStage}:",
             "  Type: AWS::ApiGateway::UsagePlan.ApiStage",
             "  Properties:",
@@ -7636,6 +8136,7 @@
     "aws-config-configurationrecorder.recordinggroup":{
         "prefix":"aws-config-configurationrecorder.recordinggroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html",
             "${1:myAWSConfigConfigurationRecorder.RecordingGroup}:",
             "  Type: AWS::Config::ConfigurationRecorder.RecordingGroup",
             "  Properties:",
@@ -7649,6 +8150,7 @@
     "aws-dlm-lifecyclepolicy.schedule":{
         "prefix":"aws-dlm-lifecyclepolicy.schedule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html",
             "${1:myAWSDLMLifecyclePolicy.Schedule}:",
             "  Type: AWS::DLM::LifecyclePolicy.Schedule",
             "  Properties:",
@@ -7664,6 +8166,7 @@
     "aws-waf-webacl.activatedrule":{
         "prefix":"aws-waf-webacl.activatedrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html",
             "${1:myAWSWAFWebACL.ActivatedRule}:",
             "  Type: AWS::WAF::WebACL.ActivatedRule",
             "  Properties:",
@@ -7677,6 +8180,7 @@
     "aws-rds-dbcluster.scalingconfiguration":{
         "prefix":"aws-rds-dbcluster.scalingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html",
             "${1:myAWSRDSDBCluster.ScalingConfiguration}:",
             "  Type: AWS::RDS::DBCluster.ScalingConfiguration",
             "  Properties:",
@@ -7691,6 +8195,7 @@
     "aws-appmesh-route.tcproute":{
         "prefix":"aws-appmesh-route.tcproute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html",
             "${1:myAWSAppMeshRoute.TcpRoute}:",
             "  Type: AWS::AppMesh::Route.TcpRoute",
             "  Properties:",
@@ -7702,6 +8207,7 @@
     "aws-fsx-filesystem.lustreconfiguration":{
         "prefix":"aws-fsx-filesystem.lustreconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html",
             "${1:myAWSFSxFileSystem.LustreConfiguration}:",
             "  Type: AWS::FSx::FileSystem.LustreConfiguration",
             "  Properties:",
@@ -7716,6 +8222,7 @@
     "aws-cloudfront-streamingdistribution.trustedsigners":{
         "prefix":"aws-cloudfront-streamingdistribution.trustedsigners",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html",
             "${1:myAWSCloudFrontStreamingDistribution.TrustedSigners}:",
             "  Type: AWS::CloudFront::StreamingDistribution.TrustedSigners",
             "  Properties:",
@@ -7728,6 +8235,7 @@
     "aws-ec2-launchtemplate.blockdevicemapping":{
         "prefix":"aws-ec2-launchtemplate.blockdevicemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html",
             "${1:myAWSEC2LaunchTemplate.BlockDeviceMapping}:",
             "  Type: AWS::EC2::LaunchTemplate.BlockDeviceMapping",
             "  Properties:",
@@ -7742,6 +8250,7 @@
     "aws-elasticbeanstalk-application.applicationresourcelifecycleconfig":{
         "prefix":"aws-elasticbeanstalk-application.applicationresourcelifecycleconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html",
             "${1:myAWSElasticBeanstalkApplication.ApplicationResourceLifecycleConfig}:",
             "  Type: AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig",
             "  Properties:",
@@ -7754,6 +8263,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.jsonmappingparameters":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.jsonmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.JSONMappingParameters}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters",
             "  Properties:",
@@ -7765,6 +8275,7 @@
     "aws-ec2-launchtemplate.spotoptions":{
         "prefix":"aws-ec2-launchtemplate.spotoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html",
             "${1:myAWSEC2LaunchTemplate.SpotOptions}:",
             "  Type: AWS::EC2::LaunchTemplate.SpotOptions",
             "  Properties:",
@@ -7778,6 +8289,7 @@
     "aws-kinesisfirehose-deliverystream.bufferinghints":{
         "prefix":"aws-kinesisfirehose-deliverystream.bufferinghints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.BufferingHints}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.BufferingHints",
             "  Properties:",
@@ -7790,6 +8302,7 @@
     "aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.cloudwatchloggingoption":{
         "prefix":"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.cloudwatchloggingoption",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption",
             "  Properties:",
@@ -7801,6 +8314,7 @@
     "aws-iotanalytics-dataset.outputfileurivalue":{
         "prefix":"aws-iotanalytics-dataset.outputfileurivalue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-outputfileurivalue.html",
             "${1:myAWSIoTAnalyticsDataset.OutputFileUriValue}:",
             "  Type: AWS::IoTAnalytics::Dataset.OutputFileUriValue",
             "  Properties:",
@@ -7812,6 +8326,7 @@
     "aws-s3-bucket.accesscontroltranslation":{
         "prefix":"aws-s3-bucket.accesscontroltranslation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html",
             "${1:myAWSS3Bucket.AccessControlTranslation}:",
             "  Type: AWS::S3::Bucket.AccessControlTranslation",
             "  Properties:",
@@ -7823,6 +8338,7 @@
     "aws-greengrass-coredefinitionversion.core":{
         "prefix":"aws-greengrass-coredefinitionversion.core",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html",
             "${1:myAWSGreengrassCoreDefinitionVersion.Core}:",
             "  Type: AWS::Greengrass::CoreDefinitionVersion.Core",
             "  Properties:",
@@ -7837,6 +8353,7 @@
     "aws-robomaker-robotapplication.robotsoftwaresuite":{
         "prefix":"aws-robomaker-robotapplication.robotsoftwaresuite",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html",
             "${1:myAWSRoboMakerRobotApplication.RobotSoftwareSuite}:",
             "  Type: AWS::RoboMaker::RobotApplication.RobotSoftwareSuite",
             "  Properties:",
@@ -7849,6 +8366,7 @@
     "aws-codepipeline-pipeline.artifactstoremap":{
         "prefix":"aws-codepipeline-pipeline.artifactstoremap",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html",
             "${1:myAWSCodePipelinePipeline.ArtifactStoreMap}:",
             "  Type: AWS::CodePipeline::Pipeline.ArtifactStoreMap",
             "  Properties:",
@@ -7861,6 +8379,7 @@
     "aws-greengrass-resourcedefinitionversion.resourceinstance":{
         "prefix":"aws-greengrass-resourcedefinitionversion.resourceinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.ResourceInstance}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance",
             "  Properties:",
@@ -7874,6 +8393,7 @@
     "aws-wafregional-rule.predicate":{
         "prefix":"aws-wafregional-rule.predicate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html",
             "${1:myAWSWAFRegionalRule.Predicate}:",
             "  Type: AWS::WAFRegional::Rule.Predicate",
             "  Properties:",
@@ -7887,6 +8407,7 @@
     "aws-glue-job.connectionslist":{
         "prefix":"aws-glue-job.connectionslist",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html",
             "${1:myAWSGlueJob.ConnectionsList}:",
             "  Type: AWS::Glue::Job.ConnectionsList",
             "  Properties:",
@@ -7898,6 +8419,7 @@
     "aws-elasticloadbalancingv2-listenerrule.authenticateoidcconfig":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule.authenticateoidcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule.AuthenticateOidcConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig",
             "  Properties:",
@@ -7919,6 +8441,7 @@
     "aws-ec2-spotfleet.spotplacement":{
         "prefix":"aws-ec2-spotfleet.spotplacement",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html",
             "${1:myAWSEC2SpotFleet.SpotPlacement}:",
             "  Type: AWS::EC2::SpotFleet.SpotPlacement",
             "  Properties:",
@@ -7932,6 +8455,7 @@
     "aws-cloudfront-distribution.defaultcachebehavior":{
         "prefix":"aws-cloudfront-distribution.defaultcachebehavior",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html",
             "${1:myAWSCloudFrontDistribution.DefaultCacheBehavior}:",
             "  Type: AWS::CloudFront::Distribution.DefaultCacheBehavior",
             "  Properties:",
@@ -7955,6 +8479,7 @@
     "aws-greengrass-functiondefinition.functionconfiguration":{
         "prefix":"aws-greengrass-functiondefinition.functionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html",
             "${1:myAWSGreengrassFunctionDefinition.FunctionConfiguration}:",
             "  Type: AWS::Greengrass::FunctionDefinition.FunctionConfiguration",
             "  Properties:",
@@ -7972,6 +8497,7 @@
     "aws-iotanalytics-dataset.variable":{
         "prefix":"aws-iotanalytics-dataset.variable",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html",
             "${1:myAWSIoTAnalyticsDataset.Variable}:",
             "  Type: AWS::IoTAnalytics::Dataset.Variable",
             "  Properties:",
@@ -7987,6 +8513,7 @@
     "aws-ec2-launchtemplate.capacityreservationpreference":{
         "prefix":"aws-ec2-launchtemplate.capacityreservationpreference",
         "body":[
+            "# ",
             "${1:myAWSEC2LaunchTemplate.CapacityReservationPreference}:",
             "  Type: AWS::EC2::LaunchTemplate.CapacityReservationPreference",
             "  Properties:"
@@ -7997,6 +8524,7 @@
     "aws-codepipeline-customactiontype.artifactdetails":{
         "prefix":"aws-codepipeline-customactiontype.artifactdetails",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-artifactdetails.html",
             "${1:myAWSCodePipelineCustomActionType.ArtifactDetails}:",
             "  Type: AWS::CodePipeline::CustomActionType.ArtifactDetails",
             "  Properties:",
@@ -8009,6 +8537,7 @@
     "aws-greengrass-loggerdefinitionversion.logger":{
         "prefix":"aws-greengrass-loggerdefinitionversion.logger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html",
             "${1:myAWSGreengrassLoggerDefinitionVersion.Logger}:",
             "  Type: AWS::Greengrass::LoggerDefinitionVersion.Logger",
             "  Properties:",
@@ -8024,6 +8553,7 @@
     "aws-s3-bucket.versioningconfiguration":{
         "prefix":"aws-s3-bucket.versioningconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html",
             "${1:myAWSS3Bucket.VersioningConfiguration}:",
             "  Type: AWS::S3::Bucket.VersioningConfiguration",
             "  Properties:",
@@ -8035,6 +8565,7 @@
     "aws-codedeploy-deploymentgroup.githublocation":{
         "prefix":"aws-codedeploy-deploymentgroup.githublocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html",
             "${1:myAWSCodeDeployDeploymentGroup.GitHubLocation}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.GitHubLocation",
             "  Properties:",
@@ -8047,6 +8578,7 @@
     "aws-kinesisanalytics-application.csvmappingparameters":{
         "prefix":"aws-kinesisanalytics-application.csvmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-csvmappingparameters.html",
             "${1:myAWSKinesisAnalyticsApplication.CSVMappingParameters}:",
             "  Type: AWS::KinesisAnalytics::Application.CSVMappingParameters",
             "  Properties:",
@@ -8059,6 +8591,7 @@
     "aws-codedeploy-deploymentgroup.targetgroupinfo":{
         "prefix":"aws-codedeploy-deploymentgroup.targetgroupinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-targetgroupinfo.html",
             "${1:myAWSCodeDeployDeploymentGroup.TargetGroupInfo}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo",
             "  Properties:",
@@ -8070,6 +8603,7 @@
     "aws-greengrass-functiondefinitionversion.runas":{
         "prefix":"aws-greengrass-functiondefinitionversion.runas",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.RunAs}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.RunAs",
             "  Properties:",
@@ -8082,6 +8616,7 @@
     "aws-ec2-networkinterface.instanceipv6address":{
         "prefix":"aws-ec2-networkinterface.instanceipv6address",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-instanceipv6address.html",
             "${1:myAWSEC2NetworkInterface.InstanceIpv6Address}:",
             "  Type: AWS::EC2::NetworkInterface.InstanceIpv6Address",
             "  Properties:",
@@ -8093,6 +8628,7 @@
     "aws-elasticbeanstalk-applicationversion.sourcebundle":{
         "prefix":"aws-elasticbeanstalk-applicationversion.sourcebundle",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-sourcebundle.html",
             "${1:myAWSElasticBeanstalkApplicationVersion.SourceBundle}:",
             "  Type: AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle",
             "  Properties:",
@@ -8105,6 +8641,7 @@
     "aws-emr-step.keyvalue":{
         "prefix":"aws-emr-step.keyvalue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html",
             "${1:myAWSEMRStep.KeyValue}:",
             "  Type: AWS::EMR::Step.KeyValue",
             "  Properties:",
@@ -8117,6 +8654,7 @@
     "aws-ses-configurationseteventdestination.eventdestination":{
         "prefix":"aws-ses-configurationseteventdestination.eventdestination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html",
             "${1:myAWSSESConfigurationSetEventDestination.EventDestination}:",
             "  Type: AWS::SES::ConfigurationSetEventDestination.EventDestination",
             "  Properties:",
@@ -8132,6 +8670,7 @@
     "aws-autoscalingplans-scalingplan.customizedscalingmetricspecification":{
         "prefix":"aws-autoscalingplans-scalingplan.customizedscalingmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html",
             "${1:myAWSAutoScalingPlansScalingPlan.CustomizedScalingMetricSpecification}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification",
             "  Properties:",
@@ -8147,6 +8686,7 @@
     "aws-iotanalytics-dataset.filter":{
         "prefix":"aws-iotanalytics-dataset.filter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-filter.html",
             "${1:myAWSIoTAnalyticsDataset.Filter}:",
             "  Type: AWS::IoTAnalytics::Dataset.Filter",
             "  Properties:",
@@ -8158,6 +8698,7 @@
     "aws-route53-hostedzone.hostedzonetag":{
         "prefix":"aws-route53-hostedzone.hostedzonetag",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetags.html",
             "${1:myAWSRoute53HostedZone.HostedZoneTag}:",
             "  Type: AWS::Route53::HostedZone.HostedZoneTag",
             "  Properties:",
@@ -8170,6 +8711,7 @@
     "aws-robomaker-simulationapplication.renderingengine":{
         "prefix":"aws-robomaker-simulationapplication.renderingengine",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-renderingengine.html",
             "${1:myAWSRoboMakerSimulationApplication.RenderingEngine}:",
             "  Type: AWS::RoboMaker::SimulationApplication.RenderingEngine",
             "  Properties:",
@@ -8182,6 +8724,7 @@
     "aws-opsworks-app.environmentvariable":{
         "prefix":"aws-opsworks-app.environmentvariable",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html",
             "${1:myAWSOpsWorksApp.EnvironmentVariable}:",
             "  Type: AWS::OpsWorks::App.EnvironmentVariable",
             "  Properties:",
@@ -8195,6 +8738,7 @@
     "aws-apigateway-stage.canarysetting":{
         "prefix":"aws-apigateway-stage.canarysetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html",
             "${1:myAWSApiGatewayStage.CanarySetting}:",
             "  Type: AWS::ApiGateway::Stage.CanarySetting",
             "  Properties:",
@@ -8209,6 +8753,7 @@
     "aws-appmesh-virtualnode.fileaccesslog":{
         "prefix":"aws-appmesh-virtualnode.fileaccesslog",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html",
             "${1:myAWSAppMeshVirtualNode.FileAccessLog}:",
             "  Type: AWS::AppMesh::VirtualNode.FileAccessLog",
             "  Properties:",
@@ -8220,6 +8765,7 @@
     "aws-elasticloadbalancingv2-listenerrule.authenticatecognitoconfig":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule.authenticatecognitoconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule.AuthenticateCognitoConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig",
             "  Properties:",
@@ -8238,6 +8784,7 @@
     "aws-elasticloadbalancingv2-listenerrule.fixedresponseconfig":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule.fixedresponseconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule.FixedResponseConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig",
             "  Properties:",
@@ -8251,6 +8798,7 @@
     "aws-s3-bucket.notificationconfiguration":{
         "prefix":"aws-s3-bucket.notificationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html",
             "${1:myAWSS3Bucket.NotificationConfiguration}:",
             "  Type: AWS::S3::Bucket.NotificationConfiguration",
             "  Properties:",
@@ -8264,6 +8812,7 @@
     "aws-emr-instancefleetconfig.ebsconfiguration":{
         "prefix":"aws-emr-instancefleetconfig.ebsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html",
             "${1:myAWSEMRInstanceFleetConfig.EbsConfiguration}:",
             "  Type: AWS::EMR::InstanceFleetConfig.EbsConfiguration",
             "  Properties:",
@@ -8276,6 +8825,7 @@
     "aws-logs-metricfilter.metrictransformation":{
         "prefix":"aws-logs-metricfilter.metrictransformation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html",
             "${1:myAWSLogsMetricFilter.MetricTransformation}:",
             "  Type: AWS::Logs::MetricFilter.MetricTransformation",
             "  Properties:",
@@ -8290,6 +8840,7 @@
     "aws-ec2-spotfleet.ebsblockdevice":{
         "prefix":"aws-ec2-spotfleet.ebsblockdevice",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html",
             "${1:myAWSEC2SpotFleet.EbsBlockDevice}:",
             "  Type: AWS::EC2::SpotFleet.EbsBlockDevice",
             "  Properties:",
@@ -8306,6 +8857,7 @@
     "aws-codebuild-project.sourceauth":{
         "prefix":"aws-codebuild-project.sourceauth",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html",
             "${1:myAWSCodeBuildProject.SourceAuth}:",
             "  Type: AWS::CodeBuild::Project.SourceAuth",
             "  Properties:",
@@ -8318,6 +8870,7 @@
     "aws-glue-crawler.targets":{
         "prefix":"aws-glue-crawler.targets",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html",
             "${1:myAWSGlueCrawler.Targets}:",
             "  Type: AWS::Glue::Crawler.Targets",
             "  Properties:",
@@ -8330,6 +8883,7 @@
     "aws-ecs-service.placementstrategy":{
         "prefix":"aws-ecs-service.placementstrategy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html",
             "${1:myAWSECSService.PlacementStrategy}:",
             "  Type: AWS::ECS::Service.PlacementStrategy",
             "  Properties:",
@@ -8342,6 +8896,7 @@
     "aws-cloudfront-distribution.restrictions":{
         "prefix":"aws-cloudfront-distribution.restrictions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html",
             "${1:myAWSCloudFrontDistribution.Restrictions}:",
             "  Type: AWS::CloudFront::Distribution.Restrictions",
             "  Properties:",
@@ -8353,6 +8908,7 @@
     "aws-route53-recordsetgroup.recordset":{
         "prefix":"aws-route53-recordsetgroup.recordset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html",
             "${1:myAWSRoute53RecordSetGroup.RecordSet}:",
             "  Type: AWS::Route53::RecordSetGroup.RecordSet",
             "  Properties:",
@@ -8378,6 +8934,7 @@
     "aws-batch-computeenvironment.computeresources":{
         "prefix":"aws-batch-computeenvironment.computeresources",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html",
             "${1:myAWSBatchComputeEnvironment.ComputeResources}:",
             "  Type: AWS::Batch::ComputeEnvironment.ComputeResources",
             "  Properties:",
@@ -8403,6 +8960,7 @@
     "aws-greengrass-resourcedefinitionversion.sagemakermachinelearningmodelresourcedata":{
         "prefix":"aws-greengrass-resourcedefinitionversion.sagemakermachinelearningmodelresourcedata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.SageMakerMachineLearningModelResourceData}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData",
             "  Properties:",
@@ -8415,6 +8973,7 @@
     "aws-elasticloadbalancingv2-listenerrule.action":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule.Action}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.Action",
             "  Properties:",
@@ -8432,6 +8991,7 @@
     "aws-ec2-spotfleet.loadbalancersconfig":{
         "prefix":"aws-ec2-spotfleet.loadbalancersconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html",
             "${1:myAWSEC2SpotFleet.LoadBalancersConfig}:",
             "  Type: AWS::EC2::SpotFleet.LoadBalancersConfig",
             "  Properties:",
@@ -8444,6 +9004,7 @@
     "aws-kinesisfirehose-deliverystream.processorparameter":{
         "prefix":"aws-kinesisfirehose-deliverystream.processorparameter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.ProcessorParameter}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.ProcessorParameter",
             "  Properties:",
@@ -8456,6 +9017,7 @@
     "aws-apigateway-apikey.stagekey":{
         "prefix":"aws-apigateway-apikey.stagekey",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html",
             "${1:myAWSApiGatewayApiKey.StageKey}:",
             "  Type: AWS::ApiGateway::ApiKey.StageKey",
             "  Properties:",
@@ -8468,6 +9030,7 @@
     "aws-s3-bucket.serversideencryptionbydefault":{
         "prefix":"aws-s3-bucket.serversideencryptionbydefault",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html",
             "${1:myAWSS3Bucket.ServerSideEncryptionByDefault}:",
             "  Type: AWS::S3::Bucket.ServerSideEncryptionByDefault",
             "  Properties:",
@@ -8480,6 +9043,7 @@
     "aws-emr-cluster.ebsblockdeviceconfig":{
         "prefix":"aws-emr-cluster.ebsblockdeviceconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsblockdeviceconfig.html",
             "${1:myAWSEMRCluster.EbsBlockDeviceConfig}:",
             "  Type: AWS::EMR::Cluster.EbsBlockDeviceConfig",
             "  Properties:",
@@ -8492,6 +9056,7 @@
     "aws-codedeploy-deploymentgroup.elbinfo":{
         "prefix":"aws-codedeploy-deploymentgroup.elbinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-elbinfo.html",
             "${1:myAWSCodeDeployDeploymentGroup.ELBInfo}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.ELBInfo",
             "  Properties:",
@@ -8503,6 +9068,7 @@
     "aws-appmesh-mesh.tagref":{
         "prefix":"aws-appmesh-mesh.tagref",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-tagref.html",
             "${1:myAWSAppMeshMesh.TagRef}:",
             "  Type: AWS::AppMesh::Mesh.TagRef",
             "  Properties:",
@@ -8515,6 +9081,7 @@
     "aws-events-rule.runcommandtarget":{
         "prefix":"aws-events-rule.runcommandtarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html",
             "${1:myAWSEventsRule.RunCommandTarget}:",
             "  Type: AWS::Events::Rule.RunCommandTarget",
             "  Properties:",
@@ -8527,6 +9094,7 @@
     "aws-appstream-stack.applicationsettings":{
         "prefix":"aws-appstream-stack.applicationsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html",
             "${1:myAWSAppStreamStack.ApplicationSettings}:",
             "  Type: AWS::AppStream::Stack.ApplicationSettings",
             "  Properties:",
@@ -8539,6 +9107,7 @@
     "aws-apigateway-deployment.stagedescription":{
         "prefix":"aws-apigateway-deployment.stagedescription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html",
             "${1:myAWSApiGatewayDeployment.StageDescription}:",
             "  Type: AWS::ApiGateway::Deployment.StageDescription",
             "  Properties:",
@@ -8568,6 +9137,7 @@
     "aws-ec2-spotfleet.fleetlaunchtemplatespecification":{
         "prefix":"aws-ec2-spotfleet.fleetlaunchtemplatespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html",
             "${1:myAWSEC2SpotFleet.FleetLaunchTemplateSpecification}:",
             "  Type: AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification",
             "  Properties:",
@@ -8581,6 +9151,7 @@
     "aws-s3-bucket.redirectallrequeststo":{
         "prefix":"aws-s3-bucket.redirectallrequeststo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html",
             "${1:myAWSS3Bucket.RedirectAllRequestsTo}:",
             "  Type: AWS::S3::Bucket.RedirectAllRequestsTo",
             "  Properties:",
@@ -8593,6 +9164,7 @@
     "aws-waf-xssmatchset.xssmatchtuple":{
         "prefix":"aws-waf-xssmatchset.xssmatchtuple",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple.html",
             "${1:myAWSWAFXssMatchSet.XssMatchTuple}:",
             "  Type: AWS::WAF::XssMatchSet.XssMatchTuple",
             "  Properties:",
@@ -8605,6 +9177,7 @@
     "aws-iotanalytics-pipeline.selectattributes":{
         "prefix":"aws-iotanalytics-pipeline.selectattributes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html",
             "${1:myAWSIoTAnalyticsPipeline.SelectAttributes}:",
             "  Type: AWS::IoTAnalytics::Pipeline.SelectAttributes",
             "  Properties:",
@@ -8618,6 +9191,7 @@
     "aws-secretsmanager-rotationschedule.rotationrules":{
         "prefix":"aws-secretsmanager-rotationschedule.rotationrules",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html",
             "${1:myAWSSecretsManagerRotationSchedule.RotationRules}:",
             "  Type: AWS::SecretsManager::RotationSchedule.RotationRules",
             "  Properties:",
@@ -8629,6 +9203,7 @@
     "aws-codebuild-project.environment":{
         "prefix":"aws-codebuild-project.environment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html",
             "${1:myAWSCodeBuildProject.Environment}:",
             "  Type: AWS::CodeBuild::Project.Environment",
             "  Properties:",
@@ -8647,6 +9222,7 @@
     "aws-s3-bucket.s3keyfilter":{
         "prefix":"aws-s3-bucket.s3keyfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html",
             "${1:myAWSS3Bucket.S3KeyFilter}:",
             "  Type: AWS::S3::Bucket.S3KeyFilter",
             "  Properties:",
@@ -8658,6 +9234,7 @@
     "aws-appstream-fleet.domainjoininfo":{
         "prefix":"aws-appstream-fleet.domainjoininfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html",
             "${1:myAWSAppStreamFleet.DomainJoinInfo}:",
             "  Type: AWS::AppStream::Fleet.DomainJoinInfo",
             "  Properties:",
@@ -8670,6 +9247,7 @@
     "aws-ses-template.template":{
         "prefix":"aws-ses-template.template",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html",
             "${1:myAWSSESTemplate.Template}:",
             "  Type: AWS::SES::Template.Template",
             "  Properties:",
@@ -8684,6 +9262,7 @@
     "aws-elasticloadbalancing-loadbalancer.lbcookiestickinesspolicy":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.lbcookiestickinesspolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.LBCookieStickinessPolicy}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy",
             "  Properties:",
@@ -8696,6 +9275,7 @@
     "aws-ec2-instance.volume":{
         "prefix":"aws-ec2-instance.volume",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html",
             "${1:myAWSEC2Instance.Volume}:",
             "  Type: AWS::EC2::Instance.Volume",
             "  Properties:",
@@ -8708,6 +9288,7 @@
     "aws-ec2-networkaclentry.portrange":{
         "prefix":"aws-ec2-networkaclentry.portrange",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html",
             "${1:myAWSEC2NetworkAclEntry.PortRange}:",
             "  Type: AWS::EC2::NetworkAclEntry.PortRange",
             "  Properties:",
@@ -8720,6 +9301,7 @@
     "aws-glue-connection.connectioninput":{
         "prefix":"aws-glue-connection.connectioninput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html",
             "${1:myAWSGlueConnection.ConnectionInput}:",
             "  Type: AWS::Glue::Connection.ConnectionInput",
             "  Properties:",
@@ -8736,6 +9318,7 @@
     "aws-cloudfront-distribution.origin":{
         "prefix":"aws-cloudfront-distribution.origin",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html",
             "${1:myAWSCloudFrontDistribution.Origin}:",
             "  Type: AWS::CloudFront::Distribution.Origin",
             "  Properties:",
@@ -8752,6 +9335,7 @@
     "aws-route53-hostedzone.hostedzoneconfig":{
         "prefix":"aws-route53-hostedzone.hostedzoneconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html",
             "${1:myAWSRoute53HostedZone.HostedZoneConfig}:",
             "  Type: AWS::Route53::HostedZone.HostedZoneConfig",
             "  Properties:",
@@ -8763,6 +9347,7 @@
     "aws-events-rule.inputtransformer":{
         "prefix":"aws-events-rule.inputtransformer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html",
             "${1:myAWSEventsRule.InputTransformer}:",
             "  Type: AWS::Events::Rule.InputTransformer",
             "  Properties:",
@@ -8775,6 +9360,7 @@
     "aws-iot-topicrule.firehoseaction":{
         "prefix":"aws-iot-topicrule.firehoseaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html",
             "${1:myAWSIoTTopicRule.FirehoseAction}:",
             "  Type: AWS::IoT::TopicRule.FirehoseAction",
             "  Properties:",
@@ -8788,6 +9374,7 @@
     "aws-ssm-maintenancewindowtask.logginginfo":{
         "prefix":"aws-ssm-maintenancewindowtask.logginginfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html",
             "${1:myAWSSSMMaintenanceWindowTask.LoggingInfo}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.LoggingInfo",
             "  Properties:",
@@ -8801,6 +9388,7 @@
     "aws-s3-bucket.inventoryconfiguration":{
         "prefix":"aws-s3-bucket.inventoryconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html",
             "${1:myAWSS3Bucket.InventoryConfiguration}:",
             "  Type: AWS::S3::Bucket.InventoryConfiguration",
             "  Properties:",
@@ -8818,6 +9406,7 @@
     "aws-workspaces-workspace.workspaceproperties":{
         "prefix":"aws-workspaces-workspace.workspaceproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html",
             "${1:myAWSWorkSpacesWorkspace.WorkspaceProperties}:",
             "  Type: AWS::WorkSpaces::Workspace.WorkspaceProperties",
             "  Properties:",
@@ -8833,6 +9422,7 @@
     "aws-greengrass-functiondefinition.environment":{
         "prefix":"aws-greengrass-functiondefinition.environment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html",
             "${1:myAWSGreengrassFunctionDefinition.Environment}:",
             "  Type: AWS::Greengrass::FunctionDefinition.Environment",
             "  Properties:",
@@ -8847,6 +9437,7 @@
     "aws-ecs-taskdefinition.volumefrom":{
         "prefix":"aws-ecs-taskdefinition.volumefrom",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html",
             "${1:myAWSECSTaskDefinition.VolumeFrom}:",
             "  Type: AWS::ECS::TaskDefinition.VolumeFrom",
             "  Properties:",
@@ -8859,6 +9450,7 @@
     "aws-iotanalytics-dataset.deltatime":{
         "prefix":"aws-iotanalytics-dataset.deltatime",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatime.html",
             "${1:myAWSIoTAnalyticsDataset.DeltaTime}:",
             "  Type: AWS::IoTAnalytics::Dataset.DeltaTime",
             "  Properties:",
@@ -8871,6 +9463,7 @@
     "aws-dms-endpoint.mongodbsettings":{
         "prefix":"aws-dms-endpoint.mongodbsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html",
             "${1:myAWSDMSEndpoint.MongoDbSettings}:",
             "  Type: AWS::DMS::Endpoint.MongoDbSettings",
             "  Properties:",
@@ -8892,6 +9485,7 @@
     "aws-ssm-maintenancewindowtask.target":{
         "prefix":"aws-ssm-maintenancewindowtask.target",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html",
             "${1:myAWSSSMMaintenanceWindowTask.Target}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.Target",
             "  Properties:",
@@ -8904,6 +9498,7 @@
     "aws-appstream-directoryconfig.serviceaccountcredentials":{
         "prefix":"aws-appstream-directoryconfig.serviceaccountcredentials",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html",
             "${1:myAWSAppStreamDirectoryConfig.ServiceAccountCredentials}:",
             "  Type: AWS::AppStream::DirectoryConfig.ServiceAccountCredentials",
             "  Properties:",
@@ -8916,6 +9511,7 @@
     "aws-sns-topic.subscription":{
         "prefix":"aws-sns-topic.subscription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html",
             "${1:myAWSSNSTopic.Subscription}:",
             "  Type: AWS::SNS::Topic.Subscription",
             "  Properties:",
@@ -8928,6 +9524,7 @@
     "aws-kinesisanalyticsv2-application.propertygroup":{
         "prefix":"aws-kinesisanalyticsv2-application.propertygroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html",
             "${1:myAWSKinesisAnalyticsV2Application.PropertyGroup}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.PropertyGroup",
             "  Properties:",
@@ -8940,6 +9537,7 @@
     "aws-codedeploy-deploymentgroup.onpremisestagsetlistobject":{
         "prefix":"aws-codedeploy-deploymentgroup.onpremisestagsetlistobject",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html",
             "${1:myAWSCodeDeployDeploymentGroup.OnPremisesTagSetListObject}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject",
             "  Properties:",
@@ -8951,6 +9549,7 @@
     "aws-s3-bucket.replicationconfiguration":{
         "prefix":"aws-s3-bucket.replicationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html",
             "${1:myAWSS3Bucket.ReplicationConfiguration}:",
             "  Type: AWS::S3::Bucket.ReplicationConfiguration",
             "  Properties:",
@@ -8963,6 +9562,7 @@
     "aws-kinesisanalytics-application.input":{
         "prefix":"aws-kinesisanalytics-application.input",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html",
             "${1:myAWSKinesisAnalyticsApplication.Input}:",
             "  Type: AWS::KinesisAnalytics::Application.Input",
             "  Properties:",
@@ -8979,6 +9579,7 @@
     "aws-kinesisanalytics-application.inputschema":{
         "prefix":"aws-kinesisanalytics-application.inputschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html",
             "${1:myAWSKinesisAnalyticsApplication.InputSchema}:",
             "  Type: AWS::KinesisAnalytics::Application.InputSchema",
             "  Properties:",
@@ -8992,6 +9593,7 @@
     "aws-appsync-datasource.awsiamconfig":{
         "prefix":"aws-appsync-datasource.awsiamconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html",
             "${1:myAWSAppSyncDataSource.AwsIamConfig}:",
             "  Type: AWS::AppSync::DataSource.AwsIamConfig",
             "  Properties:",
@@ -9004,6 +9606,7 @@
     "aws-kinesisanalyticsv2-application.kinesisstreamsinput":{
         "prefix":"aws-kinesisanalyticsv2-application.kinesisstreamsinput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput.html",
             "${1:myAWSKinesisAnalyticsV2Application.KinesisStreamsInput}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput",
             "  Properties:",
@@ -9015,6 +9618,7 @@
     "aws-rds-dbinstance.processorfeature":{
         "prefix":"aws-rds-dbinstance.processorfeature",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html",
             "${1:myAWSRDSDBInstance.ProcessorFeature}:",
             "  Type: AWS::RDS::DBInstance.ProcessorFeature",
             "  Properties:",
@@ -9027,6 +9631,7 @@
     "aws-s3-bucket.ssekmsencryptedobjects":{
         "prefix":"aws-s3-bucket.ssekmsencryptedobjects",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html",
             "${1:myAWSS3Bucket.SseKmsEncryptedObjects}:",
             "  Type: AWS::S3::Bucket.SseKmsEncryptedObjects",
             "  Properties:",
@@ -9038,6 +9643,7 @@
     "aws-applicationautoscaling-scalingpolicy.predefinedmetricspecification":{
         "prefix":"aws-applicationautoscaling-scalingpolicy.predefinedmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy.PredefinedMetricSpecification}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification",
             "  Properties:",
@@ -9050,6 +9656,7 @@
     "aws-ecs-taskdefinition.hostentry":{
         "prefix":"aws-ecs-taskdefinition.hostentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html",
             "${1:myAWSECSTaskDefinition.HostEntry}:",
             "  Type: AWS::ECS::TaskDefinition.HostEntry",
             "  Properties:",
@@ -9062,6 +9669,7 @@
     "aws-cognito-userpool.emailconfiguration":{
         "prefix":"aws-cognito-userpool.emailconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html",
             "${1:myAWSCognitoUserPool.EmailConfiguration}:",
             "  Type: AWS::Cognito::UserPool.EmailConfiguration",
             "  Properties:",
@@ -9074,6 +9682,7 @@
     "aws-s3-bucket.queueconfiguration":{
         "prefix":"aws-s3-bucket.queueconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html",
             "${1:myAWSS3Bucket.QueueConfiguration}:",
             "  Type: AWS::S3::Bucket.QueueConfiguration",
             "  Properties:",
@@ -9087,6 +9696,7 @@
     "aws-emr-instancegroupconfig.scalingaction":{
         "prefix":"aws-emr-instancegroupconfig.scalingaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html",
             "${1:myAWSEMRInstanceGroupConfig.ScalingAction}:",
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingAction",
             "  Properties:",
@@ -9099,6 +9709,7 @@
     "aws-elasticloadbalancing-loadbalancer.listeners":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.listeners",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.Listeners}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.Listeners",
             "  Properties:",
@@ -9115,6 +9726,7 @@
     "aws-codepipeline-webhook.webhookfilterrule":{
         "prefix":"aws-codepipeline-webhook.webhookfilterrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookfilterrule.html",
             "${1:myAWSCodePipelineWebhook.WebhookFilterRule}:",
             "  Type: AWS::CodePipeline::Webhook.WebhookFilterRule",
             "  Properties:",
@@ -9127,6 +9739,7 @@
     "aws-emr-instancegroupconfig.scalingtrigger":{
         "prefix":"aws-emr-instancegroupconfig.scalingtrigger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingtrigger.html",
             "${1:myAWSEMRInstanceGroupConfig.ScalingTrigger}:",
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingTrigger",
             "  Properties:",
@@ -9138,6 +9751,7 @@
     "aws-amazonmq-broker.maintenancewindow":{
         "prefix":"aws-amazonmq-broker.maintenancewindow",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html",
             "${1:myAWSAmazonMQBroker.MaintenanceWindow}:",
             "  Type: AWS::AmazonMQ::Broker.MaintenanceWindow",
             "  Properties:",
@@ -9151,6 +9765,7 @@
     "aws-glue-connection.physicalconnectionrequirements":{
         "prefix":"aws-glue-connection.physicalconnectionrequirements",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html",
             "${1:myAWSGlueConnection.PhysicalConnectionRequirements}:",
             "  Type: AWS::Glue::Connection.PhysicalConnectionRequirements",
             "  Properties:",
@@ -9164,6 +9779,7 @@
     "aws-elasticloadbalancingv2-loadbalancer.loadbalancerattribute":{
         "prefix":"aws-elasticloadbalancingv2-loadbalancer.loadbalancerattribute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html",
             "${1:myAWSElasticLoadBalancingV2LoadBalancer.LoadBalancerAttribute}:",
             "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute",
             "  Properties:",
@@ -9176,6 +9792,7 @@
     "aws-ec2-spotfleet.targetgroup":{
         "prefix":"aws-ec2-spotfleet.targetgroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html",
             "${1:myAWSEC2SpotFleet.TargetGroup}:",
             "  Type: AWS::EC2::SpotFleet.TargetGroup",
             "  Properties:",
@@ -9187,6 +9804,7 @@
     "aws-ec2-launchtemplate.elasticgpuspecification":{
         "prefix":"aws-ec2-launchtemplate.elasticgpuspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html",
             "${1:myAWSEC2LaunchTemplate.ElasticGpuSpecification}:",
             "  Type: AWS::EC2::LaunchTemplate.ElasticGpuSpecification",
             "  Properties:",
@@ -9198,6 +9816,7 @@
     "aws-ec2-ec2fleet.ondemandoptionsrequest":{
         "prefix":"aws-ec2-ec2fleet.ondemandoptionsrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html",
             "${1:myAWSEC2EC2Fleet.OnDemandOptionsRequest}:",
             "  Type: AWS::EC2::EC2Fleet.OnDemandOptionsRequest",
             "  Properties:",
@@ -9209,6 +9828,7 @@
     "aws-ecs-taskdefinition.taskdefinitionplacementconstraint":{
         "prefix":"aws-ecs-taskdefinition.taskdefinitionplacementconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html",
             "${1:myAWSECSTaskDefinition.TaskDefinitionPlacementConstraint}:",
             "  Type: AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint",
             "  Properties:",
@@ -9221,6 +9841,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.recordformat":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.recordformat",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.RecordFormat}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat",
             "  Properties:",
@@ -9233,6 +9854,7 @@
     "aws-glue-crawler.jdbctarget":{
         "prefix":"aws-glue-crawler.jdbctarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html",
             "${1:myAWSGlueCrawler.JdbcTarget}:",
             "  Type: AWS::Glue::Crawler.JdbcTarget",
             "  Properties:",
@@ -9246,6 +9868,7 @@
     "aws-ec2-networkinterface.privateipaddressspecification":{
         "prefix":"aws-ec2-networkinterface.privateipaddressspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
             "${1:myAWSEC2NetworkInterface.PrivateIpAddressSpecification}:",
             "  Type: AWS::EC2::NetworkInterface.PrivateIpAddressSpecification",
             "  Properties:",
@@ -9258,6 +9881,7 @@
     "aws-codebuild-project.gitsubmodulesconfig":{
         "prefix":"aws-codebuild-project.gitsubmodulesconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html",
             "${1:myAWSCodeBuildProject.GitSubmodulesConfig}:",
             "  Type: AWS::CodeBuild::Project.GitSubmodulesConfig",
             "  Properties:",
@@ -9269,6 +9893,7 @@
     "aws-iot-topicrule.lambdaaction":{
         "prefix":"aws-iot-topicrule.lambdaaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html",
             "${1:myAWSIoTTopicRule.LambdaAction}:",
             "  Type: AWS::IoT::TopicRule.LambdaAction",
             "  Properties:",
@@ -9280,6 +9905,7 @@
     "aws-greengrass-functiondefinition.functiondefinitionversion":{
         "prefix":"aws-greengrass-functiondefinition.functiondefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html",
             "${1:myAWSGreengrassFunctionDefinition.FunctionDefinitionVersion}:",
             "  Type: AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion",
             "  Properties:",
@@ -9292,6 +9918,7 @@
     "aws-kinesisanalyticsv2-application.mappingparameters":{
         "prefix":"aws-kinesisanalyticsv2-application.mappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html",
             "${1:myAWSKinesisAnalyticsV2Application.MappingParameters}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.MappingParameters",
             "  Properties:",
@@ -9304,6 +9931,7 @@
     "aws-ecs-service.deploymentconfiguration":{
         "prefix":"aws-ecs-service.deploymentconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html",
             "${1:myAWSECSService.DeploymentConfiguration}:",
             "  Type: AWS::ECS::Service.DeploymentConfiguration",
             "  Properties:",
@@ -9316,6 +9944,7 @@
     "aws-batch-jobdefinition.mountpoints":{
         "prefix":"aws-batch-jobdefinition.mountpoints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html",
             "${1:myAWSBatchJobDefinition.MountPoints}:",
             "  Type: AWS::Batch::JobDefinition.MountPoints",
             "  Properties:",
@@ -9329,6 +9958,7 @@
     "aws-codedeploy-deploymentgroup.deploymentstyle":{
         "prefix":"aws-codedeploy-deploymentgroup.deploymentstyle",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html",
             "${1:myAWSCodeDeployDeploymentGroup.DeploymentStyle}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.DeploymentStyle",
             "  Properties:",
@@ -9341,6 +9971,7 @@
     "aws-cognito-userpool.admincreateuserconfig":{
         "prefix":"aws-cognito-userpool.admincreateuserconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html",
             "${1:myAWSCognitoUserPool.AdminCreateUserConfig}:",
             "  Type: AWS::Cognito::UserPool.AdminCreateUserConfig",
             "  Properties:",
@@ -9354,6 +9985,7 @@
     "aws-ec2-instance.ebs":{
         "prefix":"aws-ec2-instance.ebs",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html",
             "${1:myAWSEC2Instance.Ebs}:",
             "  Type: AWS::EC2::Instance.Ebs",
             "  Properties:",
@@ -9370,6 +10002,7 @@
     "aws-apigateway-deployment.canarysetting":{
         "prefix":"aws-apigateway-deployment.canarysetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html",
             "${1:myAWSApiGatewayDeployment.CanarySetting}:",
             "  Type: AWS::ApiGateway::Deployment.CanarySetting",
             "  Properties:",
@@ -9383,6 +10016,7 @@
     "aws-cognito-userpool.schemaattribute":{
         "prefix":"aws-cognito-userpool.schemaattribute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html",
             "${1:myAWSCognitoUserPool.SchemaAttribute}:",
             "  Type: AWS::Cognito::UserPool.SchemaAttribute",
             "  Properties:",
@@ -9400,6 +10034,7 @@
     "aws-codedeploy-deploymentgroup.alarm":{
         "prefix":"aws-codedeploy-deploymentgroup.alarm",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html",
             "${1:myAWSCodeDeployDeploymentGroup.Alarm}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.Alarm",
             "  Properties:",
@@ -9411,6 +10046,7 @@
     "aws-applicationautoscaling-scalingpolicy.customizedmetricspecification":{
         "prefix":"aws-applicationautoscaling-scalingpolicy.customizedmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy.CustomizedMetricSpecification}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification",
             "  Properties:",
@@ -9426,6 +10062,7 @@
     "aws-sagemaker-model.vpcconfig":{
         "prefix":"aws-sagemaker-model.vpcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-vpcconfig.html",
             "${1:myAWSSageMakerModel.VpcConfig}:",
             "  Type: AWS::SageMaker::Model.VpcConfig",
             "  Properties:",
@@ -9438,6 +10075,7 @@
     "aws-ec2-launchtemplate.tagspecification":{
         "prefix":"aws-ec2-launchtemplate.tagspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html",
             "${1:myAWSEC2LaunchTemplate.TagSpecification}:",
             "  Type: AWS::EC2::LaunchTemplate.TagSpecification",
             "  Properties:",
@@ -9450,6 +10088,7 @@
     "aws-opsworks-instance.blockdevicemapping":{
         "prefix":"aws-opsworks-instance.blockdevicemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html",
             "${1:myAWSOpsWorksInstance.BlockDeviceMapping}:",
             "  Type: AWS::OpsWorks::Instance.BlockDeviceMapping",
             "  Properties:",
@@ -9464,6 +10103,7 @@
     "aws-ec2-launchtemplate.iaminstanceprofile":{
         "prefix":"aws-ec2-launchtemplate.iaminstanceprofile",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html",
             "${1:myAWSEC2LaunchTemplate.IamInstanceProfile}:",
             "  Type: AWS::EC2::LaunchTemplate.IamInstanceProfile",
             "  Properties:",
@@ -9476,6 +10116,7 @@
     "aws-cognito-userpool.numberattributeconstraints":{
         "prefix":"aws-cognito-userpool.numberattributeconstraints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html",
             "${1:myAWSCognitoUserPool.NumberAttributeConstraints}:",
             "  Type: AWS::Cognito::UserPool.NumberAttributeConstraints",
             "  Properties:",
@@ -9488,6 +10129,7 @@
     "aws-kinesisanalyticsv2-application.checkpointconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.checkpointconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.CheckpointConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration",
             "  Properties:",
@@ -9502,6 +10144,7 @@
     "aws-appmesh-route.routespec":{
         "prefix":"aws-appmesh-route.routespec",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html",
             "${1:myAWSAppMeshRoute.RouteSpec}:",
             "  Type: AWS::AppMesh::Route.RouteSpec",
             "  Properties:",
@@ -9514,6 +10157,7 @@
     "aws-amazonmq-broker.loglist":{
         "prefix":"aws-amazonmq-broker.loglist",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html",
             "${1:myAWSAmazonMQBroker.LogList}:",
             "  Type: AWS::AmazonMQ::Broker.LogList",
             "  Properties:",
@@ -9526,6 +10170,7 @@
     "aws-amazonmq-broker.tagsentry":{
         "prefix":"aws-amazonmq-broker.tagsentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html",
             "${1:myAWSAmazonMQBroker.TagsEntry}:",
             "  Type: AWS::AmazonMQ::Broker.TagsEntry",
             "  Properties:",
@@ -9538,6 +10183,7 @@
     "aws-opsworks-instance.ebsblockdevice":{
         "prefix":"aws-opsworks-instance.ebsblockdevice",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html",
             "${1:myAWSOpsWorksInstance.EbsBlockDevice}:",
             "  Type: AWS::OpsWorks::Instance.EbsBlockDevice",
             "  Properties:",
@@ -9553,6 +10199,7 @@
     "aws-datapipeline-pipeline.pipelineobject":{
         "prefix":"aws-datapipeline-pipeline.pipelineobject",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html",
             "${1:myAWSDataPipelinePipeline.PipelineObject}:",
             "  Type: AWS::DataPipeline::Pipeline.PipelineObject",
             "  Properties:",
@@ -9566,6 +10213,7 @@
     "aws-apigateway-documentationpart.location":{
         "prefix":"aws-apigateway-documentationpart.location",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html",
             "${1:myAWSApiGatewayDocumentationPart.Location}:",
             "  Type: AWS::ApiGateway::DocumentationPart.Location",
             "  Properties:",
@@ -9581,6 +10229,7 @@
     "aws-ec2-instance.nodevice":{
         "prefix":"aws-ec2-instance.nodevice",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-nodevice.html",
             "${1:myAWSEC2Instance.NoDevice}:",
             "  Type: AWS::EC2::Instance.NoDevice",
             "  Properties:"
@@ -9591,6 +10240,7 @@
     "aws-autoscaling-scalingpolicy.stepadjustment":{
         "prefix":"aws-autoscaling-scalingpolicy.stepadjustment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html",
             "${1:myAWSAutoScalingScalingPolicy.StepAdjustment}:",
             "  Type: AWS::AutoScaling::ScalingPolicy.StepAdjustment",
             "  Properties:",
@@ -9604,6 +10254,7 @@
     "aws-iam-role.policy":{
         "prefix":"aws-iam-role.policy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
             "${1:myAWSIAMRole.Policy}:",
             "  Type: AWS::IAM::Role.Policy",
             "  Properties:",
@@ -9616,6 +10267,7 @@
     "aws-kinesisanalyticsv2-application.inputparallelism":{
         "prefix":"aws-kinesisanalyticsv2-application.inputparallelism",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputparallelism.html",
             "${1:myAWSKinesisAnalyticsV2Application.InputParallelism}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.InputParallelism",
             "  Properties:",
@@ -9627,6 +10279,7 @@
     "aws-batch-jobdefinition.environment":{
         "prefix":"aws-batch-jobdefinition.environment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html",
             "${1:myAWSBatchJobDefinition.Environment}:",
             "  Type: AWS::Batch::JobDefinition.Environment",
             "  Properties:",
@@ -9639,6 +10292,7 @@
     "aws-emr-cluster.cloudwatchalarmdefinition":{
         "prefix":"aws-emr-cluster.cloudwatchalarmdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html",
             "${1:myAWSEMRCluster.CloudWatchAlarmDefinition}:",
             "  Type: AWS::EMR::Cluster.CloudWatchAlarmDefinition",
             "  Properties:",
@@ -9658,6 +10312,7 @@
     "aws-glue-crawler.schedule":{
         "prefix":"aws-glue-crawler.schedule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html",
             "${1:myAWSGlueCrawler.Schedule}:",
             "  Type: AWS::Glue::Crawler.Schedule",
             "  Properties:",
@@ -9669,6 +10324,7 @@
     "aws-opsworks-stack.stackconfigurationmanager":{
         "prefix":"aws-opsworks-stack.stackconfigurationmanager",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html",
             "${1:myAWSOpsWorksStack.StackConfigurationManager}:",
             "  Type: AWS::OpsWorks::Stack.StackConfigurationManager",
             "  Properties:",
@@ -9681,6 +10337,7 @@
     "aws-cloudfront-streamingdistribution.s3origin":{
         "prefix":"aws-cloudfront-streamingdistribution.s3origin",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html",
             "${1:myAWSCloudFrontStreamingDistribution.S3Origin}:",
             "  Type: AWS::CloudFront::StreamingDistribution.S3Origin",
             "  Properties:",
@@ -9693,6 +10350,7 @@
     "aws-codebuild-project.vpcconfig":{
         "prefix":"aws-codebuild-project.vpcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html",
             "${1:myAWSCodeBuildProject.VpcConfig}:",
             "  Type: AWS::CodeBuild::Project.VpcConfig",
             "  Properties:",
@@ -9706,6 +10364,7 @@
     "aws-iot-topicrule.elasticsearchaction":{
         "prefix":"aws-iot-topicrule.elasticsearchaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html",
             "${1:myAWSIoTTopicRule.ElasticsearchAction}:",
             "  Type: AWS::IoT::TopicRule.ElasticsearchAction",
             "  Properties:",
@@ -9721,6 +10380,7 @@
     "aws-cognito-userpool.smsconfiguration":{
         "prefix":"aws-cognito-userpool.smsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html",
             "${1:myAWSCognitoUserPool.SmsConfiguration}:",
             "  Type: AWS::Cognito::UserPool.SmsConfiguration",
             "  Properties:",
@@ -9733,6 +10393,7 @@
     "aws-elasticbeanstalk-application.applicationversionlifecycleconfig":{
         "prefix":"aws-elasticbeanstalk-application.applicationversionlifecycleconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html",
             "${1:myAWSElasticBeanstalkApplication.ApplicationVersionLifecycleConfig}:",
             "  Type: AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig",
             "  Properties:",
@@ -9745,6 +10406,7 @@
     "aws-iotanalytics-dataset.trigger":{
         "prefix":"aws-iotanalytics-dataset.trigger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html",
             "${1:myAWSIoTAnalyticsDataset.Trigger}:",
             "  Type: AWS::IoTAnalytics::Dataset.Trigger",
             "  Properties:",
@@ -9757,6 +10419,7 @@
     "aws-elasticloadbalancingv2-targetgroup.matcher":{
         "prefix":"aws-elasticloadbalancingv2-targetgroup.matcher",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html",
             "${1:myAWSElasticLoadBalancingV2TargetGroup.Matcher}:",
             "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.Matcher",
             "  Properties:",
@@ -9768,6 +10431,7 @@
     "aws-iot-topicrule.dynamodbaction":{
         "prefix":"aws-iot-topicrule.dynamodbaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html",
             "${1:myAWSIoTTopicRule.DynamoDBAction}:",
             "  Type: AWS::IoT::TopicRule.DynamoDBAction",
             "  Properties:",
@@ -9787,6 +10451,7 @@
     "aws-iot1click-project.devicetemplate":{
         "prefix":"aws-iot1click-project.devicetemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html",
             "${1:myAWSIoT1ClickProject.DeviceTemplate}:",
             "  Type: AWS::IoT1Click::Project.DeviceTemplate",
             "  Properties:",
@@ -9799,6 +10464,7 @@
     "aws-greengrass-functiondefinition.runas":{
         "prefix":"aws-greengrass-functiondefinition.runas",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html",
             "${1:myAWSGreengrassFunctionDefinition.RunAs}:",
             "  Type: AWS::Greengrass::FunctionDefinition.RunAs",
             "  Properties:",
@@ -9811,6 +10477,7 @@
     "aws-elasticloadbalancingv2-targetgroup.targetdescription":{
         "prefix":"aws-elasticloadbalancingv2-targetgroup.targetdescription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html",
             "${1:myAWSElasticLoadBalancingV2TargetGroup.TargetDescription}:",
             "  Type: AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription",
             "  Properties:",
@@ -9824,6 +10491,7 @@
     "aws-ecs-service.placementconstraint":{
         "prefix":"aws-ecs-service.placementconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html",
             "${1:myAWSECSService.PlacementConstraint}:",
             "  Type: AWS::ECS::Service.PlacementConstraint",
             "  Properties:",
@@ -9836,6 +10504,7 @@
     "aws-autoscalingplans-scalingplan.tagfilter":{
         "prefix":"aws-autoscalingplans-scalingplan.tagfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html",
             "${1:myAWSAutoScalingPlansScalingPlan.TagFilter}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.TagFilter",
             "  Properties:",
@@ -9848,6 +10517,7 @@
     "aws-ec2-instance.creditspecification":{
         "prefix":"aws-ec2-instance.creditspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html",
             "${1:myAWSEC2Instance.CreditSpecification}:",
             "  Type: AWS::EC2::Instance.CreditSpecification",
             "  Properties:",
@@ -9859,6 +10529,7 @@
     "aws-wafregional-sizeconstraintset.sizeconstraint":{
         "prefix":"aws-wafregional-sizeconstraintset.sizeconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html",
             "${1:myAWSWAFRegionalSizeConstraintSet.SizeConstraint}:",
             "  Type: AWS::WAFRegional::SizeConstraintSet.SizeConstraint",
             "  Properties:",
@@ -9873,6 +10544,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.referencedatasource":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.referencedatasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.ReferenceDataSource}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource",
             "  Properties:",
@@ -9886,6 +10558,7 @@
     "aws-ecr-repository.lifecyclepolicy":{
         "prefix":"aws-ecr-repository.lifecyclepolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html",
             "${1:myAWSECRRepository.LifecyclePolicy}:",
             "  Type: AWS::ECR::Repository.LifecyclePolicy",
             "  Properties:",
@@ -9898,6 +10571,7 @@
     "aws-kinesisanalyticsv2-applicationoutput.kinesisfirehoseoutput":{
         "prefix":"aws-kinesisanalyticsv2-applicationoutput.kinesisfirehoseoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationOutput.KinesisFirehoseOutput}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput",
             "  Properties:",
@@ -9909,6 +10583,7 @@
     "aws-greengrass-devicedefinitionversion.device":{
         "prefix":"aws-greengrass-devicedefinitionversion.device",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html",
             "${1:myAWSGreengrassDeviceDefinitionVersion.Device}:",
             "  Type: AWS::Greengrass::DeviceDefinitionVersion.Device",
             "  Properties:",
@@ -9923,6 +10598,7 @@
     "aws-ec2-ec2fleet.tagrequest":{
         "prefix":"aws-ec2-ec2fleet.tagrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html",
             "${1:myAWSEC2EC2Fleet.TagRequest}:",
             "  Type: AWS::EC2::EC2Fleet.TagRequest",
             "  Properties:",
@@ -9935,6 +10611,7 @@
     "aws-ecs-taskdefinition.volume":{
         "prefix":"aws-ecs-taskdefinition.volume",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html",
             "${1:myAWSECSTaskDefinition.Volume}:",
             "  Type: AWS::ECS::TaskDefinition.Volume",
             "  Properties:",
@@ -9948,6 +10625,7 @@
     "aws-route53-hostedzone.queryloggingconfig":{
         "prefix":"aws-route53-hostedzone.queryloggingconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-queryloggingconfig.html",
             "${1:myAWSRoute53HostedZone.QueryLoggingConfig}:",
             "  Type: AWS::Route53::HostedZone.QueryLoggingConfig",
             "  Properties:",
@@ -9959,6 +10637,7 @@
     "aws-servicediscovery-service.healthcheckcustomconfig":{
         "prefix":"aws-servicediscovery-service.healthcheckcustomconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckcustomconfig.html",
             "${1:myAWSServiceDiscoveryService.HealthCheckCustomConfig}:",
             "  Type: AWS::ServiceDiscovery::Service.HealthCheckCustomConfig",
             "  Properties:",
@@ -9970,6 +10649,7 @@
     "aws-ssm-association.s3outputlocation":{
         "prefix":"aws-ssm-association.s3outputlocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html",
             "${1:myAWSSSMAssociation.S3OutputLocation}:",
             "  Type: AWS::SSM::Association.S3OutputLocation",
             "  Properties:",
@@ -9982,6 +10662,7 @@
     "aws-wafregional-webacl.action":{
         "prefix":"aws-wafregional-webacl.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-action.html",
             "${1:myAWSWAFRegionalWebACL.Action}:",
             "  Type: AWS::WAFRegional::WebACL.Action",
             "  Properties:",
@@ -9993,6 +10674,7 @@
     "aws-lambda-function.code":{
         "prefix":"aws-lambda-function.code",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html",
             "${1:myAWSLambdaFunction.Code}:",
             "  Type: AWS::Lambda::Function.Code",
             "  Properties:",
@@ -10007,6 +10689,7 @@
     "aws-ec2-ec2fleet.targetcapacityspecificationrequest":{
         "prefix":"aws-ec2-ec2fleet.targetcapacityspecificationrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html",
             "${1:myAWSEC2EC2Fleet.TargetCapacitySpecificationRequest}:",
             "  Type: AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest",
             "  Properties:",
@@ -10021,6 +10704,7 @@
     "aws-kinesisfirehose-deliverystream.processor":{
         "prefix":"aws-kinesisfirehose-deliverystream.processor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.Processor}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.Processor",
             "  Properties:",
@@ -10033,6 +10717,7 @@
     "aws-kinesisanalyticsv2-application.inputlambdaprocessor":{
         "prefix":"aws-kinesisanalyticsv2-application.inputlambdaprocessor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor.html",
             "${1:myAWSKinesisAnalyticsV2Application.InputLambdaProcessor}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor",
             "  Properties:",
@@ -10044,6 +10729,7 @@
     "aws-ec2-launchtemplate.licensespecification":{
         "prefix":"aws-ec2-launchtemplate.licensespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html",
             "${1:myAWSEC2LaunchTemplate.LicenseSpecification}:",
             "  Type: AWS::EC2::LaunchTemplate.LicenseSpecification",
             "  Properties:",
@@ -10055,6 +10741,7 @@
     "aws-codedeploy-deploymentgroup.ec2tagfilter":{
         "prefix":"aws-codedeploy-deploymentgroup.ec2tagfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html",
             "${1:myAWSCodeDeployDeploymentGroup.EC2TagFilter}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagFilter",
             "  Properties:",
@@ -10068,6 +10755,7 @@
     "aws-s3-bucket.corsconfiguration":{
         "prefix":"aws-s3-bucket.corsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html",
             "${1:myAWSS3Bucket.CorsConfiguration}:",
             "  Type: AWS::S3::Bucket.CorsConfiguration",
             "  Properties:",
@@ -10079,6 +10767,7 @@
     "aws-s3-bucket.replicationdestination":{
         "prefix":"aws-s3-bucket.replicationdestination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html",
             "${1:myAWSS3Bucket.ReplicationDestination}:",
             "  Type: AWS::S3::Bucket.ReplicationDestination",
             "  Properties:",
@@ -10094,6 +10783,7 @@
     "aws-kinesisanalyticsv2-applicationoutput.kinesisstreamsoutput":{
         "prefix":"aws-kinesisanalyticsv2-applicationoutput.kinesisstreamsoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationOutput.KinesisStreamsOutput}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput",
             "  Properties:",
@@ -10105,6 +10795,7 @@
     "aws-ec2-securitygroup.egress":{
         "prefix":"aws-ec2-securitygroup.egress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html",
             "${1:myAWSEC2SecurityGroup.Egress}:",
             "  Type: AWS::EC2::SecurityGroup.Egress",
             "  Properties:",
@@ -10123,6 +10814,7 @@
     "aws-iotanalytics-pipeline.channel":{
         "prefix":"aws-iotanalytics-pipeline.channel",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html",
             "${1:myAWSIoTAnalyticsPipeline.Channel}:",
             "  Type: AWS::IoTAnalytics::Pipeline.Channel",
             "  Properties:",
@@ -10136,6 +10828,7 @@
     "aws-servicecatalog-cloudformationprovisionedproduct.provisioningparameter":{
         "prefix":"aws-servicecatalog-cloudformationprovisionedproduct.provisioningparameter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html",
             "${1:myAWSServiceCatalogCloudFormationProvisionedProduct.ProvisioningParameter}:",
             "  Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter",
             "  Properties:",
@@ -10148,6 +10841,7 @@
     "aws-iot-topicrule.kinesisaction":{
         "prefix":"aws-iot-topicrule.kinesisaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html",
             "${1:myAWSIoTTopicRule.KinesisAction}:",
             "  Type: AWS::IoT::TopicRule.KinesisAction",
             "  Properties:",
@@ -10161,6 +10855,7 @@
     "aws-dynamodb-table.pointintimerecoveryspecification":{
         "prefix":"aws-dynamodb-table.pointintimerecoveryspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html",
             "${1:myAWSDynamoDBTable.PointInTimeRecoverySpecification}:",
             "  Type: AWS::DynamoDB::Table.PointInTimeRecoverySpecification",
             "  Properties:",
@@ -10172,6 +10867,7 @@
     "aws-appmesh-mesh.meshspec":{
         "prefix":"aws-appmesh-mesh.meshspec",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html",
             "${1:myAWSAppMeshMesh.MeshSpec}:",
             "  Type: AWS::AppMesh::Mesh.MeshSpec",
             "  Properties:",
@@ -10183,6 +10879,7 @@
     "aws-robomaker-robotapplication.sourceconfig":{
         "prefix":"aws-robomaker-robotapplication.sourceconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html",
             "${1:myAWSRoboMakerRobotApplication.SourceConfig}:",
             "  Type: AWS::RoboMaker::RobotApplication.SourceConfig",
             "  Properties:",
@@ -10196,6 +10893,7 @@
     "aws-kinesisanalyticsv2-application.flinkapplicationconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.flinkapplicationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.FlinkApplicationConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration",
             "  Properties:",
@@ -10209,6 +10907,7 @@
     "aws-apigatewayv2-route.parameterconstraints":{
         "prefix":"aws-apigatewayv2-route.parameterconstraints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-route-parameterconstraints.html",
             "${1:myAWSApiGatewayV2Route.ParameterConstraints}:",
             "  Type: AWS::ApiGatewayV2::Route.ParameterConstraints",
             "  Properties:",
@@ -10220,6 +10919,7 @@
     "aws-opsworks-layer.lifecycleeventconfiguration":{
         "prefix":"aws-opsworks-layer.lifecycleeventconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration.html",
             "${1:myAWSOpsWorksLayer.LifecycleEventConfiguration}:",
             "  Type: AWS::OpsWorks::Layer.LifecycleEventConfiguration",
             "  Properties:",
@@ -10231,6 +10931,7 @@
     "aws-opsworks-stack.rdsdbinstance":{
         "prefix":"aws-opsworks-stack.rdsdbinstance",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-rdsdbinstance.html",
             "${1:myAWSOpsWorksStack.RdsDbInstance}:",
             "  Type: AWS::OpsWorks::Stack.RdsDbInstance",
             "  Properties:",
@@ -10244,6 +10945,7 @@
     "aws-budgets-budget.costtypes":{
         "prefix":"aws-budgets-budget.costtypes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html",
             "${1:myAWSBudgetsBudget.CostTypes}:",
             "  Type: AWS::Budgets::Budget.CostTypes",
             "  Properties:",
@@ -10265,6 +10967,7 @@
     "aws-waf-bytematchset.fieldtomatch":{
         "prefix":"aws-waf-bytematchset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html",
             "${1:myAWSWAFByteMatchSet.FieldToMatch}:",
             "  Type: AWS::WAF::ByteMatchSet.FieldToMatch",
             "  Properties:",
@@ -10277,6 +10980,7 @@
     "aws-iot-topicrule.action":{
         "prefix":"aws-iot-topicrule.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html",
             "${1:myAWSIoTTopicRule.Action}:",
             "  Type: AWS::IoT::TopicRule.Action",
             "  Properties:",
@@ -10301,6 +11005,7 @@
     "aws-s3-bucket.accelerateconfiguration":{
         "prefix":"aws-s3-bucket.accelerateconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html",
             "${1:myAWSS3Bucket.AccelerateConfiguration}:",
             "  Type: AWS::S3::Bucket.AccelerateConfiguration",
             "  Properties:",
@@ -10312,6 +11017,7 @@
     "aws-iotanalytics-pipeline.filter":{
         "prefix":"aws-iotanalytics-pipeline.filter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html",
             "${1:myAWSIoTAnalyticsPipeline.Filter}:",
             "  Type: AWS::IoTAnalytics::Pipeline.Filter",
             "  Properties:",
@@ -10325,6 +11031,7 @@
     "aws-glue-trigger.condition":{
         "prefix":"aws-glue-trigger.condition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html",
             "${1:myAWSGlueTrigger.Condition}:",
             "  Type: AWS::Glue::Trigger.Condition",
             "  Properties:",
@@ -10338,6 +11045,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.csvmappingparameters":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.csvmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-csvmappingparameters.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.CSVMappingParameters}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters",
             "  Properties:",
@@ -10350,6 +11058,7 @@
     "aws-cloudfront-distribution.distributionconfig":{
         "prefix":"aws-cloudfront-distribution.distributionconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html",
             "${1:myAWSCloudFrontDistribution.DistributionConfig}:",
             "  Type: AWS::CloudFront::Distribution.DistributionConfig",
             "  Properties:",
@@ -10375,6 +11084,7 @@
     "aws-s3-bucket.noncurrentversiontransition":{
         "prefix":"aws-s3-bucket.noncurrentversiontransition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html",
             "${1:myAWSS3Bucket.NoncurrentVersionTransition}:",
             "  Type: AWS::S3::Bucket.NoncurrentVersionTransition",
             "  Properties:",
@@ -10387,6 +11097,7 @@
     "aws-emr-cluster.keyvalue":{
         "prefix":"aws-emr-cluster.keyvalue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html",
             "${1:myAWSEMRCluster.KeyValue}:",
             "  Type: AWS::EMR::Cluster.KeyValue",
             "  Properties:",
@@ -10399,6 +11110,7 @@
     "aws-ec2-spotfleet.launchtemplateoverrides":{
         "prefix":"aws-ec2-spotfleet.launchtemplateoverrides",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html",
             "${1:myAWSEC2SpotFleet.LaunchTemplateOverrides}:",
             "  Type: AWS::EC2::SpotFleet.LaunchTemplateOverrides",
             "  Properties:",
@@ -10414,6 +11126,7 @@
     "aws-cloudwatch-alarm.metricdataquery":{
         "prefix":"aws-cloudwatch-alarm.metricdataquery",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html",
             "${1:myAWSCloudWatchAlarm.MetricDataQuery}:",
             "  Type: AWS::CloudWatch::Alarm.MetricDataQuery",
             "  Properties:",
@@ -10429,6 +11142,7 @@
     "aws-ses-receiptrule.s3action":{
         "prefix":"aws-ses-receiptrule.s3action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html",
             "${1:myAWSSESReceiptRule.S3Action}:",
             "  Type: AWS::SES::ReceiptRule.S3Action",
             "  Properties:",
@@ -10443,6 +11157,7 @@
     "aws-kinesisanalytics-application.jsonmappingparameters":{
         "prefix":"aws-kinesisanalytics-application.jsonmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-jsonmappingparameters.html",
             "${1:myAWSKinesisAnalyticsApplication.JSONMappingParameters}:",
             "  Type: AWS::KinesisAnalytics::Application.JSONMappingParameters",
             "  Properties:",
@@ -10454,6 +11169,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.mappingparameters":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.mappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.MappingParameters}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters",
             "  Properties:",
@@ -10466,6 +11182,7 @@
     "aws-elasticsearch-domain.snapshotoptions":{
         "prefix":"aws-elasticsearch-domain.snapshotoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-snapshotoptions.html",
             "${1:myAWSElasticsearchDomain.SnapshotOptions}:",
             "  Type: AWS::Elasticsearch::Domain.SnapshotOptions",
             "  Properties:",
@@ -10477,6 +11194,7 @@
     "aws-apigateway-stage.accesslogsetting":{
         "prefix":"aws-apigateway-stage.accesslogsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html",
             "${1:myAWSApiGatewayStage.AccessLogSetting}:",
             "  Type: AWS::ApiGateway::Stage.AccessLogSetting",
             "  Properties:",
@@ -10489,6 +11207,7 @@
     "aws-greengrass-subscriptiondefinition.subscriptiondefinitionversion":{
         "prefix":"aws-greengrass-subscriptiondefinition.subscriptiondefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html",
             "${1:myAWSGreengrassSubscriptionDefinition.SubscriptionDefinitionVersion}:",
             "  Type: AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion",
             "  Properties:",
@@ -10500,6 +11219,7 @@
     "aws-opsworks-layer.loadbasedautoscaling":{
         "prefix":"aws-opsworks-layer.loadbasedautoscaling",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html",
             "${1:myAWSOpsWorksLayer.LoadBasedAutoScaling}:",
             "  Type: AWS::OpsWorks::Layer.LoadBasedAutoScaling",
             "  Properties:",
@@ -10513,6 +11233,7 @@
     "aws-batch-jobdefinition.ulimit":{
         "prefix":"aws-batch-jobdefinition.ulimit",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html",
             "${1:myAWSBatchJobDefinition.Ulimit}:",
             "  Type: AWS::Batch::JobDefinition.Ulimit",
             "  Properties:",
@@ -10526,6 +11247,7 @@
     "aws-batch-jobdefinition.volumeshost":{
         "prefix":"aws-batch-jobdefinition.volumeshost",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html",
             "${1:myAWSBatchJobDefinition.VolumesHost}:",
             "  Type: AWS::Batch::JobDefinition.VolumesHost",
             "  Properties:",
@@ -10537,6 +11259,7 @@
     "aws-ses-configurationseteventdestination.dimensionconfiguration":{
         "prefix":"aws-ses-configurationseteventdestination.dimensionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html",
             "${1:myAWSSESConfigurationSetEventDestination.DimensionConfiguration}:",
             "  Type: AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration",
             "  Properties:",
@@ -10550,6 +11273,7 @@
     "aws-glue-trigger.predicate":{
         "prefix":"aws-glue-trigger.predicate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html",
             "${1:myAWSGlueTrigger.Predicate}:",
             "  Type: AWS::Glue::Trigger.Predicate",
             "  Properties:",
@@ -10562,6 +11286,7 @@
     "aws-iam-group.policy":{
         "prefix":"aws-iam-group.policy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
             "${1:myAWSIAMGroup.Policy}:",
             "  Type: AWS::IAM::Group.Policy",
             "  Properties:",
@@ -10574,6 +11299,7 @@
     "aws-iotanalytics-dataset.action":{
         "prefix":"aws-iotanalytics-dataset.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html",
             "${1:myAWSIoTAnalyticsDataset.Action}:",
             "  Type: AWS::IoTAnalytics::Dataset.Action",
             "  Properties:",
@@ -10587,6 +11313,7 @@
     "aws-glue-table.order":{
         "prefix":"aws-glue-table.order",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html",
             "${1:myAWSGlueTable.Order}:",
             "  Type: AWS::Glue::Table.Order",
             "  Properties:",
@@ -10599,6 +11326,7 @@
     "aws-ec2-launchtemplate.ebs":{
         "prefix":"aws-ec2-launchtemplate.ebs",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html",
             "${1:myAWSEC2LaunchTemplate.Ebs}:",
             "  Type: AWS::EC2::LaunchTemplate.Ebs",
             "  Properties:",
@@ -10616,6 +11344,7 @@
     "aws-batch-jobqueue.computeenvironmentorder":{
         "prefix":"aws-batch-jobqueue.computeenvironmentorder",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-computeenvironmentorder.html",
             "${1:myAWSBatchJobQueue.ComputeEnvironmentOrder}:",
             "  Type: AWS::Batch::JobQueue.ComputeEnvironmentOrder",
             "  Properties:",
@@ -10628,6 +11357,7 @@
     "aws-kinesisfirehose-deliverystream.elasticsearchretryoptions":{
         "prefix":"aws-kinesisfirehose-deliverystream.elasticsearchretryoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.ElasticsearchRetryOptions}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions",
             "  Properties:",
@@ -10639,6 +11369,7 @@
     "aws-dynamodb-table.ssespecification":{
         "prefix":"aws-dynamodb-table.ssespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html",
             "${1:myAWSDynamoDBTable.SSESpecification}:",
             "  Type: AWS::DynamoDB::Table.SSESpecification",
             "  Properties:",
@@ -10650,6 +11381,7 @@
     "aws-route53-recordsetgroup.aliastarget":{
         "prefix":"aws-route53-recordsetgroup.aliastarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html",
             "${1:myAWSRoute53RecordSetGroup.AliasTarget}:",
             "  Type: AWS::Route53::RecordSetGroup.AliasTarget",
             "  Properties:",
@@ -10663,6 +11395,7 @@
     "aws-lambda-alias.aliasroutingconfiguration":{
         "prefix":"aws-lambda-alias.aliasroutingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html",
             "${1:myAWSLambdaAlias.AliasRoutingConfiguration}:",
             "  Type: AWS::Lambda::Alias.AliasRoutingConfiguration",
             "  Properties:",
@@ -10674,6 +11407,7 @@
     "aws-ec2-ec2fleet.fleetlaunchtemplateoverridesrequest":{
         "prefix":"aws-ec2-ec2fleet.fleetlaunchtemplateoverridesrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html",
             "${1:myAWSEC2EC2Fleet.FleetLaunchTemplateOverridesRequest}:",
             "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest",
             "  Properties:",
@@ -10690,6 +11424,7 @@
     "aws-s3-bucket.abortincompletemultipartupload":{
         "prefix":"aws-s3-bucket.abortincompletemultipartupload",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html",
             "${1:myAWSS3Bucket.AbortIncompleteMultipartUpload}:",
             "  Type: AWS::S3::Bucket.AbortIncompleteMultipartUpload",
             "  Properties:",
@@ -10701,6 +11436,7 @@
     "aws-iotanalytics-dataset.containeraction":{
         "prefix":"aws-iotanalytics-dataset.containeraction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html",
             "${1:myAWSIoTAnalyticsDataset.ContainerAction}:",
             "  Type: AWS::IoTAnalytics::Dataset.ContainerAction",
             "  Properties:",
@@ -10715,6 +11451,7 @@
     "aws-kinesisanalyticsv2-application.input":{
         "prefix":"aws-kinesisanalyticsv2-application.input",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html",
             "${1:myAWSKinesisAnalyticsV2Application.Input}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.Input",
             "  Properties:",
@@ -10731,6 +11468,7 @@
     "aws-codepipeline-pipeline.outputartifact":{
         "prefix":"aws-codepipeline-pipeline.outputartifact",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-outputartifacts.html",
             "${1:myAWSCodePipelinePipeline.OutputArtifact}:",
             "  Type: AWS::CodePipeline::Pipeline.OutputArtifact",
             "  Properties:",
@@ -10742,6 +11480,7 @@
     "aws-kinesisanalyticsv2-application.applicationsnapshotconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.applicationsnapshotconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.ApplicationSnapshotConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration",
             "  Properties:",
@@ -10753,6 +11492,7 @@
     "aws-fsx-filesystem.windowsconfiguration":{
         "prefix":"aws-fsx-filesystem.windowsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html",
             "${1:myAWSFSxFileSystem.WindowsConfiguration}:",
             "  Type: AWS::FSx::FileSystem.WindowsConfiguration",
             "  Properties:",
@@ -10769,6 +11509,7 @@
     "aws-glue-partition.column":{
         "prefix":"aws-glue-partition.column",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html",
             "${1:myAWSGluePartition.Column}:",
             "  Type: AWS::Glue::Partition.Column",
             "  Properties:",
@@ -10782,6 +11523,7 @@
     "aws-kinesisanalyticsv2-application.kinesisfirehoseinput":{
         "prefix":"aws-kinesisanalyticsv2-application.kinesisfirehoseinput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput.html",
             "${1:myAWSKinesisAnalyticsV2Application.KinesisFirehoseInput}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput",
             "  Properties:",
@@ -10793,6 +11535,7 @@
     "aws-ecs-service.awsvpcconfiguration":{
         "prefix":"aws-ecs-service.awsvpcconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html",
             "${1:myAWSECSService.AwsVpcConfiguration}:",
             "  Type: AWS::ECS::Service.AwsVpcConfiguration",
             "  Properties:",
@@ -10806,6 +11549,7 @@
     "aws-cognito-identitypoolroleattachment.rolemapping":{
         "prefix":"aws-cognito-identitypoolroleattachment.rolemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html",
             "${1:myAWSCognitoIdentityPoolRoleAttachment.RoleMapping}:",
             "  Type: AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping",
             "  Properties:",
@@ -10819,6 +11563,7 @@
     "aws-codebuild-project.s3logsconfig":{
         "prefix":"aws-codebuild-project.s3logsconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html",
             "${1:myAWSCodeBuildProject.S3LogsConfig}:",
             "  Type: AWS::CodeBuild::Project.S3LogsConfig",
             "  Properties:",
@@ -10832,6 +11577,7 @@
     "aws-codedeploy-deploymentgroup.onpremisestagset":{
         "prefix":"aws-codedeploy-deploymentgroup.onpremisestagset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html",
             "${1:myAWSCodeDeployDeploymentGroup.OnPremisesTagSet}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet",
             "  Properties:",
@@ -10843,6 +11589,7 @@
     "aws-route53-healthcheck.alarmidentifier":{
         "prefix":"aws-route53-healthcheck.alarmidentifier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html",
             "${1:myAWSRoute53HealthCheck.AlarmIdentifier}:",
             "  Type: AWS::Route53::HealthCheck.AlarmIdentifier",
             "  Properties:",
@@ -10855,6 +11602,7 @@
     "aws-greengrass-resourcedefinitionversion.localdeviceresourcedata":{
         "prefix":"aws-greengrass-resourcedefinitionversion.localdeviceresourcedata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.LocalDeviceResourceData}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData",
             "  Properties:",
@@ -10867,6 +11615,7 @@
     "aws-robomaker-simulationapplication.simulationsoftwaresuite":{
         "prefix":"aws-robomaker-simulationapplication.simulationsoftwaresuite",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html",
             "${1:myAWSRoboMakerSimulationApplication.SimulationSoftwareSuite}:",
             "  Type: AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite",
             "  Properties:",
@@ -10879,6 +11628,7 @@
     "aws-iot-topicrule.iotanalyticsaction":{
         "prefix":"aws-iot-topicrule.iotanalyticsaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html",
             "${1:myAWSIoTTopicRule.IotAnalyticsAction}:",
             "  Type: AWS::IoT::TopicRule.IotAnalyticsAction",
             "  Properties:",
@@ -10891,6 +11641,7 @@
     "aws-appmesh-virtualnode.backend":{
         "prefix":"aws-appmesh-virtualnode.backend",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html",
             "${1:myAWSAppMeshVirtualNode.Backend}:",
             "  Type: AWS::AppMesh::VirtualNode.Backend",
             "  Properties:",
@@ -10902,6 +11653,7 @@
     "aws-cloudfront-distribution.origincustomheader":{
         "prefix":"aws-cloudfront-distribution.origincustomheader",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html",
             "${1:myAWSCloudFrontDistribution.OriginCustomHeader}:",
             "  Type: AWS::CloudFront::Distribution.OriginCustomHeader",
             "  Properties:",
@@ -10914,6 +11666,7 @@
     "aws-appsync-graphqlapi.userpoolconfig":{
         "prefix":"aws-appsync-graphqlapi.userpoolconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html",
             "${1:myAWSAppSyncGraphQLApi.UserPoolConfig}:",
             "  Type: AWS::AppSync::GraphQLApi.UserPoolConfig",
             "  Properties:",
@@ -10928,6 +11681,7 @@
     "aws-gamelift-build.s3location":{
         "prefix":"aws-gamelift-build.s3location",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html",
             "${1:myAWSGameLiftBuild.S3Location}:",
             "  Type: AWS::GameLift::Build.S3Location",
             "  Properties:",
@@ -10941,6 +11695,7 @@
     "aws-kinesisfirehose-deliverystream.kmsencryptionconfig":{
         "prefix":"aws-kinesisfirehose-deliverystream.kmsencryptionconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.KMSEncryptionConfig}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig",
             "  Properties:",
@@ -10952,6 +11707,7 @@
     "aws-emr-cluster.volumespecification":{
         "prefix":"aws-emr-cluster.volumespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html",
             "${1:myAWSEMRCluster.VolumeSpecification}:",
             "  Type: AWS::EMR::Cluster.VolumeSpecification",
             "  Properties:",
@@ -10965,6 +11721,7 @@
     "aws-codepipeline-customactiontype.configurationproperties":{
         "prefix":"aws-codepipeline-customactiontype.configurationproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html",
             "${1:myAWSCodePipelineCustomActionType.ConfigurationProperties}:",
             "  Type: AWS::CodePipeline::CustomActionType.ConfigurationProperties",
             "  Properties:",
@@ -10982,6 +11739,7 @@
     "aws-ec2-spotfleet.spotfleetmonitoring":{
         "prefix":"aws-ec2-spotfleet.spotfleetmonitoring",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-monitoring.html",
             "${1:myAWSEC2SpotFleet.SpotFleetMonitoring}:",
             "  Type: AWS::EC2::SpotFleet.SpotFleetMonitoring",
             "  Properties:",
@@ -10993,6 +11751,7 @@
     "aws-codepipeline-pipeline.encryptionkey":{
         "prefix":"aws-codepipeline-pipeline.encryptionkey",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore-encryptionkey.html",
             "${1:myAWSCodePipelinePipeline.EncryptionKey}:",
             "  Type: AWS::CodePipeline::Pipeline.EncryptionKey",
             "  Properties:",
@@ -11005,6 +11764,7 @@
     "aws-appsync-datasource.dynamodbconfig":{
         "prefix":"aws-appsync-datasource.dynamodbconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html",
             "${1:myAWSAppSyncDataSource.DynamoDBConfig}:",
             "  Type: AWS::AppSync::DataSource.DynamoDBConfig",
             "  Properties:",
@@ -11018,6 +11778,7 @@
     "aws-s3-bucket.publicaccessblockconfiguration":{
         "prefix":"aws-s3-bucket.publicaccessblockconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html",
             "${1:myAWSS3Bucket.PublicAccessBlockConfiguration}:",
             "  Type: AWS::S3::Bucket.PublicAccessBlockConfiguration",
             "  Properties:",
@@ -11032,6 +11793,7 @@
     "aws-ec2-launchtemplate.hibernationoptions":{
         "prefix":"aws-ec2-launchtemplate.hibernationoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-hibernationoptions.html",
             "${1:myAWSEC2LaunchTemplate.HibernationOptions}:",
             "  Type: AWS::EC2::LaunchTemplate.HibernationOptions",
             "  Properties:",
@@ -11043,6 +11805,7 @@
     "aws-emr-instancegroupconfig.volumespecification":{
         "prefix":"aws-emr-instancegroupconfig.volumespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html",
             "${1:myAWSEMRInstanceGroupConfig.VolumeSpecification}:",
             "  Type: AWS::EMR::InstanceGroupConfig.VolumeSpecification",
             "  Properties:",
@@ -11056,6 +11819,7 @@
     "aws-wafregional-sqlinjectionmatchset.sqlinjectionmatchtuple":{
         "prefix":"aws-wafregional-sqlinjectionmatchset.sqlinjectionmatchtuple",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html",
             "${1:myAWSWAFRegionalSqlInjectionMatchSet.SqlInjectionMatchTuple}:",
             "  Type: AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple",
             "  Properties:",
@@ -11068,6 +11832,7 @@
     "aws-rds-optiongroup.optionsetting":{
         "prefix":"aws-rds-optiongroup.optionsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html",
             "${1:myAWSRDSOptionGroup.OptionSetting}:",
             "  Type: AWS::RDS::OptionGroup.OptionSetting",
             "  Properties:",
@@ -11080,6 +11845,7 @@
     "aws-codedeploy-deploymentgroup.deployment":{
         "prefix":"aws-codedeploy-deploymentgroup.deployment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html",
             "${1:myAWSCodeDeployDeploymentGroup.Deployment}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.Deployment",
             "  Properties:",
@@ -11093,6 +11859,7 @@
     "aws-cognito-identitypoolroleattachment.mappingrule":{
         "prefix":"aws-cognito-identitypoolroleattachment.mappingrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html",
             "${1:myAWSCognitoIdentityPoolRoleAttachment.MappingRule}:",
             "  Type: AWS::Cognito::IdentityPoolRoleAttachment.MappingRule",
             "  Properties:",
@@ -11107,6 +11874,7 @@
     "aws-cognito-identitypool.cognitostreams":{
         "prefix":"aws-cognito-identitypool.cognitostreams",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html",
             "${1:myAWSCognitoIdentityPool.CognitoStreams}:",
             "  Type: AWS::Cognito::IdentityPool.CognitoStreams",
             "  Properties:",
@@ -11120,6 +11888,7 @@
     "aws-kinesisanalyticsv2-application.inputschema":{
         "prefix":"aws-kinesisanalyticsv2-application.inputschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html",
             "${1:myAWSKinesisAnalyticsV2Application.InputSchema}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.InputSchema",
             "  Properties:",
@@ -11133,6 +11902,7 @@
     "aws-glue-partition.partitioninput":{
         "prefix":"aws-glue-partition.partitioninput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html",
             "${1:myAWSGluePartition.PartitionInput}:",
             "  Type: AWS::Glue::Partition.PartitionInput",
             "  Properties:",
@@ -11146,6 +11916,7 @@
     "aws-ecs-service.networkconfiguration":{
         "prefix":"aws-ecs-service.networkconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html",
             "${1:myAWSECSService.NetworkConfiguration}:",
             "  Type: AWS::ECS::Service.NetworkConfiguration",
             "  Properties:",
@@ -11157,6 +11928,7 @@
     "aws-kinesisanalytics-applicationoutput.destinationschema":{
         "prefix":"aws-kinesisanalytics-applicationoutput.destinationschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-destinationschema.html",
             "${1:myAWSKinesisAnalyticsApplicationOutput.DestinationSchema}:",
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema",
             "  Properties:",
@@ -11168,6 +11940,7 @@
     "aws-emr-cluster.instancefleetprovisioningspecifications":{
         "prefix":"aws-emr-cluster.instancefleetprovisioningspecifications",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html",
             "${1:myAWSEMRCluster.InstanceFleetProvisioningSpecifications}:",
             "  Type: AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications",
             "  Properties:",
@@ -11179,6 +11952,7 @@
     "aws-iotanalytics-datastore.retentionperiod":{
         "prefix":"aws-iotanalytics-datastore.retentionperiod",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html",
             "${1:myAWSIoTAnalyticsDatastore.RetentionPeriod}:",
             "  Type: AWS::IoTAnalytics::Datastore.RetentionPeriod",
             "  Properties:",
@@ -11191,6 +11965,7 @@
     "aws-dax-cluster.ssespecification":{
         "prefix":"aws-dax-cluster.ssespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dax-cluster-ssespecification.html",
             "${1:myAWSDAXCluster.SSESpecification}:",
             "  Type: AWS::DAX::Cluster.SSESpecification",
             "  Properties:",
@@ -11202,6 +11977,7 @@
     "aws-elasticache-replicationgroup.nodegroupconfiguration":{
         "prefix":"aws-elasticache-replicationgroup.nodegroupconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html",
             "${1:myAWSElastiCacheReplicationGroup.NodeGroupConfiguration}:",
             "  Type: AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration",
             "  Properties:",
@@ -11217,6 +11993,7 @@
     "aws-glue-table.column":{
         "prefix":"aws-glue-table.column",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html",
             "${1:myAWSGlueTable.Column}:",
             "  Type: AWS::Glue::Table.Column",
             "  Properties:",
@@ -11230,6 +12007,7 @@
     "aws-dms-endpoint.dynamodbsettings":{
         "prefix":"aws-dms-endpoint.dynamodbsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-dynamodbsettings.html",
             "${1:myAWSDMSEndpoint.DynamoDbSettings}:",
             "  Type: AWS::DMS::Endpoint.DynamoDbSettings",
             "  Properties:",
@@ -11241,6 +12019,7 @@
     "aws-greengrass-group.groupversion":{
         "prefix":"aws-greengrass-group.groupversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html",
             "${1:myAWSGreengrassGroup.GroupVersion}:",
             "  Type: AWS::Greengrass::Group.GroupVersion",
             "  Properties:",
@@ -11258,6 +12037,7 @@
     "aws-ssm-maintenancewindowtask.maintenancewindowruncommandparameters":{
         "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowruncommandparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html",
             "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowRunCommandParameters}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters",
             "  Properties:",
@@ -11277,6 +12057,7 @@
     "aws-autoscalingplans-scalingplan.customizedloadmetricspecification":{
         "prefix":"aws-autoscalingplans-scalingplan.customizedloadmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html",
             "${1:myAWSAutoScalingPlansScalingPlan.CustomizedLoadMetricSpecification}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification",
             "  Properties:",
@@ -11292,6 +12073,7 @@
     "aws-elasticbeanstalk-application.maxagerule":{
         "prefix":"aws-elasticbeanstalk-application.maxagerule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html",
             "${1:myAWSElasticBeanstalkApplication.MaxAgeRule}:",
             "  Type: AWS::ElasticBeanstalk::Application.MaxAgeRule",
             "  Properties:",
@@ -11305,6 +12087,7 @@
     "aws-emr-instancegroupconfig.autoscalingpolicy":{
         "prefix":"aws-emr-instancegroupconfig.autoscalingpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html",
             "${1:myAWSEMRInstanceGroupConfig.AutoScalingPolicy}:",
             "  Type: AWS::EMR::InstanceGroupConfig.AutoScalingPolicy",
             "  Properties:",
@@ -11317,6 +12100,7 @@
     "aws-ecs-taskdefinition.tmpfs":{
         "prefix":"aws-ecs-taskdefinition.tmpfs",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html",
             "${1:myAWSECSTaskDefinition.Tmpfs}:",
             "  Type: AWS::ECS::TaskDefinition.Tmpfs",
             "  Properties:",
@@ -11330,6 +12114,7 @@
     "aws-emr-instancegroupconfig.ebsconfiguration":{
         "prefix":"aws-emr-instancegroupconfig.ebsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html",
             "${1:myAWSEMRInstanceGroupConfig.EbsConfiguration}:",
             "  Type: AWS::EMR::InstanceGroupConfig.EbsConfiguration",
             "  Properties:",
@@ -11342,6 +12127,7 @@
     "aws-apigateway-deployment.accesslogsetting":{
         "prefix":"aws-apigateway-deployment.accesslogsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html",
             "${1:myAWSApiGatewayDeployment.AccessLogSetting}:",
             "  Type: AWS::ApiGateway::Deployment.AccessLogSetting",
             "  Properties:",
@@ -11354,6 +12140,7 @@
     "aws-codebuild-project.webhookfilter":{
         "prefix":"aws-codebuild-project.webhookfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html",
             "${1:myAWSCodeBuildProject.WebhookFilter}:",
             "  Type: AWS::CodeBuild::Project.WebhookFilter",
             "  Properties:",
@@ -11367,6 +12154,7 @@
     "aws-efs-filesystem.elasticfilesystemtag":{
         "prefix":"aws-efs-filesystem.elasticfilesystemtag",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html",
             "${1:myAWSEFSFileSystem.ElasticFileSystemTag}:",
             "  Type: AWS::EFS::FileSystem.ElasticFileSystemTag",
             "  Properties:",
@@ -11379,6 +12167,7 @@
     "aws-greengrass-functiondefinitionversion.environment":{
         "prefix":"aws-greengrass-functiondefinitionversion.environment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.Environment}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.Environment",
             "  Properties:",
@@ -11393,6 +12182,7 @@
     "aws-glue-crawler.schemachangepolicy":{
         "prefix":"aws-glue-crawler.schemachangepolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html",
             "${1:myAWSGlueCrawler.SchemaChangePolicy}:",
             "  Type: AWS::Glue::Crawler.SchemaChangePolicy",
             "  Properties:",
@@ -11405,6 +12195,7 @@
     "aws-cognito-userpool.stringattributeconstraints":{
         "prefix":"aws-cognito-userpool.stringattributeconstraints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html",
             "${1:myAWSCognitoUserPool.StringAttributeConstraints}:",
             "  Type: AWS::Cognito::UserPool.StringAttributeConstraints",
             "  Properties:",
@@ -11417,6 +12208,7 @@
     "aws-appmesh-virtualnode.portmapping":{
         "prefix":"aws-appmesh-virtualnode.portmapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html",
             "${1:myAWSAppMeshVirtualNode.PortMapping}:",
             "  Type: AWS::AppMesh::VirtualNode.PortMapping",
             "  Properties:",
@@ -11429,6 +12221,7 @@
     "aws-codebuild-project.artifacts":{
         "prefix":"aws-codebuild-project.artifacts",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html",
             "${1:myAWSCodeBuildProject.Artifacts}:",
             "  Type: AWS::CodeBuild::Project.Artifacts",
             "  Properties:",
@@ -11448,6 +12241,7 @@
     "aws-appstream-fleet.computecapacity":{
         "prefix":"aws-appstream-fleet.computecapacity",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html",
             "${1:myAWSAppStreamFleet.ComputeCapacity}:",
             "  Type: AWS::AppStream::Fleet.ComputeCapacity",
             "  Properties:",
@@ -11459,6 +12253,7 @@
     "aws-dynamodb-table.timetolivespecification":{
         "prefix":"aws-dynamodb-table.timetolivespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-timetolivespecification.html",
             "${1:myAWSDynamoDBTable.TimeToLiveSpecification}:",
             "  Type: AWS::DynamoDB::Table.TimeToLiveSpecification",
             "  Properties:",
@@ -11471,6 +12266,7 @@
     "aws-codedeploy-deploymentgroup.loadbalancerinfo":{
         "prefix":"aws-codedeploy-deploymentgroup.loadbalancerinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html",
             "${1:myAWSCodeDeployDeploymentGroup.LoadBalancerInfo}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo",
             "  Properties:",
@@ -11483,6 +12279,7 @@
     "aws-kinesisanalyticsv2-application.recordcolumn":{
         "prefix":"aws-kinesisanalyticsv2-application.recordcolumn",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html",
             "${1:myAWSKinesisAnalyticsV2Application.RecordColumn}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.RecordColumn",
             "  Properties:",
@@ -11496,6 +12293,7 @@
     "aws-budgets-budget.notificationwithsubscribers":{
         "prefix":"aws-budgets-budget.notificationwithsubscribers",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html",
             "${1:myAWSBudgetsBudget.NotificationWithSubscribers}:",
             "  Type: AWS::Budgets::Budget.NotificationWithSubscribers",
             "  Properties:",
@@ -11508,6 +12306,7 @@
     "aws-codedeploy-deploymentgroup.revisionlocation":{
         "prefix":"aws-codedeploy-deploymentgroup.revisionlocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html",
             "${1:myAWSCodeDeployDeploymentGroup.RevisionLocation}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.RevisionLocation",
             "  Properties:",
@@ -11521,6 +12320,7 @@
     "aws-datapipeline-pipeline.parameterattribute":{
         "prefix":"aws-datapipeline-pipeline.parameterattribute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects-attributes.html",
             "${1:myAWSDataPipelinePipeline.ParameterAttribute}:",
             "  Type: AWS::DataPipeline::Pipeline.ParameterAttribute",
             "  Properties:",
@@ -11533,6 +12333,7 @@
     "aws-s3-bucket.notificationfilter":{
         "prefix":"aws-s3-bucket.notificationfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
             "${1:myAWSS3Bucket.NotificationFilter}:",
             "  Type: AWS::S3::Bucket.NotificationFilter",
             "  Properties:",
@@ -11544,6 +12345,7 @@
     "aws-events-rule.sqsparameters":{
         "prefix":"aws-events-rule.sqsparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html",
             "${1:myAWSEventsRule.SqsParameters}:",
             "  Type: AWS::Events::Rule.SqsParameters",
             "  Properties:",
@@ -11555,6 +12357,7 @@
     "aws-servicecatalog-cloudformationproduct.provisioningartifactproperties":{
         "prefix":"aws-servicecatalog-cloudformationproduct.provisioningartifactproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html",
             "${1:myAWSServiceCatalogCloudFormationProduct.ProvisioningArtifactProperties}:",
             "  Type: AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties",
             "  Properties:",
@@ -11568,6 +12371,7 @@
     "aws-appsync-datasource.authorizationconfig":{
         "prefix":"aws-appsync-datasource.authorizationconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html",
             "${1:myAWSAppSyncDataSource.AuthorizationConfig}:",
             "  Type: AWS::AppSync::DataSource.AuthorizationConfig",
             "  Properties:",
@@ -11580,6 +12384,7 @@
     "aws-kinesisfirehose-deliverystream.elasticsearchdestinationconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.elasticsearchdestinationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.ElasticsearchDestinationConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration",
             "  Properties:",
@@ -11601,6 +12406,7 @@
     "aws-ec2-securitygroup.ingress":{
         "prefix":"aws-ec2-securitygroup.ingress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html",
             "${1:myAWSEC2SecurityGroup.Ingress}:",
             "  Type: AWS::EC2::SecurityGroup.Ingress",
             "  Properties:",
@@ -11621,6 +12427,7 @@
     "aws-s3-bucket.lambdaconfiguration":{
         "prefix":"aws-s3-bucket.lambdaconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html",
             "${1:myAWSS3Bucket.LambdaConfiguration}:",
             "  Type: AWS::S3::Bucket.LambdaConfiguration",
             "  Properties:",
@@ -11634,6 +12441,7 @@
     "aws-batch-jobdefinition.nodeproperties":{
         "prefix":"aws-batch-jobdefinition.nodeproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html",
             "${1:myAWSBatchJobDefinition.NodeProperties}:",
             "  Type: AWS::Batch::JobDefinition.NodeProperties",
             "  Properties:",
@@ -11647,6 +12455,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.s3referencedatasource":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.s3referencedatasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.S3ReferenceDataSource}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource",
             "  Properties:",
@@ -11660,6 +12469,7 @@
     "aws-appmesh-virtualservice.virtualservicespec":{
         "prefix":"aws-appmesh-virtualservice.virtualservicespec",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html",
             "${1:myAWSAppMeshVirtualService.VirtualServiceSpec}:",
             "  Type: AWS::AppMesh::VirtualService.VirtualServiceSpec",
             "  Properties:",
@@ -11671,6 +12481,7 @@
     "aws-waf-rule.predicate":{
         "prefix":"aws-waf-rule.predicate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html",
             "${1:myAWSWAFRule.Predicate}:",
             "  Type: AWS::WAF::Rule.Predicate",
             "  Properties:",
@@ -11684,6 +12495,7 @@
     "aws-s3-bucket.replicationrule":{
         "prefix":"aws-s3-bucket.replicationrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html",
             "${1:myAWSS3Bucket.ReplicationRule}:",
             "  Type: AWS::S3::Bucket.ReplicationRule",
             "  Properties:",
@@ -11699,6 +12511,7 @@
     "aws-appmesh-virtualservice.virtualrouterserviceprovider":{
         "prefix":"aws-appmesh-virtualservice.virtualrouterserviceprovider",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualrouterserviceprovider.html",
             "${1:myAWSAppMeshVirtualService.VirtualRouterServiceProvider}:",
             "  Type: AWS::AppMesh::VirtualService.VirtualRouterServiceProvider",
             "  Properties:",
@@ -11710,6 +12523,7 @@
     "aws-ec2-spotfleet.classicloadbalancer":{
         "prefix":"aws-ec2-spotfleet.classicloadbalancer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html",
             "${1:myAWSEC2SpotFleet.ClassicLoadBalancer}:",
             "  Type: AWS::EC2::SpotFleet.ClassicLoadBalancer",
             "  Properties:",
@@ -11721,6 +12535,7 @@
     "aws-ec2-launchtemplate.launchtemplatedata":{
         "prefix":"aws-ec2-launchtemplate.launchtemplatedata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html",
             "${1:myAWSEC2LaunchTemplate.LaunchTemplateData}:",
             "  Type: AWS::EC2::LaunchTemplate.LaunchTemplateData",
             "  Properties:",
@@ -11756,6 +12571,7 @@
     "aws-kinesisanalyticsv2-application.parallelismconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.parallelismconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.ParallelismConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration",
             "  Properties:",
@@ -11770,6 +12586,7 @@
     "aws-greengrass-functiondefinitionversion.defaultconfig":{
         "prefix":"aws-greengrass-functiondefinitionversion.defaultconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.DefaultConfig}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig",
             "  Properties:",
@@ -11781,6 +12598,7 @@
     "aws-ses-receiptrule.workmailaction":{
         "prefix":"aws-ses-receiptrule.workmailaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html",
             "${1:myAWSSESReceiptRule.WorkmailAction}:",
             "  Type: AWS::SES::ReceiptRule.WorkmailAction",
             "  Properties:",
@@ -11793,6 +12611,7 @@
     "aws-elasticloadbalancingv2-listener.authenticateoidcconfig":{
         "prefix":"aws-elasticloadbalancingv2-listener.authenticateoidcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html",
             "${1:myAWSElasticLoadBalancingV2Listener.AuthenticateOidcConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig",
             "  Properties:",
@@ -11814,6 +12633,7 @@
     "aws-elasticsearch-domain.vpcoptions":{
         "prefix":"aws-elasticsearch-domain.vpcoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html",
             "${1:myAWSElasticsearchDomain.VPCOptions}:",
             "  Type: AWS::Elasticsearch::Domain.VPCOptions",
             "  Properties:",
@@ -11826,6 +12646,7 @@
     "aws-elasticloadbalancing-loadbalancer.healthcheck":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.healthcheck",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.HealthCheck}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck",
             "  Properties:",
@@ -11841,6 +12662,7 @@
     "aws-ec2-spotfleet.launchtemplateconfig":{
         "prefix":"aws-ec2-spotfleet.launchtemplateconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html",
             "${1:myAWSEC2SpotFleet.LaunchTemplateConfig}:",
             "  Type: AWS::EC2::SpotFleet.LaunchTemplateConfig",
             "  Properties:",
@@ -11853,6 +12675,7 @@
     "aws-ec2-instance.elasticgpuspecification":{
         "prefix":"aws-ec2-instance.elasticgpuspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticgpuspecification.html",
             "${1:myAWSEC2Instance.ElasticGpuSpecification}:",
             "  Type: AWS::EC2::Instance.ElasticGpuSpecification",
             "  Properties:",
@@ -11864,6 +12687,7 @@
     "aws-codedeploy-deploymentgroup.triggerconfig":{
         "prefix":"aws-codedeploy-deploymentgroup.triggerconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html",
             "${1:myAWSCodeDeployDeploymentGroup.TriggerConfig}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.TriggerConfig",
             "  Properties:",
@@ -11877,6 +12701,7 @@
     "aws-kinesisanalyticsv2-application.csvmappingparameters":{
         "prefix":"aws-kinesisanalyticsv2-application.csvmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-csvmappingparameters.html",
             "${1:myAWSKinesisAnalyticsV2Application.CSVMappingParameters}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.CSVMappingParameters",
             "  Properties:",
@@ -11889,6 +12714,7 @@
     "aws-appmesh-virtualnode.virtualservicebackend":{
         "prefix":"aws-appmesh-virtualnode.virtualservicebackend",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html",
             "${1:myAWSAppMeshVirtualNode.VirtualServiceBackend}:",
             "  Type: AWS::AppMesh::VirtualNode.VirtualServiceBackend",
             "  Properties:",
@@ -11900,6 +12726,7 @@
     "aws-datapipeline-pipeline.pipelinetag":{
         "prefix":"aws-datapipeline-pipeline.pipelinetag",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelinetags.html",
             "${1:myAWSDataPipelinePipeline.PipelineTag}:",
             "  Type: AWS::DataPipeline::Pipeline.PipelineTag",
             "  Properties:",
@@ -11912,6 +12739,7 @@
     "aws-kinesisanalytics-application.mappingparameters":{
         "prefix":"aws-kinesisanalytics-application.mappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html",
             "${1:myAWSKinesisAnalyticsApplication.MappingParameters}:",
             "  Type: AWS::KinesisAnalytics::Application.MappingParameters",
             "  Properties:",
@@ -11924,6 +12752,7 @@
     "aws-cloudfront-distribution.customoriginconfig":{
         "prefix":"aws-cloudfront-distribution.customoriginconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html",
             "${1:myAWSCloudFrontDistribution.CustomOriginConfig}:",
             "  Type: AWS::CloudFront::Distribution.CustomOriginConfig",
             "  Properties:",
@@ -11940,6 +12769,7 @@
     "aws-kinesisanalyticsv2-application.monitoringconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.monitoringconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.MonitoringConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration",
             "  Properties:",
@@ -11953,6 +12783,7 @@
     "aws-ec2-networkaclentry.icmp":{
         "prefix":"aws-ec2-networkaclentry.icmp",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html",
             "${1:myAWSEC2NetworkAclEntry.Icmp}:",
             "  Type: AWS::EC2::NetworkAclEntry.Icmp",
             "  Properties:",
@@ -11965,6 +12796,7 @@
     "aws-dynamodb-table.attributedefinition":{
         "prefix":"aws-dynamodb-table.attributedefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html",
             "${1:myAWSDynamoDBTable.AttributeDefinition}:",
             "  Type: AWS::DynamoDB::Table.AttributeDefinition",
             "  Properties:",
@@ -11977,6 +12809,7 @@
     "aws-cloudfront-cloudfrontoriginaccessidentity.cloudfrontoriginaccessidentityconfig":{
         "prefix":"aws-cloudfront-cloudfrontoriginaccessidentity.cloudfrontoriginaccessidentityconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig.html",
             "${1:myAWSCloudFrontCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig}:",
             "  Type: AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig",
             "  Properties:",
@@ -11988,6 +12821,7 @@
     "aws-iotanalytics-pipeline.activity":{
         "prefix":"aws-iotanalytics-pipeline.activity",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html",
             "${1:myAWSIoTAnalyticsPipeline.Activity}:",
             "  Type: AWS::IoTAnalytics::Pipeline.Activity",
             "  Properties:",
@@ -12008,6 +12842,7 @@
     "aws-autoscaling-autoscalinggroup.mixedinstancespolicy":{
         "prefix":"aws-autoscaling-autoscalinggroup.mixedinstancespolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html",
             "${1:myAWSAutoScalingAutoScalingGroup.MixedInstancesPolicy}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy",
             "  Properties:",
@@ -12020,6 +12855,7 @@
     "aws-sagemaker-endpointconfig.productionvariant":{
         "prefix":"aws-sagemaker-endpointconfig.productionvariant",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html",
             "${1:myAWSSageMakerEndpointConfig.ProductionVariant}:",
             "  Type: AWS::SageMaker::EndpointConfig.ProductionVariant",
             "  Properties:",
@@ -12036,6 +12872,7 @@
     "aws-route53resolver-resolverendpoint.ipaddressrequest":{
         "prefix":"aws-route53resolver-resolverendpoint.ipaddressrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
             "${1:myAWSRoute53ResolverResolverEndpoint.IpAddressRequest}:",
             "  Type: AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest",
             "  Properties:",
@@ -12048,6 +12885,7 @@
     "aws-ses-receiptrule.stopaction":{
         "prefix":"aws-ses-receiptrule.stopaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html",
             "${1:myAWSSESReceiptRule.StopAction}:",
             "  Type: AWS::SES::ReceiptRule.StopAction",
             "  Properties:",
@@ -12060,6 +12898,7 @@
     "aws-batch-jobdefinition.retrystrategy":{
         "prefix":"aws-batch-jobdefinition.retrystrategy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html",
             "${1:myAWSBatchJobDefinition.RetryStrategy}:",
             "  Type: AWS::Batch::JobDefinition.RetryStrategy",
             "  Properties:",
@@ -12071,6 +12910,7 @@
     "aws-codepipeline-pipeline.actiondeclaration":{
         "prefix":"aws-codepipeline-pipeline.actiondeclaration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html",
             "${1:myAWSCodePipelinePipeline.ActionDeclaration}:",
             "  Type: AWS::CodePipeline::Pipeline.ActionDeclaration",
             "  Properties:",
@@ -12089,6 +12929,7 @@
     "aws-ec2-launchtemplate.instancemarketoptions":{
         "prefix":"aws-ec2-launchtemplate.instancemarketoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html",
             "${1:myAWSEC2LaunchTemplate.InstanceMarketOptions}:",
             "  Type: AWS::EC2::LaunchTemplate.InstanceMarketOptions",
             "  Properties:",
@@ -12101,6 +12942,7 @@
     "aws-emr-instancegroupconfig.configuration":{
         "prefix":"aws-emr-instancegroupconfig.configuration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html",
             "${1:myAWSEMRInstanceGroupConfig.Configuration}:",
             "  Type: AWS::EMR::InstanceGroupConfig.Configuration",
             "  Properties:",
@@ -12114,6 +12956,7 @@
     "aws-redshift-clusterparametergroup.parameter":{
         "prefix":"aws-redshift-clusterparametergroup.parameter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-property-redshift-clusterparametergroup-parameter.html",
             "${1:myAWSRedshiftClusterParameterGroup.Parameter}:",
             "  Type: AWS::Redshift::ClusterParameterGroup.Parameter",
             "  Properties:",
@@ -12126,6 +12969,7 @@
     "aws-emr-instancefleetconfig.volumespecification":{
         "prefix":"aws-emr-instancefleetconfig.volumespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html",
             "${1:myAWSEMRInstanceFleetConfig.VolumeSpecification}:",
             "  Type: AWS::EMR::InstanceFleetConfig.VolumeSpecification",
             "  Properties:",
@@ -12139,6 +12983,7 @@
     "aws-emr-cluster.instancegroupconfig":{
         "prefix":"aws-emr-cluster.instancegroupconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html",
             "${1:myAWSEMRCluster.InstanceGroupConfig}:",
             "  Type: AWS::EMR::Cluster.InstanceGroupConfig",
             "  Properties:",
@@ -12157,6 +13002,7 @@
     "aws-redshift-cluster.loggingproperties":{
         "prefix":"aws-redshift-cluster.loggingproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshift-cluster-loggingproperties.html",
             "${1:myAWSRedshiftCluster.LoggingProperties}:",
             "  Type: AWS::Redshift::Cluster.LoggingProperties",
             "  Properties:",
@@ -12169,6 +13015,7 @@
     "aws-ec2-launchtemplate.creditspecification":{
         "prefix":"aws-ec2-launchtemplate.creditspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html",
             "${1:myAWSEC2LaunchTemplate.CreditSpecification}:",
             "  Type: AWS::EC2::LaunchTemplate.CreditSpecification",
             "  Properties:",
@@ -12180,6 +13027,7 @@
     "aws-route53resolver-resolverrule.targetaddress":{
         "prefix":"aws-route53resolver-resolverrule.targetaddress",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
             "${1:myAWSRoute53ResolverResolverRule.TargetAddress}:",
             "  Type: AWS::Route53Resolver::ResolverRule.TargetAddress",
             "  Properties:",
@@ -12192,6 +13040,7 @@
     "aws-robomaker-simulationapplication.robotsoftwaresuite":{
         "prefix":"aws-robomaker-simulationapplication.robotsoftwaresuite",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html",
             "${1:myAWSRoboMakerSimulationApplication.RobotSoftwareSuite}:",
             "  Type: AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite",
             "  Properties:",
@@ -12204,6 +13053,7 @@
     "aws-s3-bucket.serversideencryptionrule":{
         "prefix":"aws-s3-bucket.serversideencryptionrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html",
             "${1:myAWSS3Bucket.ServerSideEncryptionRule}:",
             "  Type: AWS::S3::Bucket.ServerSideEncryptionRule",
             "  Properties:",
@@ -12215,6 +13065,7 @@
     "aws-wafregional-webacl.rule":{
         "prefix":"aws-wafregional-webacl.rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html",
             "${1:myAWSWAFRegionalWebACL.Rule}:",
             "  Type: AWS::WAFRegional::WebACL.Rule",
             "  Properties:",
@@ -12228,6 +13079,7 @@
     "aws-ssm-association.instanceassociationoutputlocation":{
         "prefix":"aws-ssm-association.instanceassociationoutputlocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html",
             "${1:myAWSSSMAssociation.InstanceAssociationOutputLocation}:",
             "  Type: AWS::SSM::Association.InstanceAssociationOutputLocation",
             "  Properties:",
@@ -12239,6 +13091,7 @@
     "aws-glue-partition.storagedescriptor":{
         "prefix":"aws-glue-partition.storagedescriptor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html",
             "${1:myAWSGluePartition.StorageDescriptor}:",
             "  Type: AWS::Glue::Partition.StorageDescriptor",
             "  Properties:",
@@ -12261,6 +13114,7 @@
     "aws-glue-trigger.action":{
         "prefix":"aws-glue-trigger.action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html",
             "${1:myAWSGlueTrigger.Action}:",
             "  Type: AWS::Glue::Trigger.Action",
             "  Properties:",
@@ -12273,6 +13127,7 @@
     "aws-ec2-instance.networkinterface":{
         "prefix":"aws-ec2-instance.networkinterface",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html",
             "${1:myAWSEC2Instance.NetworkInterface}:",
             "  Type: AWS::EC2::Instance.NetworkInterface",
             "  Properties:",
@@ -12295,6 +13150,7 @@
     "aws-autoscalingplans-scalingplan.applicationsource":{
         "prefix":"aws-autoscalingplans-scalingplan.applicationsource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html",
             "${1:myAWSAutoScalingPlansScalingPlan.ApplicationSource}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.ApplicationSource",
             "  Properties:",
@@ -12307,6 +13163,7 @@
     "aws-ec2-spotfleet.iaminstanceprofilespecification":{
         "prefix":"aws-ec2-spotfleet.iaminstanceprofilespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-iaminstanceprofile.html",
             "${1:myAWSEC2SpotFleet.IamInstanceProfileSpecification}:",
             "  Type: AWS::EC2::SpotFleet.IamInstanceProfileSpecification",
             "  Properties:",
@@ -12318,6 +13175,7 @@
     "aws-kinesisanalyticsv2-application.recordformat":{
         "prefix":"aws-kinesisanalyticsv2-application.recordformat",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordformat.html",
             "${1:myAWSKinesisAnalyticsV2Application.RecordFormat}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.RecordFormat",
             "  Properties:",
@@ -12330,6 +13188,7 @@
     "aws-autoscaling-scalingpolicy.metricdimension":{
         "prefix":"aws-autoscaling-scalingpolicy.metricdimension",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html",
             "${1:myAWSAutoScalingScalingPolicy.MetricDimension}:",
             "  Type: AWS::AutoScaling::ScalingPolicy.MetricDimension",
             "  Properties:",
@@ -12342,6 +13201,7 @@
     "aws-ec2-spotfleet.instancenetworkinterfacespecification":{
         "prefix":"aws-ec2-spotfleet.instancenetworkinterfacespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html",
             "${1:myAWSEC2SpotFleet.InstanceNetworkInterfaceSpecification}:",
             "  Type: AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification",
             "  Properties:",
@@ -12363,6 +13223,7 @@
     "aws-ecs-taskdefinition.dockervolumeconfiguration":{
         "prefix":"aws-ecs-taskdefinition.dockervolumeconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html",
             "${1:myAWSECSTaskDefinition.DockerVolumeConfiguration}:",
             "  Type: AWS::ECS::TaskDefinition.DockerVolumeConfiguration",
             "  Properties:",
@@ -12378,6 +13239,7 @@
     "aws-wafregional-ipset.ipsetdescriptor":{
         "prefix":"aws-wafregional-ipset.ipsetdescriptor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html",
             "${1:myAWSWAFRegionalIPSet.IPSetDescriptor}:",
             "  Type: AWS::WAFRegional::IPSet.IPSetDescriptor",
             "  Properties:",
@@ -12390,6 +13252,7 @@
     "aws-ecs-taskdefinition.containerdefinition":{
         "prefix":"aws-ecs-taskdefinition.containerdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html",
             "${1:myAWSECSTaskDefinition.ContainerDefinition}:",
             "  Type: AWS::ECS::TaskDefinition.ContainerDefinition",
             "  Properties:",
@@ -12429,6 +13292,7 @@
     "aws-autoscalingplans-scalingplan.scalinginstruction":{
         "prefix":"aws-autoscalingplans-scalingplan.scalinginstruction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html",
             "${1:myAWSAutoScalingPlansScalingPlan.ScalingInstruction}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction",
             "  Properties:",
@@ -12453,6 +13317,7 @@
     "aws-ssm-maintenancewindowtask.maintenancewindowlambdaparameters":{
         "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowlambdaparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html",
             "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowLambdaParameters}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters",
             "  Properties:",
@@ -12466,6 +13331,7 @@
     "alexa-ask-skill.overrides":{
         "prefix":"alexa-ask-skill.overrides",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html",
             "${1:myAlexaASKSkill.Overrides}:",
             "  Type: Alexa::ASK::Skill.Overrides",
             "  Properties:",
@@ -12477,6 +13343,7 @@
     "aws-waf-sqlinjectionmatchset.fieldtomatch":{
         "prefix":"aws-waf-sqlinjectionmatchset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html",
             "${1:myAWSWAFSqlInjectionMatchSet.FieldToMatch}:",
             "  Type: AWS::WAF::SqlInjectionMatchSet.FieldToMatch",
             "  Properties:",
@@ -12489,6 +13356,7 @@
     "aws-datapipeline-pipeline.parameterobject":{
         "prefix":"aws-datapipeline-pipeline.parameterobject",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects.html",
             "${1:myAWSDataPipelinePipeline.ParameterObject}:",
             "  Type: AWS::DataPipeline::Pipeline.ParameterObject",
             "  Properties:",
@@ -12501,6 +13369,7 @@
     "aws-codepipeline-pipeline.stagedeclaration":{
         "prefix":"aws-codepipeline-pipeline.stagedeclaration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html",
             "${1:myAWSCodePipelinePipeline.StageDeclaration}:",
             "  Type: AWS::CodePipeline::Pipeline.StageDeclaration",
             "  Properties:",
@@ -12514,6 +13383,7 @@
     "aws-emr-cluster.scalingconstraints":{
         "prefix":"aws-emr-cluster.scalingconstraints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingconstraints.html",
             "${1:myAWSEMRCluster.ScalingConstraints}:",
             "  Type: AWS::EMR::Cluster.ScalingConstraints",
             "  Properties:",
@@ -12526,6 +13396,7 @@
     "aws-emr-instancegroupconfig.metricdimension":{
         "prefix":"aws-emr-instancegroupconfig.metricdimension",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-metricdimension.html",
             "${1:myAWSEMRInstanceGroupConfig.MetricDimension}:",
             "  Type: AWS::EMR::InstanceGroupConfig.MetricDimension",
             "  Properties:",
@@ -12538,6 +13409,7 @@
     "aws-apigateway-method.methodresponse":{
         "prefix":"aws-apigateway-method.methodresponse",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html",
             "${1:myAWSApiGatewayMethod.MethodResponse}:",
             "  Type: AWS::ApiGateway::Method.MethodResponse",
             "  Properties:",
@@ -12551,6 +13423,7 @@
     "aws-elasticbeanstalk-configurationtemplate.sourceconfiguration":{
         "prefix":"aws-elasticbeanstalk-configurationtemplate.sourceconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-sourceconfiguration.html",
             "${1:myAWSElasticBeanstalkConfigurationTemplate.SourceConfiguration}:",
             "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration",
             "  Properties:",
@@ -12563,6 +13436,7 @@
     "aws-elasticloadbalancingv2-listener.redirectconfig":{
         "prefix":"aws-elasticloadbalancingv2-listener.redirectconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html",
             "${1:myAWSElasticLoadBalancingV2Listener.RedirectConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener.RedirectConfig",
             "  Properties:",
@@ -12579,6 +13453,7 @@
     "aws-greengrass-connectordefinition.connectordefinitionversion":{
         "prefix":"aws-greengrass-connectordefinition.connectordefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html",
             "${1:myAWSGreengrassConnectorDefinition.ConnectorDefinitionVersion}:",
             "  Type: AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion",
             "  Properties:",
@@ -12590,6 +13465,7 @@
     "aws-autoscaling-autoscalinggroup.notificationconfiguration":{
         "prefix":"aws-autoscaling-autoscalinggroup.notificationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html",
             "${1:myAWSAutoScalingAutoScalingGroup.NotificationConfiguration}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration",
             "  Properties:",
@@ -12602,6 +13478,7 @@
     "aws-kinesisanalytics-applicationoutput.kinesisstreamsoutput":{
         "prefix":"aws-kinesisanalytics-applicationoutput.kinesisstreamsoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisstreamsoutput.html",
             "${1:myAWSKinesisAnalyticsApplicationOutput.KinesisStreamsOutput}:",
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput",
             "  Properties:",
@@ -12614,6 +13491,7 @@
     "aws-greengrass-functiondefinitionversion.function":{
         "prefix":"aws-greengrass-functiondefinitionversion.function",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.Function}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.Function",
             "  Properties:",
@@ -12627,6 +13505,7 @@
     "aws-ec2-launchtemplate.monitoring":{
         "prefix":"aws-ec2-launchtemplate.monitoring",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html",
             "${1:myAWSEC2LaunchTemplate.Monitoring}:",
             "  Type: AWS::EC2::LaunchTemplate.Monitoring",
             "  Properties:",
@@ -12638,6 +13517,7 @@
     "aws-glue-partition.order":{
         "prefix":"aws-glue-partition.order",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html",
             "${1:myAWSGluePartition.Order}:",
             "  Type: AWS::Glue::Partition.Order",
             "  Properties:",
@@ -12650,6 +13530,7 @@
     "aws-servicediscovery-service.dnsconfig":{
         "prefix":"aws-servicediscovery-service.dnsconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html",
             "${1:myAWSServiceDiscoveryService.DnsConfig}:",
             "  Type: AWS::ServiceDiscovery::Service.DnsConfig",
             "  Properties:",
@@ -12663,6 +13544,7 @@
     "aws-apigateway-method.integration":{
         "prefix":"aws-apigateway-method.integration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html",
             "${1:myAWSApiGatewayMethod.Integration}:",
             "  Type: AWS::ApiGateway::Method.Integration",
             "  Properties:",
@@ -12687,6 +13569,7 @@
     "aws-batch-jobdefinition.timeout":{
         "prefix":"aws-batch-jobdefinition.timeout",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html",
             "${1:myAWSBatchJobDefinition.Timeout}:",
             "  Type: AWS::Batch::JobDefinition.Timeout",
             "  Properties:",
@@ -12698,6 +13581,7 @@
     "aws-kinesisanalyticsv2-applicationoutput.destinationschema":{
         "prefix":"aws-kinesisanalyticsv2-applicationoutput.destinationschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationOutput.DestinationSchema}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema",
             "  Properties:",
@@ -12709,6 +13593,7 @@
     "aws-iot-topicrule.republishaction":{
         "prefix":"aws-iot-topicrule.republishaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html",
             "${1:myAWSIoTTopicRule.RepublishAction}:",
             "  Type: AWS::IoT::TopicRule.RepublishAction",
             "  Properties:",
@@ -12721,6 +13606,7 @@
     "aws-glue-table.skewedinfo":{
         "prefix":"aws-glue-table.skewedinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html",
             "${1:myAWSGlueTable.SkewedInfo}:",
             "  Type: AWS::Glue::Table.SkewedInfo",
             "  Properties:",
@@ -12734,6 +13620,7 @@
     "aws-servicediscovery-service.dnsrecord":{
         "prefix":"aws-servicediscovery-service.dnsrecord",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html",
             "${1:myAWSServiceDiscoveryService.DnsRecord}:",
             "  Type: AWS::ServiceDiscovery::Service.DnsRecord",
             "  Properties:",
@@ -12746,6 +13633,7 @@
     "aws-greengrass-devicedefinition.device":{
         "prefix":"aws-greengrass-devicedefinition.device",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html",
             "${1:myAWSGreengrassDeviceDefinition.Device}:",
             "  Type: AWS::Greengrass::DeviceDefinition.Device",
             "  Properties:",
@@ -12760,6 +13648,7 @@
     "aws-config-configrule.scope":{
         "prefix":"aws-config-configrule.scope",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html",
             "${1:myAWSConfigConfigRule.Scope}:",
             "  Type: AWS::Config::ConfigRule.Scope",
             "  Properties:",
@@ -12774,6 +13663,7 @@
     "aws-cloudfront-distribution.forwardedvalues":{
         "prefix":"aws-cloudfront-distribution.forwardedvalues",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html",
             "${1:myAWSCloudFrontDistribution.ForwardedValues}:",
             "  Type: AWS::CloudFront::Distribution.ForwardedValues",
             "  Properties:",
@@ -12788,6 +13678,7 @@
     "aws-waf-xssmatchset.fieldtomatch":{
         "prefix":"aws-waf-xssmatchset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html",
             "${1:myAWSWAFXssMatchSet.FieldToMatch}:",
             "  Type: AWS::WAF::XssMatchSet.FieldToMatch",
             "  Properties:",
@@ -12800,6 +13691,7 @@
     "aws-apigateway-method.integrationresponse":{
         "prefix":"aws-apigateway-method.integrationresponse",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html",
             "${1:myAWSApiGatewayMethod.IntegrationResponse}:",
             "  Type: AWS::ApiGateway::Method.IntegrationResponse",
             "  Properties:",
@@ -12815,6 +13707,7 @@
     "aws-greengrass-devicedefinition.devicedefinitionversion":{
         "prefix":"aws-greengrass-devicedefinition.devicedefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html",
             "${1:myAWSGreengrassDeviceDefinition.DeviceDefinitionVersion}:",
             "  Type: AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion",
             "  Properties:",
@@ -12826,6 +13719,7 @@
     "aws-budgets-budget.subscriber":{
         "prefix":"aws-budgets-budget.subscriber",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html",
             "${1:myAWSBudgetsBudget.Subscriber}:",
             "  Type: AWS::Budgets::Budget.Subscriber",
             "  Properties:",
@@ -12838,6 +13732,7 @@
     "aws-emr-cluster.scalingaction":{
         "prefix":"aws-emr-cluster.scalingaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingaction.html",
             "${1:myAWSEMRCluster.ScalingAction}:",
             "  Type: AWS::EMR::Cluster.ScalingAction",
             "  Properties:",
@@ -12850,6 +13745,7 @@
     "aws-ec2-spotfleet.spotfleetlaunchspecification":{
         "prefix":"aws-ec2-spotfleet.spotfleetlaunchspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html",
             "${1:myAWSEC2SpotFleet.SpotFleetLaunchSpecification}:",
             "  Type: AWS::EC2::SpotFleet.SpotFleetLaunchSpecification",
             "  Properties:",
@@ -12877,6 +13773,7 @@
     "aws-ecs-taskdefinition.keyvaluepair":{
         "prefix":"aws-ecs-taskdefinition.keyvaluepair",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html",
             "${1:myAWSECSTaskDefinition.KeyValuePair}:",
             "  Type: AWS::ECS::TaskDefinition.KeyValuePair",
             "  Properties:",
@@ -12889,6 +13786,7 @@
     "aws-codepipeline-customactiontype.settings":{
         "prefix":"aws-codepipeline-customactiontype.settings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html",
             "${1:myAWSCodePipelineCustomActionType.Settings}:",
             "  Type: AWS::CodePipeline::CustomActionType.Settings",
             "  Properties:",
@@ -12903,6 +13801,7 @@
     "aws-s3-bucket.analyticsconfiguration":{
         "prefix":"aws-s3-bucket.analyticsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html",
             "${1:myAWSS3Bucket.AnalyticsConfiguration}:",
             "  Type: AWS::S3::Bucket.AnalyticsConfiguration",
             "  Properties:",
@@ -12917,6 +13816,7 @@
     "aws-budgets-budget.notification":{
         "prefix":"aws-budgets-budget.notification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html",
             "${1:myAWSBudgetsBudget.Notification}:",
             "  Type: AWS::Budgets::Budget.Notification",
             "  Properties:",
@@ -12931,6 +13831,7 @@
     "aws-autoscalingplans-scalingplan.targettrackingconfiguration":{
         "prefix":"aws-autoscalingplans-scalingplan.targettrackingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html",
             "${1:myAWSAutoScalingPlansScalingPlan.TargetTrackingConfiguration}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration",
             "  Properties:",
@@ -12948,6 +13849,7 @@
     "aws-kinesisanalyticsv2-application.jsonmappingparameters":{
         "prefix":"aws-kinesisanalyticsv2-application.jsonmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-jsonmappingparameters.html",
             "${1:myAWSKinesisAnalyticsV2Application.JSONMappingParameters}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.JSONMappingParameters",
             "  Properties:",
@@ -12959,6 +13861,7 @@
     "aws-gamelift-alias.routingstrategy":{
         "prefix":"aws-gamelift-alias.routingstrategy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html",
             "${1:myAWSGameLiftAlias.RoutingStrategy}:",
             "  Type: AWS::GameLift::Alias.RoutingStrategy",
             "  Properties:",
@@ -12972,6 +13875,7 @@
     "aws-appsync-resolver.pipelineconfig":{
         "prefix":"aws-appsync-resolver.pipelineconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html",
             "${1:myAWSAppSyncResolver.PipelineConfig}:",
             "  Type: AWS::AppSync::Resolver.PipelineConfig",
             "  Properties:",
@@ -12983,6 +13887,7 @@
     "aws-ec2-spotfleet.classicloadbalancersconfig":{
         "prefix":"aws-ec2-spotfleet.classicloadbalancersconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html",
             "${1:myAWSEC2SpotFleet.ClassicLoadBalancersConfig}:",
             "  Type: AWS::EC2::SpotFleet.ClassicLoadBalancersConfig",
             "  Properties:",
@@ -12994,6 +13899,7 @@
     "aws-ssm-maintenancewindowtask.notificationconfig":{
         "prefix":"aws-ssm-maintenancewindowtask.notificationconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html",
             "${1:myAWSSSMMaintenanceWindowTask.NotificationConfig}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.NotificationConfig",
             "  Properties:",
@@ -13007,6 +13913,7 @@
     "aws-emr-instancefleetconfig.configuration":{
         "prefix":"aws-emr-instancefleetconfig.configuration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html",
             "${1:myAWSEMRInstanceFleetConfig.Configuration}:",
             "  Type: AWS::EMR::InstanceFleetConfig.Configuration",
             "  Properties:",
@@ -13020,6 +13927,7 @@
     "aws-kinesisanalyticsv2-application.codecontent":{
         "prefix":"aws-kinesisanalyticsv2-application.codecontent",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html",
             "${1:myAWSKinesisAnalyticsV2Application.CodeContent}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.CodeContent",
             "  Properties:",
@@ -13033,6 +13941,7 @@
     "aws-cognito-userpooluser.attributetype":{
         "prefix":"aws-cognito-userpooluser.attributetype",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html",
             "${1:myAWSCognitoUserPoolUser.AttributeType}:",
             "  Type: AWS::Cognito::UserPoolUser.AttributeType",
             "  Properties:",
@@ -13045,6 +13954,7 @@
     "aws-glue-table.storagedescriptor":{
         "prefix":"aws-glue-table.storagedescriptor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html",
             "${1:myAWSGlueTable.StorageDescriptor}:",
             "  Type: AWS::Glue::Table.StorageDescriptor",
             "  Properties:",
@@ -13067,6 +13977,7 @@
     "aws-iam-user.loginprofile":{
         "prefix":"aws-iam-user.loginprofile",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html",
             "${1:myAWSIAMUser.LoginProfile}:",
             "  Type: AWS::IAM::User.LoginProfile",
             "  Properties:",
@@ -13079,6 +13990,7 @@
     "aws-s3-bucket.sourceselectioncriteria":{
         "prefix":"aws-s3-bucket.sourceselectioncriteria",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html",
             "${1:myAWSS3Bucket.SourceSelectionCriteria}:",
             "  Type: AWS::S3::Bucket.SourceSelectionCriteria",
             "  Properties:",
@@ -13090,6 +14002,7 @@
     "aws-greengrass-subscriptiondefinition.subscription":{
         "prefix":"aws-greengrass-subscriptiondefinition.subscription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html",
             "${1:myAWSGreengrassSubscriptionDefinition.Subscription}:",
             "  Type: AWS::Greengrass::SubscriptionDefinition.Subscription",
             "  Properties:",
@@ -13104,6 +14017,7 @@
     "aws-apigateway-stage.methodsetting":{
         "prefix":"aws-apigateway-stage.methodsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html",
             "${1:myAWSApiGatewayStage.MethodSetting}:",
             "  Type: AWS::ApiGateway::Stage.MethodSetting",
             "  Properties:",
@@ -13124,6 +14038,7 @@
     "aws-dynamodb-table.provisionedthroughput":{
         "prefix":"aws-dynamodb-table.provisionedthroughput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
             "${1:myAWSDynamoDBTable.ProvisionedThroughput}:",
             "  Type: AWS::DynamoDB::Table.ProvisionedThroughput",
             "  Properties:",
@@ -13136,6 +14051,7 @@
     "aws-opsworks-stack.source":{
         "prefix":"aws-opsworks-stack.source",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html",
             "${1:myAWSOpsWorksStack.Source}:",
             "  Type: AWS::OpsWorks::Stack.Source",
             "  Properties:",
@@ -13152,6 +14068,7 @@
     "aws-ec2-launchtemplate.placement":{
         "prefix":"aws-ec2-launchtemplate.placement",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html",
             "${1:myAWSEC2LaunchTemplate.Placement}:",
             "  Type: AWS::EC2::LaunchTemplate.Placement",
             "  Properties:",
@@ -13167,6 +14084,7 @@
     "aws-elasticloadbalancing-loadbalancer.connectionsettings":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.connectionsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.ConnectionSettings}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings",
             "  Properties:",
@@ -13178,6 +14096,7 @@
     "aws-s3-bucket.loggingconfiguration":{
         "prefix":"aws-s3-bucket.loggingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html",
             "${1:myAWSS3Bucket.LoggingConfiguration}:",
             "  Type: AWS::S3::Bucket.LoggingConfiguration",
             "  Properties:",
@@ -13190,6 +14109,7 @@
     "aws-s3-bucket.storageclassanalysis":{
         "prefix":"aws-s3-bucket.storageclassanalysis",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html",
             "${1:myAWSS3Bucket.StorageClassAnalysis}:",
             "  Type: AWS::S3::Bucket.StorageClassAnalysis",
             "  Properties:",
@@ -13201,6 +14121,7 @@
     "aws-s3-bucket.routingrule":{
         "prefix":"aws-s3-bucket.routingrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html",
             "${1:myAWSS3Bucket.RoutingRule}:",
             "  Type: AWS::S3::Bucket.RoutingRule",
             "  Properties:",
@@ -13213,6 +14134,7 @@
     "aws-greengrass-loggerdefinition.logger":{
         "prefix":"aws-greengrass-loggerdefinition.logger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html",
             "${1:myAWSGreengrassLoggerDefinition.Logger}:",
             "  Type: AWS::Greengrass::LoggerDefinition.Logger",
             "  Properties:",
@@ -13228,6 +14150,7 @@
     "aws-emr-cluster.kerberosattributes":{
         "prefix":"aws-emr-cluster.kerberosattributes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html",
             "${1:myAWSEMRCluster.KerberosAttributes}:",
             "  Type: AWS::EMR::Cluster.KerberosAttributes",
             "  Properties:",
@@ -13243,6 +14166,7 @@
     "aws-route53-recordset.geolocation":{
         "prefix":"aws-route53-recordset.geolocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html",
             "${1:myAWSRoute53RecordSet.GeoLocation}:",
             "  Type: AWS::Route53::RecordSet.GeoLocation",
             "  Properties:",
@@ -13256,6 +14180,7 @@
     "aws-kinesisfirehose-deliverystream.splunkretryoptions":{
         "prefix":"aws-kinesisfirehose-deliverystream.splunkretryoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.SplunkRetryOptions}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions",
             "  Properties:",
@@ -13267,6 +14192,7 @@
     "aws-autoscaling-scalingpolicy.predefinedmetricspecification":{
         "prefix":"aws-autoscaling-scalingpolicy.predefinedmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html",
             "${1:myAWSAutoScalingScalingPolicy.PredefinedMetricSpecification}:",
             "  Type: AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification",
             "  Properties:",
@@ -13279,6 +14205,7 @@
     "aws-lambda-layerversion.content":{
         "prefix":"aws-lambda-layerversion.content",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html",
             "${1:myAWSLambdaLayerVersion.Content}:",
             "  Type: AWS::Lambda::LayerVersion.Content",
             "  Properties:",
@@ -13292,6 +14219,7 @@
     "aws-iotanalytics-dataset.queryaction":{
         "prefix":"aws-iotanalytics-dataset.queryaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-queryaction.html",
             "${1:myAWSIoTAnalyticsDataset.QueryAction}:",
             "  Type: AWS::IoTAnalytics::Dataset.QueryAction",
             "  Properties:",
@@ -13304,6 +14232,7 @@
     "aws-apigateway-domainname.endpointconfiguration":{
         "prefix":"aws-apigateway-domainname.endpointconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html",
             "${1:myAWSApiGatewayDomainName.EndpointConfiguration}:",
             "  Type: AWS::ApiGateway::DomainName.EndpointConfiguration",
             "  Properties:",
@@ -13315,6 +14244,7 @@
     "aws-ssm-association.target":{
         "prefix":"aws-ssm-association.target",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html",
             "${1:myAWSSSMAssociation.Target}:",
             "  Type: AWS::SSM::Association.Target",
             "  Properties:",
@@ -13327,6 +14257,7 @@
     "aws-greengrass-coredefinition.coredefinitionversion":{
         "prefix":"aws-greengrass-coredefinition.coredefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html",
             "${1:myAWSGreengrassCoreDefinition.CoreDefinitionVersion}:",
             "  Type: AWS::Greengrass::CoreDefinition.CoreDefinitionVersion",
             "  Properties:",
@@ -13338,6 +14269,7 @@
     "aws-applicationautoscaling-scalingpolicy.stepadjustment":{
         "prefix":"aws-applicationautoscaling-scalingpolicy.stepadjustment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy.StepAdjustment}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment",
             "  Properties:",
@@ -13351,6 +14283,7 @@
     "aws-codepipeline-pipeline.stagetransition":{
         "prefix":"aws-codepipeline-pipeline.stagetransition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-disableinboundstagetransitions.html",
             "${1:myAWSCodePipelinePipeline.StageTransition}:",
             "  Type: AWS::CodePipeline::Pipeline.StageTransition",
             "  Properties:",
@@ -13363,6 +14296,7 @@
     "aws-ssm-maintenancewindowtask.maintenancewindowautomationparameters":{
         "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowautomationparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html",
             "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowAutomationParameters}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters",
             "  Properties:",
@@ -13375,6 +14309,7 @@
     "aws-iot-topicrule.stepfunctionsaction":{
         "prefix":"aws-iot-topicrule.stepfunctionsaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html",
             "${1:myAWSIoTTopicRule.StepFunctionsAction}:",
             "  Type: AWS::IoT::TopicRule.StepFunctionsAction",
             "  Properties:",
@@ -13388,6 +14323,7 @@
     "aws-ec2-spotfleet.spotfleetrequestconfigdata":{
         "prefix":"aws-ec2-spotfleet.spotfleetrequestconfigdata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html",
             "${1:myAWSEC2SpotFleet.SpotFleetRequestConfigData}:",
             "  Type: AWS::EC2::SpotFleet.SpotFleetRequestConfigData",
             "  Properties:",
@@ -13412,6 +14348,7 @@
     "aws-greengrass-resourcedefinitionversion.s3machinelearningmodelresourcedata":{
         "prefix":"aws-greengrass-resourcedefinitionversion.s3machinelearningmodelresourcedata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.S3MachineLearningModelResourceData}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData",
             "  Properties:",
@@ -13424,6 +14361,7 @@
     "aws-appsync-graphqlapi.openidconnectconfig":{
         "prefix":"aws-appsync-graphqlapi.openidconnectconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html",
             "${1:myAWSAppSyncGraphQLApi.OpenIDConnectConfig}:",
             "  Type: AWS::AppSync::GraphQLApi.OpenIDConnectConfig",
             "  Properties:",
@@ -13438,6 +14376,7 @@
     "aws-emr-cluster.simplescalingpolicyconfiguration":{
         "prefix":"aws-emr-cluster.simplescalingpolicyconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html",
             "${1:myAWSEMRCluster.SimpleScalingPolicyConfiguration}:",
             "  Type: AWS::EMR::Cluster.SimpleScalingPolicyConfiguration",
             "  Properties:",
@@ -13451,6 +14390,7 @@
     "aws-dlm-lifecyclepolicy.createrule":{
         "prefix":"aws-dlm-lifecyclepolicy.createrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html",
             "${1:myAWSDLMLifecyclePolicy.CreateRule}:",
             "  Type: AWS::DLM::LifecyclePolicy.CreateRule",
             "  Properties:",
@@ -13464,6 +14404,7 @@
     "aws-appsync-graphqlapi.logconfig":{
         "prefix":"aws-appsync-graphqlapi.logconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html",
             "${1:myAWSAppSyncGraphQLApi.LogConfig}:",
             "  Type: AWS::AppSync::GraphQLApi.LogConfig",
             "  Properties:",
@@ -13476,6 +14417,7 @@
     "aws-emr-instancegroupconfig.simplescalingpolicyconfiguration":{
         "prefix":"aws-emr-instancegroupconfig.simplescalingpolicyconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html",
             "${1:myAWSEMRInstanceGroupConfig.SimpleScalingPolicyConfiguration}:",
             "  Type: AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration",
             "  Properties:",
@@ -13489,6 +14431,7 @@
     "aws-kinesisanalyticsv2-applicationoutput.output":{
         "prefix":"aws-kinesisanalyticsv2-applicationoutput.output",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationOutput.Output}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationOutput.Output",
             "  Properties:",
@@ -13504,6 +14447,7 @@
     "aws-greengrass-functiondefinition.defaultconfig":{
         "prefix":"aws-greengrass-functiondefinition.defaultconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html",
             "${1:myAWSGreengrassFunctionDefinition.DefaultConfig}:",
             "  Type: AWS::Greengrass::FunctionDefinition.DefaultConfig",
             "  Properties:",
@@ -13515,6 +14459,7 @@
     "aws-ec2-launchtemplate.capacityreservationspecification":{
         "prefix":"aws-ec2-launchtemplate.capacityreservationspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html",
             "${1:myAWSEC2LaunchTemplate.CapacityReservationSpecification}:",
             "  Type: AWS::EC2::LaunchTemplate.CapacityReservationSpecification",
             "  Properties:",
@@ -13527,6 +14472,7 @@
     "aws-s3-bucket.encryptionconfiguration":{
         "prefix":"aws-s3-bucket.encryptionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html",
             "${1:myAWSS3Bucket.EncryptionConfiguration}:",
             "  Type: AWS::S3::Bucket.EncryptionConfiguration",
             "  Properties:",
@@ -13538,6 +14484,7 @@
     "aws-elasticloadbalancingv2-listener.fixedresponseconfig":{
         "prefix":"aws-elasticloadbalancingv2-listener.fixedresponseconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html",
             "${1:myAWSElasticLoadBalancingV2Listener.FixedResponseConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig",
             "  Properties:",
@@ -13551,6 +14498,7 @@
     "aws-opsworks-stack.chefconfiguration":{
         "prefix":"aws-opsworks-stack.chefconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html",
             "${1:myAWSOpsWorksStack.ChefConfiguration}:",
             "  Type: AWS::OpsWorks::Stack.ChefConfiguration",
             "  Properties:",
@@ -13563,6 +14511,7 @@
     "aws-appmesh-virtualnode.tagref":{
         "prefix":"aws-appmesh-virtualnode.tagref",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tagref.html",
             "${1:myAWSAppMeshVirtualNode.TagRef}:",
             "  Type: AWS::AppMesh::VirtualNode.TagRef",
             "  Properties:",
@@ -13575,6 +14524,7 @@
     "aws-events-rule.target":{
         "prefix":"aws-events-rule.target",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html",
             "${1:myAWSEventsRule.Target}:",
             "  Type: AWS::Events::Rule.Target",
             "  Properties:",
@@ -13595,6 +14545,7 @@
     "aws-kinesisanalytics-application.kinesisstreamsinput":{
         "prefix":"aws-kinesisanalytics-application.kinesisstreamsinput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisstreamsinput.html",
             "${1:myAWSKinesisAnalyticsApplication.KinesisStreamsInput}:",
             "  Type: AWS::KinesisAnalytics::Application.KinesisStreamsInput",
             "  Properties:",
@@ -13607,6 +14558,7 @@
     "aws-robomaker-simulationapplication.sourceconfig":{
         "prefix":"aws-robomaker-simulationapplication.sourceconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html",
             "${1:myAWSRoboMakerSimulationApplication.SourceConfig}:",
             "  Type: AWS::RoboMaker::SimulationApplication.SourceConfig",
             "  Properties:",
@@ -13620,6 +14572,7 @@
     "aws-codebuild-project.registrycredential":{
         "prefix":"aws-codebuild-project.registrycredential",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-registrycredential.html",
             "${1:myAWSCodeBuildProject.RegistryCredential}:",
             "  Type: AWS::CodeBuild::Project.RegistryCredential",
             "  Properties:",
@@ -13632,6 +14585,7 @@
     "aws-appsync-datasource.rdshttpendpointconfig":{
         "prefix":"aws-appsync-datasource.rdshttpendpointconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html",
             "${1:myAWSAppSyncDataSource.RdsHttpEndpointConfig}:",
             "  Type: AWS::AppSync::DataSource.RdsHttpEndpointConfig",
             "  Properties:",
@@ -13647,6 +14601,7 @@
     "aws-route53-recordset.aliastarget":{
         "prefix":"aws-route53-recordset.aliastarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html",
             "${1:myAWSRoute53RecordSet.AliasTarget}:",
             "  Type: AWS::Route53::RecordSet.AliasTarget",
             "  Properties:",
@@ -13660,6 +14615,7 @@
     "aws-codecommit-repository.repositorytrigger":{
         "prefix":"aws-codecommit-repository.repositorytrigger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html",
             "${1:myAWSCodeCommitRepository.RepositoryTrigger}:",
             "  Type: AWS::CodeCommit::Repository.RepositoryTrigger",
             "  Properties:",
@@ -13675,6 +14631,7 @@
     "aws-amazonmq-broker.user":{
         "prefix":"aws-amazonmq-broker.user",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html",
             "${1:myAWSAmazonMQBroker.User}:",
             "  Type: AWS::AmazonMQ::Broker.User",
             "  Properties:",
@@ -13689,6 +14646,7 @@
     "aws-waf-bytematchset.bytematchtuple":{
         "prefix":"aws-waf-bytematchset.bytematchtuple",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html",
             "${1:myAWSWAFByteMatchSet.ByteMatchTuple}:",
             "  Type: AWS::WAF::ByteMatchSet.ByteMatchTuple",
             "  Properties:",
@@ -13704,6 +14662,7 @@
     "aws-autoscaling-scalingpolicy.targettrackingconfiguration":{
         "prefix":"aws-autoscaling-scalingpolicy.targettrackingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html",
             "${1:myAWSAutoScalingScalingPolicy.TargetTrackingConfiguration}:",
             "  Type: AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration",
             "  Properties:",
@@ -13718,6 +14677,7 @@
     "aws-ecs-taskdefinition.mountpoint":{
         "prefix":"aws-ecs-taskdefinition.mountpoint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html",
             "${1:myAWSECSTaskDefinition.MountPoint}:",
             "  Type: AWS::ECS::TaskDefinition.MountPoint",
             "  Properties:",
@@ -13731,6 +14691,7 @@
     "aws-iotanalytics-pipeline.math":{
         "prefix":"aws-iotanalytics-pipeline.math",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html",
             "${1:myAWSIoTAnalyticsPipeline.Math}:",
             "  Type: AWS::IoTAnalytics::Pipeline.Math",
             "  Properties:",
@@ -13745,6 +14706,7 @@
     "aws-emr-cluster.application":{
         "prefix":"aws-emr-cluster.application",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html",
             "${1:myAWSEMRCluster.Application}:",
             "  Type: AWS::EMR::Cluster.Application",
             "  Properties:",
@@ -13759,6 +14721,7 @@
     "aws-appmesh-route.httproutematch":{
         "prefix":"aws-appmesh-route.httproutematch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html",
             "${1:myAWSAppMeshRoute.HttpRouteMatch}:",
             "  Type: AWS::AppMesh::Route.HttpRouteMatch",
             "  Properties:",
@@ -13770,6 +14733,7 @@
     "aws-kinesisfirehose-deliverystream.kinesisstreamsourceconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.kinesisstreamsourceconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.KinesisStreamSourceConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration",
             "  Properties:",
@@ -13782,6 +14746,7 @@
     "aws-iotanalytics-pipeline.removeattributes":{
         "prefix":"aws-iotanalytics-pipeline.removeattributes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html",
             "${1:myAWSIoTAnalyticsPipeline.RemoveAttributes}:",
             "  Type: AWS::IoTAnalytics::Pipeline.RemoveAttributes",
             "  Properties:",
@@ -13795,6 +14760,7 @@
     "aws-glue-classifier.xmlclassifier":{
         "prefix":"aws-glue-classifier.xmlclassifier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html",
             "${1:myAWSGlueClassifier.XMLClassifier}:",
             "  Type: AWS::Glue::Classifier.XMLClassifier",
             "  Properties:",
@@ -13808,6 +14774,7 @@
     "aws-ssm-maintenancewindowtask.taskinvocationparameters":{
         "prefix":"aws-ssm-maintenancewindowtask.taskinvocationparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html",
             "${1:myAWSSSMMaintenanceWindowTask.TaskInvocationParameters}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters",
             "  Properties:",
@@ -13822,6 +14789,7 @@
     "aws-appsync-datasource.lambdaconfig":{
         "prefix":"aws-appsync-datasource.lambdaconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html",
             "${1:myAWSAppSyncDataSource.LambdaConfig}:",
             "  Type: AWS::AppSync::DataSource.LambdaConfig",
             "  Properties:",
@@ -13833,6 +14801,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.mappingparameters":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.mappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.MappingParameters}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters",
             "  Properties:",
@@ -13845,6 +14814,7 @@
     "aws-codedeploy-deploymentgroup.ec2tagset":{
         "prefix":"aws-codedeploy-deploymentgroup.ec2tagset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html",
             "${1:myAWSCodeDeployDeploymentGroup.EC2TagSet}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagSet",
             "  Properties:",
@@ -13856,6 +14826,7 @@
     "aws-apigatewayv2-routeresponse.parameterconstraints":{
         "prefix":"aws-apigatewayv2-routeresponse.parameterconstraints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routeresponse-parameterconstraints.html",
             "${1:myAWSApiGatewayV2RouteResponse.ParameterConstraints}:",
             "  Type: AWS::ApiGatewayV2::RouteResponse.ParameterConstraints",
             "  Properties:",
@@ -13867,6 +14838,7 @@
     "aws-autoscalingplans-scalingplan.metricdimension":{
         "prefix":"aws-autoscalingplans-scalingplan.metricdimension",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html",
             "${1:myAWSAutoScalingPlansScalingPlan.MetricDimension}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.MetricDimension",
             "  Properties:",
@@ -13879,6 +14851,7 @@
     "aws-dynamodb-table.globalsecondaryindex":{
         "prefix":"aws-dynamodb-table.globalsecondaryindex",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html",
             "${1:myAWSDynamoDBTable.GlobalSecondaryIndex}:",
             "  Type: AWS::DynamoDB::Table.GlobalSecondaryIndex",
             "  Properties:",
@@ -13893,6 +14866,7 @@
     "aws-s3-bucket.redirectrule":{
         "prefix":"aws-s3-bucket.redirectrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html",
             "${1:myAWSS3Bucket.RedirectRule}:",
             "  Type: AWS::S3::Bucket.RedirectRule",
             "  Properties:",
@@ -13908,6 +14882,7 @@
     "aws-events-eventbuspolicy.condition":{
         "prefix":"aws-events-eventbuspolicy.condition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html",
             "${1:myAWSEventsEventBusPolicy.Condition}:",
             "  Type: AWS::Events::EventBusPolicy.Condition",
             "  Properties:",
@@ -13921,6 +14896,7 @@
     "aws-emr-instancegroupconfig.scalingrule":{
         "prefix":"aws-emr-instancegroupconfig.scalingrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html",
             "${1:myAWSEMRInstanceGroupConfig.ScalingRule}:",
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingRule",
             "  Properties:",
@@ -13935,6 +14911,7 @@
     "aws-emr-cluster.placementtype":{
         "prefix":"aws-emr-cluster.placementtype",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementtype.html",
             "${1:myAWSEMRCluster.PlacementType}:",
             "  Type: AWS::EMR::Cluster.PlacementType",
             "  Properties:",
@@ -13946,6 +14923,7 @@
     "aws-elasticloadbalancingv2-listenerrule.rulecondition":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule.rulecondition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule.RuleCondition}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition",
             "  Properties:",
@@ -13958,6 +14936,7 @@
     "aws-appmesh-virtualservice.tagref":{
         "prefix":"aws-appmesh-virtualservice.tagref",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-tagref.html",
             "${1:myAWSAppMeshVirtualService.TagRef}:",
             "  Type: AWS::AppMesh::VirtualService.TagRef",
             "  Properties:",
@@ -13970,6 +14949,7 @@
     "aws-appmesh-virtualnode.healthcheck":{
         "prefix":"aws-appmesh-virtualnode.healthcheck",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html",
             "${1:myAWSAppMeshVirtualNode.HealthCheck}:",
             "  Type: AWS::AppMesh::VirtualNode.HealthCheck",
             "  Properties:",
@@ -13987,6 +14967,7 @@
     "aws-codedeploy-deploymentgroup.alarmconfiguration":{
         "prefix":"aws-codedeploy-deploymentgroup.alarmconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html",
             "${1:myAWSCodeDeployDeploymentGroup.AlarmConfiguration}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration",
             "  Properties:",
@@ -14000,6 +14981,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.jsonmappingparameters":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.jsonmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-jsonmappingparameters.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.JSONMappingParameters}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters",
             "  Properties:",
@@ -14011,6 +14993,7 @@
     "aws-iotanalytics-pipeline.datastore":{
         "prefix":"aws-iotanalytics-pipeline.datastore",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html",
             "${1:myAWSIoTAnalyticsPipeline.Datastore}:",
             "  Type: AWS::IoTAnalytics::Pipeline.Datastore",
             "  Properties:",
@@ -14023,6 +15006,7 @@
     "aws-opsworks-app.sslconfiguration":{
         "prefix":"aws-opsworks-app.sslconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html",
             "${1:myAWSOpsWorksApp.SslConfiguration}:",
             "  Type: AWS::OpsWorks::App.SslConfiguration",
             "  Properties:",
@@ -14036,6 +15020,7 @@
     "aws-applicationautoscaling-scalabletarget.scheduledaction":{
         "prefix":"aws-applicationautoscaling-scalabletarget.scheduledaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html",
             "${1:myAWSApplicationAutoScalingScalableTarget.ScheduledAction}:",
             "  Type: AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction",
             "  Properties:",
@@ -14051,6 +15036,7 @@
     "aws-ssm-patchbaseline.patchfilter":{
         "prefix":"aws-ssm-patchbaseline.patchfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html",
             "${1:myAWSSSMPatchBaseline.PatchFilter}:",
             "  Type: AWS::SSM::PatchBaseline.PatchFilter",
             "  Properties:",
@@ -14063,6 +15049,7 @@
     "aws-ec2-instance.instanceipv6address":{
         "prefix":"aws-ec2-instance.instanceipv6address",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-instanceipv6address.html",
             "${1:myAWSEC2Instance.InstanceIpv6Address}:",
             "  Type: AWS::EC2::Instance.InstanceIpv6Address",
             "  Properties:",
@@ -14074,6 +15061,7 @@
     "aws-elasticbeanstalk-environment.tier":{
         "prefix":"aws-elasticbeanstalk-environment.tier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html",
             "${1:myAWSElasticBeanstalkEnvironment.Tier}:",
             "  Type: AWS::ElasticBeanstalk::Environment.Tier",
             "  Properties:",
@@ -14087,6 +15075,7 @@
     "aws-ec2-instance.associationparameter":{
         "prefix":"aws-ec2-instance.associationparameter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html",
             "${1:myAWSEC2Instance.AssociationParameter}:",
             "  Type: AWS::EC2::Instance.AssociationParameter",
             "  Properties:",
@@ -14099,6 +15088,7 @@
     "aws-iot-topicrule.topicrulepayload":{
         "prefix":"aws-iot-topicrule.topicrulepayload",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html",
             "${1:myAWSIoTTopicRule.TopicRulePayload}:",
             "  Type: AWS::IoT::TopicRule.TopicRulePayload",
             "  Properties:",
@@ -14115,6 +15105,7 @@
     "aws-cognito-identitypool.pushsync":{
         "prefix":"aws-cognito-identitypool.pushsync",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html",
             "${1:myAWSCognitoIdentityPool.PushSync}:",
             "  Type: AWS::Cognito::IdentityPool.PushSync",
             "  Properties:",
@@ -14127,6 +15118,7 @@
     "aws-elasticloadbalancing-loadbalancer.connectiondrainingpolicy":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.connectiondrainingpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.ConnectionDrainingPolicy}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy",
             "  Properties:",
@@ -14139,6 +15131,7 @@
     "aws-ecs-service.serviceregistry":{
         "prefix":"aws-ecs-service.serviceregistry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html",
             "${1:myAWSECSService.ServiceRegistry}:",
             "  Type: AWS::ECS::Service.ServiceRegistry",
             "  Properties:",
@@ -14153,6 +15146,7 @@
     "aws-s3-bucket.websiteconfiguration":{
         "prefix":"aws-s3-bucket.websiteconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html",
             "${1:myAWSS3Bucket.WebsiteConfiguration}:",
             "  Type: AWS::S3::Bucket.WebsiteConfiguration",
             "  Properties:",
@@ -14167,6 +15161,7 @@
     "aws-cognito-identitypool.cognitoidentityprovider":{
         "prefix":"aws-cognito-identitypool.cognitoidentityprovider",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html",
             "${1:myAWSCognitoIdentityPool.CognitoIdentityProvider}:",
             "  Type: AWS::Cognito::IdentityPool.CognitoIdentityProvider",
             "  Properties:",
@@ -14180,6 +15175,7 @@
     "aws-cloudfront-distribution.georestriction":{
         "prefix":"aws-cloudfront-distribution.georestriction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html",
             "${1:myAWSCloudFrontDistribution.GeoRestriction}:",
             "  Type: AWS::CloudFront::Distribution.GeoRestriction",
             "  Properties:",
@@ -14192,6 +15188,7 @@
     "aws-ec2-ec2fleet.fleetlaunchtemplateconfigrequest":{
         "prefix":"aws-ec2-ec2fleet.fleetlaunchtemplateconfigrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html",
             "${1:myAWSEC2EC2Fleet.FleetLaunchTemplateConfigRequest}:",
             "  Type: AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest",
             "  Properties:",
@@ -14204,6 +15201,7 @@
     "aws-iotanalytics-dataset.resourceconfiguration":{
         "prefix":"aws-iotanalytics-dataset.resourceconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-resourceconfiguration.html",
             "${1:myAWSIoTAnalyticsDataset.ResourceConfiguration}:",
             "  Type: AWS::IoTAnalytics::Dataset.ResourceConfiguration",
             "  Properties:",
@@ -14216,6 +15214,7 @@
     "aws-ses-receiptrule.snsaction":{
         "prefix":"aws-ses-receiptrule.snsaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html",
             "${1:myAWSSESReceiptRule.SNSAction}:",
             "  Type: AWS::SES::ReceiptRule.SNSAction",
             "  Properties:",
@@ -14228,6 +15227,7 @@
     "aws-elasticbeanstalk-configurationtemplate.configurationoptionsetting":{
         "prefix":"aws-elasticbeanstalk-configurationtemplate.configurationoptionsetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html",
             "${1:myAWSElasticBeanstalkConfigurationTemplate.ConfigurationOptionSetting}:",
             "  Type: AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting",
             "  Properties:",
@@ -14242,6 +15242,7 @@
     "aws-batch-jobdefinition.noderangeproperty":{
         "prefix":"aws-batch-jobdefinition.noderangeproperty",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html",
             "${1:myAWSBatchJobDefinition.NodeRangeProperty}:",
             "  Type: AWS::Batch::JobDefinition.NodeRangeProperty",
             "  Properties:",
@@ -14254,6 +15255,7 @@
     "aws-cognito-userpool.policies":{
         "prefix":"aws-cognito-userpool.policies",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html",
             "${1:myAWSCognitoUserPool.Policies}:",
             "  Type: AWS::Cognito::UserPool.Policies",
             "  Properties:",
@@ -14265,6 +15267,7 @@
     "aws-events-rule.kinesisparameters":{
         "prefix":"aws-events-rule.kinesisparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html",
             "${1:myAWSEventsRule.KinesisParameters}:",
             "  Type: AWS::Events::Rule.KinesisParameters",
             "  Properties:",
@@ -14276,6 +15279,7 @@
     "aws-wafregional-bytematchset.fieldtomatch":{
         "prefix":"aws-wafregional-bytematchset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html",
             "${1:myAWSWAFRegionalByteMatchSet.FieldToMatch}:",
             "  Type: AWS::WAFRegional::ByteMatchSet.FieldToMatch",
             "  Properties:",
@@ -14288,6 +15292,7 @@
     "aws-ec2-instance.launchtemplatespecification":{
         "prefix":"aws-ec2-instance.launchtemplatespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html",
             "${1:myAWSEC2Instance.LaunchTemplateSpecification}:",
             "  Type: AWS::EC2::Instance.LaunchTemplateSpecification",
             "  Properties:",
@@ -14301,6 +15306,7 @@
     "aws-autoscaling-autoscalinggroup.metricscollection":{
         "prefix":"aws-autoscaling-autoscalinggroup.metricscollection",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html",
             "${1:myAWSAutoScalingAutoScalingGroup.MetricsCollection}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.MetricsCollection",
             "  Properties:",
@@ -14313,6 +15319,7 @@
     "aws-codepipeline-pipeline.artifactstore":{
         "prefix":"aws-codepipeline-pipeline.artifactstore",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html",
             "${1:myAWSCodePipelinePipeline.ArtifactStore}:",
             "  Type: AWS::CodePipeline::Pipeline.ArtifactStore",
             "  Properties:",
@@ -14326,6 +15333,7 @@
     "aws-codebuild-project.cloudwatchlogsconfig":{
         "prefix":"aws-codebuild-project.cloudwatchlogsconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html",
             "${1:myAWSCodeBuildProject.CloudWatchLogsConfig}:",
             "  Type: AWS::CodeBuild::Project.CloudWatchLogsConfig",
             "  Properties:",
@@ -14339,6 +15347,7 @@
     "aws-dynamodb-table.keyschema":{
         "prefix":"aws-dynamodb-table.keyschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html",
             "${1:myAWSDynamoDBTable.KeySchema}:",
             "  Type: AWS::DynamoDB::Table.KeySchema",
             "  Properties:",
@@ -14351,6 +15360,7 @@
     "aws-greengrass-resourcedefinitionversion.localvolumeresourcedata":{
         "prefix":"aws-greengrass-resourcedefinitionversion.localvolumeresourcedata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.LocalVolumeResourceData}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData",
             "  Properties:",
@@ -14364,6 +15374,7 @@
     "aws-appmesh-mesh.egressfilter":{
         "prefix":"aws-appmesh-mesh.egressfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-egressfilter.html",
             "${1:myAWSAppMeshMesh.EgressFilter}:",
             "  Type: AWS::AppMesh::Mesh.EgressFilter",
             "  Properties:",
@@ -14375,6 +15386,7 @@
     "aws-ssm-patchbaseline.rule":{
         "prefix":"aws-ssm-patchbaseline.rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html",
             "${1:myAWSSSMPatchBaseline.Rule}:",
             "  Type: AWS::SSM::PatchBaseline.Rule",
             "  Properties:",
@@ -14389,6 +15401,7 @@
     "aws-cloudfront-distribution.viewercertificate":{
         "prefix":"aws-cloudfront-distribution.viewercertificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html",
             "${1:myAWSCloudFrontDistribution.ViewerCertificate}:",
             "  Type: AWS::CloudFront::Distribution.ViewerCertificate",
             "  Properties:",
@@ -14404,6 +15417,7 @@
     "aws-ses-configurationseteventdestination.cloudwatchdestination":{
         "prefix":"aws-ses-configurationseteventdestination.cloudwatchdestination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html",
             "${1:myAWSSESConfigurationSetEventDestination.CloudWatchDestination}:",
             "  Type: AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination",
             "  Properties:",
@@ -14415,6 +15429,7 @@
     "aws-appmesh-virtualservice.virtualnodeserviceprovider":{
         "prefix":"aws-appmesh-virtualservice.virtualnodeserviceprovider",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualnodeserviceprovider.html",
             "${1:myAWSAppMeshVirtualService.VirtualNodeServiceProvider}:",
             "  Type: AWS::AppMesh::VirtualService.VirtualNodeServiceProvider",
             "  Properties:",
@@ -14426,6 +15441,7 @@
     "aws-emr-cluster.configuration":{
         "prefix":"aws-emr-cluster.configuration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html",
             "${1:myAWSEMRCluster.Configuration}:",
             "  Type: AWS::EMR::Cluster.Configuration",
             "  Properties:",
@@ -14439,6 +15455,7 @@
     "aws-emr-instancefleetconfig.instancetypeconfig":{
         "prefix":"aws-emr-instancefleetconfig.instancetypeconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html",
             "${1:myAWSEMRInstanceFleetConfig.InstanceTypeConfig}:",
             "  Type: AWS::EMR::InstanceFleetConfig.InstanceTypeConfig",
             "  Properties:",
@@ -14455,6 +15472,7 @@
     "aws-wafregional-xssmatchset.xssmatchtuple":{
         "prefix":"aws-wafregional-xssmatchset.xssmatchtuple",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html",
             "${1:myAWSWAFRegionalXssMatchSet.XssMatchTuple}:",
             "  Type: AWS::WAFRegional::XssMatchSet.XssMatchTuple",
             "  Properties:",
@@ -14467,6 +15485,7 @@
     "aws-s3-bucket.rule":{
         "prefix":"aws-s3-bucket.rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html",
             "${1:myAWSS3Bucket.Rule}:",
             "  Type: AWS::S3::Bucket.Rule",
             "  Properties:",
@@ -14489,6 +15508,7 @@
     "aws-dlm-lifecyclepolicy.retainrule":{
         "prefix":"aws-dlm-lifecyclepolicy.retainrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html",
             "${1:myAWSDLMLifecyclePolicy.RetainRule}:",
             "  Type: AWS::DLM::LifecyclePolicy.RetainRule",
             "  Properties:",
@@ -14500,6 +15520,7 @@
     "aws-ecs-taskdefinition.kernelcapabilities":{
         "prefix":"aws-ecs-taskdefinition.kernelcapabilities",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html",
             "${1:myAWSECSTaskDefinition.KernelCapabilities}:",
             "  Type: AWS::ECS::TaskDefinition.KernelCapabilities",
             "  Properties:",
@@ -14512,6 +15533,7 @@
     "aws-iotanalytics-dataset.triggeringdataset":{
         "prefix":"aws-iotanalytics-dataset.triggeringdataset",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-triggeringdataset.html",
             "${1:myAWSIoTAnalyticsDataset.TriggeringDataset}:",
             "  Type: AWS::IoTAnalytics::Dataset.TriggeringDataset",
             "  Properties:",
@@ -14523,6 +15545,7 @@
     "aws-s3-bucket.topicconfiguration":{
         "prefix":"aws-s3-bucket.topicconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html",
             "${1:myAWSS3Bucket.TopicConfiguration}:",
             "  Type: AWS::S3::Bucket.TopicConfiguration",
             "  Properties:",
@@ -14536,6 +15559,7 @@
     "aws-cloudfront-distribution.s3originconfig":{
         "prefix":"aws-cloudfront-distribution.s3originconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html",
             "${1:myAWSCloudFrontDistribution.S3OriginConfig}:",
             "  Type: AWS::CloudFront::Distribution.S3OriginConfig",
             "  Properties:",
@@ -14547,6 +15571,7 @@
     "aws-ssm-association.parametervalues":{
         "prefix":"aws-ssm-association.parametervalues",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html",
             "${1:myAWSSSMAssociation.ParameterValues}:",
             "  Type: AWS::SSM::Association.ParameterValues",
             "  Properties:",
@@ -14558,6 +15583,7 @@
     "aws-kinesisanalytics-application.recordcolumn":{
         "prefix":"aws-kinesisanalytics-application.recordcolumn",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html",
             "${1:myAWSKinesisAnalyticsApplication.RecordColumn}:",
             "  Type: AWS::KinesisAnalytics::Application.RecordColumn",
             "  Properties:",
@@ -14571,6 +15597,7 @@
     "aws-ssm-patchbaseline.patchfiltergroup":{
         "prefix":"aws-ssm-patchbaseline.patchfiltergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html",
             "${1:myAWSSSMPatchBaseline.PatchFilterGroup}:",
             "  Type: AWS::SSM::PatchBaseline.PatchFilterGroup",
             "  Properties:",
@@ -14582,6 +15609,7 @@
     "aws-cognito-userpool.lambdaconfig":{
         "prefix":"aws-cognito-userpool.lambdaconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html",
             "${1:myAWSCognitoUserPool.LambdaConfig}:",
             "  Type: AWS::Cognito::UserPool.LambdaConfig",
             "  Properties:",
@@ -14600,6 +15628,7 @@
     "aws-dlm-lifecyclepolicy.policydetails":{
         "prefix":"aws-dlm-lifecyclepolicy.policydetails",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html",
             "${1:myAWSDLMLifecyclePolicy.PolicyDetails}:",
             "  Type: AWS::DLM::LifecyclePolicy.PolicyDetails",
             "  Properties:",
@@ -14613,6 +15642,7 @@
     "aws-amazonmq-configuration.tagsentry":{
         "prefix":"aws-amazonmq-configuration.tagsentry",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html",
             "${1:myAWSAmazonMQConfiguration.TagsEntry}:",
             "  Type: AWS::AmazonMQ::Configuration.TagsEntry",
             "  Properties:",
@@ -14625,6 +15655,7 @@
     "aws-glue-table.tableinput":{
         "prefix":"aws-glue-table.tableinput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html",
             "${1:myAWSGlueTable.TableInput}:",
             "  Type: AWS::Glue::Table.TableInput",
             "  Properties:",
@@ -14645,6 +15676,7 @@
     "aws-codebuild-project.projectcache":{
         "prefix":"aws-codebuild-project.projectcache",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html",
             "${1:myAWSCodeBuildProject.ProjectCache}:",
             "  Type: AWS::CodeBuild::Project.ProjectCache",
             "  Properties:",
@@ -14658,6 +15690,7 @@
     "aws-waf-sizeconstraintset.fieldtomatch":{
         "prefix":"aws-waf-sizeconstraintset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint-fieldtomatch.html",
             "${1:myAWSWAFSizeConstraintSet.FieldToMatch}:",
             "  Type: AWS::WAF::SizeConstraintSet.FieldToMatch",
             "  Properties:",
@@ -14670,6 +15703,7 @@
     "aws-appmesh-virtualrouter.tagref":{
         "prefix":"aws-appmesh-virtualrouter.tagref",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-tagref.html",
             "${1:myAWSAppMeshVirtualRouter.TagRef}:",
             "  Type: AWS::AppMesh::VirtualRouter.TagRef",
             "  Properties:",
@@ -14682,6 +15716,7 @@
     "aws-iotanalytics-pipeline.addattributes":{
         "prefix":"aws-iotanalytics-pipeline.addattributes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html",
             "${1:myAWSIoTAnalyticsPipeline.AddAttributes}:",
             "  Type: AWS::IoTAnalytics::Pipeline.AddAttributes",
             "  Properties:",
@@ -14695,6 +15730,7 @@
     "aws-lambda-function.tracingconfig":{
         "prefix":"aws-lambda-function.tracingconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tracingconfig.html",
             "${1:myAWSLambdaFunction.TracingConfig}:",
             "  Type: AWS::Lambda::Function.TracingConfig",
             "  Properties:",
@@ -14706,6 +15742,7 @@
     "aws-emr-cluster.scriptbootstrapactionconfig":{
         "prefix":"aws-emr-cluster.scriptbootstrapactionconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scriptbootstrapactionconfig.html",
             "${1:myAWSEMRCluster.ScriptBootstrapActionConfig}:",
             "  Type: AWS::EMR::Cluster.ScriptBootstrapActionConfig",
             "  Properties:",
@@ -14718,6 +15755,7 @@
     "aws-autoscaling-launchconfiguration.blockdevice":{
         "prefix":"aws-autoscaling-launchconfiguration.blockdevice",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html",
             "${1:myAWSAutoScalingLaunchConfiguration.BlockDevice}:",
             "  Type: AWS::AutoScaling::LaunchConfiguration.BlockDevice",
             "  Properties:",
@@ -14734,6 +15772,7 @@
     "aws-s3-bucket.metricsconfiguration":{
         "prefix":"aws-s3-bucket.metricsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html",
             "${1:myAWSS3Bucket.MetricsConfiguration}:",
             "  Type: AWS::S3::Bucket.MetricsConfiguration",
             "  Properties:",
@@ -14747,6 +15786,7 @@
     "aws-opsworks-layer.autoscalingthresholds":{
         "prefix":"aws-opsworks-layer.autoscalingthresholds",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html",
             "${1:myAWSOpsWorksLayer.AutoScalingThresholds}:",
             "  Type: AWS::OpsWorks::Layer.AutoScalingThresholds",
             "  Properties:",
@@ -14763,6 +15803,7 @@
     "aws-iotanalytics-dataset.schedule":{
         "prefix":"aws-iotanalytics-dataset.schedule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger-schedule.html",
             "${1:myAWSIoTAnalyticsDataset.Schedule}:",
             "  Type: AWS::IoTAnalytics::Dataset.Schedule",
             "  Properties:",
@@ -14774,6 +15815,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.s3referencedatasource":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.s3referencedatasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.S3ReferenceDataSource}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource",
             "  Properties:",
@@ -14786,6 +15828,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.recordcolumn":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.recordcolumn",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.RecordColumn}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn",
             "  Properties:",
@@ -14799,6 +15842,7 @@
     "aws-glue-classifier.grokclassifier":{
         "prefix":"aws-glue-classifier.grokclassifier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html",
             "${1:myAWSGlueClassifier.GrokClassifier}:",
             "  Type: AWS::Glue::Classifier.GrokClassifier",
             "  Properties:",
@@ -14813,6 +15857,7 @@
     "aws-kinesisanalytics-application.recordformat":{
         "prefix":"aws-kinesisanalytics-application.recordformat",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html",
             "${1:myAWSKinesisAnalyticsApplication.RecordFormat}:",
             "  Type: AWS::KinesisAnalytics::Application.RecordFormat",
             "  Properties:",
@@ -14825,6 +15870,7 @@
     "aws-appsync-datasource.httpconfig":{
         "prefix":"aws-appsync-datasource.httpconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html",
             "${1:myAWSAppSyncDataSource.HttpConfig}:",
             "  Type: AWS::AppSync::DataSource.HttpConfig",
             "  Properties:",
@@ -14837,6 +15883,7 @@
     "aws-s3-bucket.tagfilter":{
         "prefix":"aws-s3-bucket.tagfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html",
             "${1:myAWSS3Bucket.TagFilter}:",
             "  Type: AWS::S3::Bucket.TagFilter",
             "  Properties:",
@@ -14849,6 +15896,7 @@
     "aws-iotanalytics-pipeline.deviceregistryenrich":{
         "prefix":"aws-iotanalytics-pipeline.deviceregistryenrich",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html",
             "${1:myAWSIoTAnalyticsPipeline.DeviceRegistryEnrich}:",
             "  Type: AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich",
             "  Properties:",
@@ -14864,6 +15912,7 @@
     "aws-waf-sizeconstraintset.sizeconstraint":{
         "prefix":"aws-waf-sizeconstraintset.sizeconstraint",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html",
             "${1:myAWSWAFSizeConstraintSet.SizeConstraint}:",
             "  Type: AWS::WAF::SizeConstraintSet.SizeConstraint",
             "  Properties:",
@@ -14878,6 +15927,7 @@
     "aws-guardduty-filter.condition":{
         "prefix":"aws-guardduty-filter.condition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html",
             "${1:myAWSGuardDutyFilter.Condition}:",
             "  Type: AWS::GuardDuty::Filter.Condition",
             "  Properties:",
@@ -14893,6 +15943,7 @@
     "aws-codebuild-project.filtergroup":{
         "prefix":"aws-codebuild-project.filtergroup",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-filtergroup.html",
             "${1:myAWSCodeBuildProject.FilterGroup}:",
             "  Type: AWS::CodeBuild::Project.FilterGroup",
             "  Properties:"
@@ -14903,6 +15954,7 @@
     "aws-ec2-launchtemplate.ipv6add":{
         "prefix":"aws-ec2-launchtemplate.ipv6add",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html",
             "${1:myAWSEC2LaunchTemplate.Ipv6Add}:",
             "  Type: AWS::EC2::LaunchTemplate.Ipv6Add",
             "  Properties:",
@@ -14914,6 +15966,7 @@
     "aws-ec2-instance.licensespecification":{
         "prefix":"aws-ec2-instance.licensespecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-licensespecification.html",
             "${1:myAWSEC2Instance.LicenseSpecification}:",
             "  Type: AWS::EC2::Instance.LicenseSpecification",
             "  Properties:",
@@ -14925,6 +15978,7 @@
     "aws-autoscalingplans-scalingplan.predefinedscalingmetricspecification":{
         "prefix":"aws-autoscalingplans-scalingplan.predefinedscalingmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html",
             "${1:myAWSAutoScalingPlansScalingPlan.PredefinedScalingMetricSpecification}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification",
             "  Properties:",
@@ -14937,6 +15991,7 @@
     "aws-ses-receiptrule.rule":{
         "prefix":"aws-ses-receiptrule.rule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html",
             "${1:myAWSSESReceiptRule.Rule}:",
             "  Type: AWS::SES::ReceiptRule.Rule",
             "  Properties:",
@@ -14953,6 +16008,7 @@
     "aws-cloudtrail-trail.dataresource":{
         "prefix":"aws-cloudtrail-trail.dataresource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html",
             "${1:myAWSCloudTrailTrail.DataResource}:",
             "  Type: AWS::CloudTrail::Trail.DataResource",
             "  Properties:",
@@ -14965,6 +16021,7 @@
     "aws-appstream-imagebuilder.domainjoininfo":{
         "prefix":"aws-appstream-imagebuilder.domainjoininfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html",
             "${1:myAWSAppStreamImageBuilder.DomainJoinInfo}:",
             "  Type: AWS::AppStream::ImageBuilder.DomainJoinInfo",
             "  Properties:",
@@ -14977,6 +16034,7 @@
     "aws-iot-topicrule.dynamodbv2action":{
         "prefix":"aws-iot-topicrule.dynamodbv2action",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html",
             "${1:myAWSIoTTopicRule.DynamoDBv2Action}:",
             "  Type: AWS::IoT::TopicRule.DynamoDBv2Action",
             "  Properties:",
@@ -14989,6 +16047,7 @@
     "aws-apigateway-usageplan.throttlesettings":{
         "prefix":"aws-apigateway-usageplan.throttlesettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html",
             "${1:myAWSApiGatewayUsagePlan.ThrottleSettings}:",
             "  Type: AWS::ApiGateway::UsagePlan.ThrottleSettings",
             "  Properties:",
@@ -15001,6 +16060,7 @@
     "aws-kinesisanalyticsv2-application.sqlapplicationconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.sqlapplicationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.SqlApplicationConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration",
             "  Properties:",
@@ -15012,6 +16072,7 @@
     "aws-iotanalytics-channel.retentionperiod":{
         "prefix":"aws-iotanalytics-channel.retentionperiod",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html",
             "${1:myAWSIoTAnalyticsChannel.RetentionPeriod}:",
             "  Type: AWS::IoTAnalytics::Channel.RetentionPeriod",
             "  Properties:",
@@ -15024,6 +16085,7 @@
     "aws-glue-table.serdeinfo":{
         "prefix":"aws-glue-table.serdeinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html",
             "${1:myAWSGlueTable.SerdeInfo}:",
             "  Type: AWS::Glue::Table.SerdeInfo",
             "  Properties:",
@@ -15037,6 +16099,7 @@
     "aws-kinesisanalyticsv2-application.inputprocessingconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.inputprocessingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.InputProcessingConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration",
             "  Properties:",
@@ -15048,6 +16111,7 @@
     "aws-ec2-instance.ssmassociation":{
         "prefix":"aws-ec2-instance.ssmassociation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html",
             "${1:myAWSEC2Instance.SsmAssociation}:",
             "  Type: AWS::EC2::Instance.SsmAssociation",
             "  Properties:",
@@ -15060,6 +16124,7 @@
     "aws-amazonmq-broker.configurationid":{
         "prefix":"aws-amazonmq-broker.configurationid",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html",
             "${1:myAWSAmazonMQBroker.ConfigurationId}:",
             "  Type: AWS::AmazonMQ::Broker.ConfigurationId",
             "  Properties:",
@@ -15072,6 +16137,7 @@
     "aws-ssm-patchbaseline.patchsource":{
         "prefix":"aws-ssm-patchbaseline.patchsource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html",
             "${1:myAWSSSMPatchBaseline.PatchSource}:",
             "  Type: AWS::SSM::PatchBaseline.PatchSource",
             "  Properties:",
@@ -15085,6 +16151,7 @@
     "aws-ec2-launchtemplate.capacityreservationtarget":{
         "prefix":"aws-ec2-launchtemplate.capacityreservationtarget",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html",
             "${1:myAWSEC2LaunchTemplate.CapacityReservationTarget}:",
             "  Type: AWS::EC2::LaunchTemplate.CapacityReservationTarget",
             "  Properties:",
@@ -15096,6 +16163,7 @@
     "aws-kinesisanalytics-application.kinesisfirehoseinput":{
         "prefix":"aws-kinesisanalytics-application.kinesisfirehoseinput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisfirehoseinput.html",
             "${1:myAWSKinesisAnalyticsApplication.KinesisFirehoseInput}:",
             "  Type: AWS::KinesisAnalytics::Application.KinesisFirehoseInput",
             "  Properties:",
@@ -15108,6 +16176,7 @@
     "aws-kinesisanalyticsv2-application.applicationconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.applicationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.ApplicationConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration",
             "  Properties:",
@@ -15123,6 +16192,7 @@
     "aws-opsworkscm-server.engineattribute":{
         "prefix":"aws-opsworkscm-server.engineattribute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html",
             "${1:myAWSOpsWorksCMServer.EngineAttribute}:",
             "  Type: AWS::OpsWorksCM::Server.EngineAttribute",
             "  Properties:",
@@ -15135,6 +16205,7 @@
     "aws-greengrass-functiondefinition.function":{
         "prefix":"aws-greengrass-functiondefinition.function",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html",
             "${1:myAWSGreengrassFunctionDefinition.Function}:",
             "  Type: AWS::Greengrass::FunctionDefinition.Function",
             "  Properties:",
@@ -15148,6 +16219,7 @@
     "aws-glue-partition.skewedinfo":{
         "prefix":"aws-glue-partition.skewedinfo",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html",
             "${1:myAWSGluePartition.SkewedInfo}:",
             "  Type: AWS::Glue::Partition.SkewedInfo",
             "  Properties:",
@@ -15161,6 +16233,7 @@
     "aws-config-configrule.source":{
         "prefix":"aws-config-configrule.source",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html",
             "${1:myAWSConfigConfigRule.Source}:",
             "  Type: AWS::Config::ConfigRule.Source",
             "  Properties:",
@@ -15174,6 +16247,7 @@
     "aws-apigateway-restapi.s3location":{
         "prefix":"aws-apigateway-restapi.s3location",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html",
             "${1:myAWSApiGatewayRestApi.S3Location}:",
             "  Type: AWS::ApiGateway::RestApi.S3Location",
             "  Properties:",
@@ -15188,6 +16262,7 @@
     "aws-dynamodb-table.projection":{
         "prefix":"aws-dynamodb-table.projection",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html",
             "${1:myAWSDynamoDBTable.Projection}:",
             "  Type: AWS::DynamoDB::Table.Projection",
             "  Properties:",
@@ -15200,6 +16275,7 @@
     "aws-ec2-launchtemplate.networkinterface":{
         "prefix":"aws-ec2-launchtemplate.networkinterface",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html",
             "${1:myAWSEC2LaunchTemplate.NetworkInterface}:",
             "  Type: AWS::EC2::LaunchTemplate.NetworkInterface",
             "  Properties:",
@@ -15222,6 +16298,7 @@
     "aws-elasticloadbalancingv2-listener.certificate":{
         "prefix":"aws-elasticloadbalancingv2-listener.certificate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html",
             "${1:myAWSElasticLoadBalancingV2Listener.Certificate}:",
             "  Type: AWS::ElasticLoadBalancingV2::Listener.Certificate",
             "  Properties:",
@@ -15233,6 +16310,7 @@
     "aws-appstream-stack.storageconnector":{
         "prefix":"aws-appstream-stack.storageconnector",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html",
             "${1:myAWSAppStreamStack.StorageConnector}:",
             "  Type: AWS::AppStream::Stack.StorageConnector",
             "  Properties:",
@@ -15246,6 +16324,7 @@
     "aws-kinesisanalyticsv2-application.applicationcodeconfiguration":{
         "prefix":"aws-kinesisanalyticsv2-application.applicationcodeconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration.html",
             "${1:myAWSKinesisAnalyticsV2Application.ApplicationCodeConfiguration}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration",
             "  Properties:",
@@ -15258,6 +16337,7 @@
     "aws-elasticloadbalancingv2-listenerrule.redirectconfig":{
         "prefix":"aws-elasticloadbalancingv2-listenerrule.redirectconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html",
             "${1:myAWSElasticLoadBalancingV2ListenerRule.RedirectConfig}:",
             "  Type: AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig",
             "  Properties:",
@@ -15274,6 +16354,7 @@
     "aws-wafregional-xssmatchset.fieldtomatch":{
         "prefix":"aws-wafregional-xssmatchset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html",
             "${1:myAWSWAFRegionalXssMatchSet.FieldToMatch}:",
             "  Type: AWS::WAFRegional::XssMatchSet.FieldToMatch",
             "  Properties:",
@@ -15286,6 +16367,7 @@
     "aws-iotanalytics-dataset.retentionperiod":{
         "prefix":"aws-iotanalytics-dataset.retentionperiod",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-retentionperiod.html",
             "${1:myAWSIoTAnalyticsDataset.RetentionPeriod}:",
             "  Type: AWS::IoTAnalytics::Dataset.RetentionPeriod",
             "  Properties:",
@@ -15298,6 +16380,7 @@
     "aws-config-configurationaggregator.accountaggregationsource":{
         "prefix":"aws-config-configurationaggregator.accountaggregationsource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html",
             "${1:myAWSConfigConfigurationAggregator.AccountAggregationSource}:",
             "  Type: AWS::Config::ConfigurationAggregator.AccountAggregationSource",
             "  Properties:",
@@ -15311,6 +16394,7 @@
     "aws-appmesh-route.httprouteaction":{
         "prefix":"aws-appmesh-route.httprouteaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html",
             "${1:myAWSAppMeshRoute.HttpRouteAction}:",
             "  Type: AWS::AppMesh::Route.HttpRouteAction",
             "  Properties:",
@@ -15322,6 +16406,7 @@
     "aws-codedeploy-deploymentconfig.minimumhealthyhosts":{
         "prefix":"aws-codedeploy-deploymentconfig.minimumhealthyhosts",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html",
             "${1:myAWSCodeDeployDeploymentConfig.MinimumHealthyHosts}:",
             "  Type: AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts",
             "  Properties:",
@@ -15334,6 +16419,7 @@
     "aws-appmesh-virtualrouter.virtualrouterspec":{
         "prefix":"aws-appmesh-virtualrouter.virtualrouterspec",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterspec.html",
             "${1:myAWSAppMeshVirtualRouter.VirtualRouterSpec}:",
             "  Type: AWS::AppMesh::VirtualRouter.VirtualRouterSpec",
             "  Properties:",
@@ -15345,6 +16431,7 @@
     "aws-route53-recordsetgroup.geolocation":{
         "prefix":"aws-route53-recordsetgroup.geolocation",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html",
             "${1:myAWSRoute53RecordSetGroup.GeoLocation}:",
             "  Type: AWS::Route53::RecordSetGroup.GeoLocation",
             "  Properties:",
@@ -15358,6 +16445,7 @@
     "aws-apigateway-restapi.endpointconfiguration":{
         "prefix":"aws-apigateway-restapi.endpointconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html",
             "${1:myAWSApiGatewayRestApi.EndpointConfiguration}:",
             "  Type: AWS::ApiGateway::RestApi.EndpointConfiguration",
             "  Properties:",
@@ -15369,6 +16457,7 @@
     "aws-emr-instancegroupconfig.scalingconstraints":{
         "prefix":"aws-emr-instancegroupconfig.scalingconstraints",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html",
             "${1:myAWSEMRInstanceGroupConfig.ScalingConstraints}:",
             "  Type: AWS::EMR::InstanceGroupConfig.ScalingConstraints",
             "  Properties:",
@@ -15381,6 +16470,7 @@
     "aws-opsworks-layer.recipes":{
         "prefix":"aws-opsworks-layer.recipes",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html",
             "${1:myAWSOpsWorksLayer.Recipes}:",
             "  Type: AWS::OpsWorks::Layer.Recipes",
             "  Properties:",
@@ -15396,6 +16486,7 @@
     "aws-glue-crawler.s3target":{
         "prefix":"aws-glue-crawler.s3target",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html",
             "${1:myAWSGlueCrawler.S3Target}:",
             "  Type: AWS::Glue::Crawler.S3Target",
             "  Properties:",
@@ -15408,6 +16499,7 @@
     "aws-greengrass-resourcedefinitionversion.resourcedatacontainer":{
         "prefix":"aws-greengrass-resourcedefinitionversion.resourcedatacontainer",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.ResourceDataContainer}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer",
             "  Properties:",
@@ -15423,6 +16515,7 @@
     "aws-appstream-fleet.vpcconfig":{
         "prefix":"aws-appstream-fleet.vpcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html",
             "${1:myAWSAppStreamFleet.VpcConfig}:",
             "  Type: AWS::AppStream::Fleet.VpcConfig",
             "  Properties:",
@@ -15435,6 +16528,7 @@
     "aws-greengrass-functiondefinition.resourceaccesspolicy":{
         "prefix":"aws-greengrass-functiondefinition.resourceaccesspolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html",
             "${1:myAWSGreengrassFunctionDefinition.ResourceAccessPolicy}:",
             "  Type: AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy",
             "  Properties:",
@@ -15447,6 +16541,7 @@
     "aws-cloudwatch-alarm.dimension":{
         "prefix":"aws-cloudwatch-alarm.dimension",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html",
             "${1:myAWSCloudWatchAlarm.Dimension}:",
             "  Type: AWS::CloudWatch::Alarm.Dimension",
             "  Properties:",
@@ -15459,6 +16554,7 @@
     "aws-emr-instancegroupconfig.cloudwatchalarmdefinition":{
         "prefix":"aws-emr-instancegroupconfig.cloudwatchalarmdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html",
             "${1:myAWSEMRInstanceGroupConfig.CloudWatchAlarmDefinition}:",
             "  Type: AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition",
             "  Properties:",
@@ -15478,6 +16574,7 @@
     "aws-s3-bucket.transition":{
         "prefix":"aws-s3-bucket.transition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html",
             "${1:myAWSS3Bucket.Transition}:",
             "  Type: AWS::S3::Bucket.Transition",
             "  Properties:",
@@ -15491,6 +16588,7 @@
     "aws-ec2-spotfleet.instanceipv6address":{
         "prefix":"aws-ec2-spotfleet.instanceipv6address",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html",
             "${1:myAWSEC2SpotFleet.InstanceIpv6Address}:",
             "  Type: AWS::EC2::SpotFleet.InstanceIpv6Address",
             "  Properties:",
@@ -15502,6 +16600,7 @@
     "aws-emr-cluster.ebsconfiguration":{
         "prefix":"aws-emr-cluster.ebsconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html",
             "${1:myAWSEMRCluster.EbsConfiguration}:",
             "  Type: AWS::EMR::Cluster.EbsConfiguration",
             "  Properties:",
@@ -15514,6 +16613,7 @@
     "aws-greengrass-resourcedefinitionversion.groupownersetting":{
         "prefix":"aws-greengrass-resourcedefinitionversion.groupownersetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.GroupOwnerSetting}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting",
             "  Properties:",
@@ -15526,6 +16626,7 @@
     "aws-s3-bucket.dataexport":{
         "prefix":"aws-s3-bucket.dataexport",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html",
             "${1:myAWSS3Bucket.DataExport}:",
             "  Type: AWS::S3::Bucket.DataExport",
             "  Properties:",
@@ -15538,6 +16639,7 @@
     "aws-cloudfront-distribution.customerrorresponse":{
         "prefix":"aws-cloudfront-distribution.customerrorresponse",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html",
             "${1:myAWSCloudFrontDistribution.CustomErrorResponse}:",
             "  Type: AWS::CloudFront::Distribution.CustomErrorResponse",
             "  Properties:",
@@ -15552,6 +16654,7 @@
     "aws-ses-receiptrule.lambdaaction":{
         "prefix":"aws-ses-receiptrule.lambdaaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html",
             "${1:myAWSSESReceiptRule.LambdaAction}:",
             "  Type: AWS::SES::ReceiptRule.LambdaAction",
             "  Properties:",
@@ -15565,6 +16668,7 @@
     "aws-ecs-taskdefinition.healthcheck":{
         "prefix":"aws-ecs-taskdefinition.healthcheck",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html",
             "${1:myAWSECSTaskDefinition.HealthCheck}:",
             "  Type: AWS::ECS::TaskDefinition.HealthCheck",
             "  Properties:",
@@ -15580,6 +16684,7 @@
     "aws-autoscaling-autoscalinggroup.instancesdistribution":{
         "prefix":"aws-autoscaling-autoscalinggroup.instancesdistribution",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html",
             "${1:myAWSAutoScalingAutoScalingGroup.InstancesDistribution}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.InstancesDistribution",
             "  Properties:",
@@ -15596,6 +16701,7 @@
     "aws-ec2-spotfleet.targetgroupsconfig":{
         "prefix":"aws-ec2-spotfleet.targetgroupsconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html",
             "${1:myAWSEC2SpotFleet.TargetGroupsConfig}:",
             "  Type: AWS::EC2::SpotFleet.TargetGroupsConfig",
             "  Properties:",
@@ -15607,6 +16713,7 @@
     "aws-elasticloadbalancingv2-loadbalancer.subnetmapping":{
         "prefix":"aws-elasticloadbalancingv2-loadbalancer.subnetmapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html",
             "${1:myAWSElasticLoadBalancingV2LoadBalancer.SubnetMapping}:",
             "  Type: AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping",
             "  Properties:",
@@ -15619,6 +16726,7 @@
     "aws-sagemaker-notebookinstancelifecycleconfig.notebookinstancelifecyclehook":{
         "prefix":"aws-sagemaker-notebookinstancelifecycleconfig.notebookinstancelifecyclehook",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.html",
             "${1:myAWSSageMakerNotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook}:",
             "  Type: AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook",
             "  Properties:",
@@ -15630,6 +16738,7 @@
     "aws-apigatewayv2-stage.accesslogsettings":{
         "prefix":"aws-apigatewayv2-stage.accesslogsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html",
             "${1:myAWSApiGatewayV2Stage.AccessLogSettings}:",
             "  Type: AWS::ApiGatewayV2::Stage.AccessLogSettings",
             "  Properties:",
@@ -15642,6 +16751,7 @@
     "aws-kinesisanalytics-application.inputparallelism":{
         "prefix":"aws-kinesisanalytics-application.inputparallelism",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputparallelism.html",
             "${1:myAWSKinesisAnalyticsApplication.InputParallelism}:",
             "  Type: AWS::KinesisAnalytics::Application.InputParallelism",
             "  Properties:",
@@ -15653,6 +16763,7 @@
     "aws-appmesh-virtualnode.accesslog":{
         "prefix":"aws-appmesh-virtualnode.accesslog",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html",
             "${1:myAWSAppMeshVirtualNode.AccessLog}:",
             "  Type: AWS::AppMesh::VirtualNode.AccessLog",
             "  Properties:",
@@ -15664,6 +16775,7 @@
     "aws-ecs-taskdefinition.portmapping":{
         "prefix":"aws-ecs-taskdefinition.portmapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html",
             "${1:myAWSECSTaskDefinition.PortMapping}:",
             "  Type: AWS::ECS::TaskDefinition.PortMapping",
             "  Properties:",
@@ -15677,6 +16789,7 @@
     "aws-ec2-launchtemplate.cpuoptions":{
         "prefix":"aws-ec2-launchtemplate.cpuoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html",
             "${1:myAWSEC2LaunchTemplate.CpuOptions}:",
             "  Type: AWS::EC2::LaunchTemplate.CpuOptions",
             "  Properties:",
@@ -15689,6 +16802,7 @@
     "aws-ec2-instance.elasticinferenceaccelerator":{
         "prefix":"aws-ec2-instance.elasticinferenceaccelerator",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html",
             "${1:myAWSEC2Instance.ElasticInferenceAccelerator}:",
             "  Type: AWS::EC2::Instance.ElasticInferenceAccelerator",
             "  Properties:",
@@ -15700,6 +16814,7 @@
     "aws-wafregional-sizeconstraintset.fieldtomatch":{
         "prefix":"aws-wafregional-sizeconstraintset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html",
             "${1:myAWSWAFRegionalSizeConstraintSet.FieldToMatch}:",
             "  Type: AWS::WAFRegional::SizeConstraintSet.FieldToMatch",
             "  Properties:",
@@ -15712,6 +16827,7 @@
     "aws-appmesh-virtualnode.virtualnodespec":{
         "prefix":"aws-appmesh-virtualnode.virtualnodespec",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html",
             "${1:myAWSAppMeshVirtualNode.VirtualNodeSpec}:",
             "  Type: AWS::AppMesh::VirtualNode.VirtualNodeSpec",
             "  Properties:",
@@ -15726,6 +16842,7 @@
     "aws-iot-topicrule.cloudwatchalarmaction":{
         "prefix":"aws-iot-topicrule.cloudwatchalarmaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html",
             "${1:myAWSIoTTopicRule.CloudwatchAlarmAction}:",
             "  Type: AWS::IoT::TopicRule.CloudwatchAlarmAction",
             "  Properties:",
@@ -15740,6 +16857,7 @@
     "aws-ecs-taskdefinition.ulimit":{
         "prefix":"aws-ecs-taskdefinition.ulimit",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html",
             "${1:myAWSECSTaskDefinition.Ulimit}:",
             "  Type: AWS::ECS::TaskDefinition.Ulimit",
             "  Properties:",
@@ -15753,6 +16871,7 @@
     "aws-kinesisanalytics-application.inputprocessingconfiguration":{
         "prefix":"aws-kinesisanalytics-application.inputprocessingconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputprocessingconfiguration.html",
             "${1:myAWSKinesisAnalyticsApplication.InputProcessingConfiguration}:",
             "  Type: AWS::KinesisAnalytics::Application.InputProcessingConfiguration",
             "  Properties:",
@@ -15764,6 +16883,7 @@
     "aws-lambda-function.environment":{
         "prefix":"aws-lambda-function.environment",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html",
             "${1:myAWSLambdaFunction.Environment}:",
             "  Type: AWS::Lambda::Function.Environment",
             "  Properties:",
@@ -15775,6 +16895,7 @@
     "aws-ec2-spotfleet.groupidentifier":{
         "prefix":"aws-ec2-spotfleet.groupidentifier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-securitygroups.html",
             "${1:myAWSEC2SpotFleet.GroupIdentifier}:",
             "  Type: AWS::EC2::SpotFleet.GroupIdentifier",
             "  Properties:",
@@ -15786,6 +16907,7 @@
     "aws-emr-cluster.scalingrule":{
         "prefix":"aws-emr-cluster.scalingrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html",
             "${1:myAWSEMRCluster.ScalingRule}:",
             "  Type: AWS::EMR::Cluster.ScalingRule",
             "  Properties:",
@@ -15800,6 +16922,7 @@
     "aws-cloudfront-streamingdistribution.logging":{
         "prefix":"aws-cloudfront-streamingdistribution.logging",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html",
             "${1:myAWSCloudFrontStreamingDistribution.Logging}:",
             "  Type: AWS::CloudFront::StreamingDistribution.Logging",
             "  Properties:",
@@ -15813,6 +16936,7 @@
     "aws-glue-classifier.jsonclassifier":{
         "prefix":"aws-glue-classifier.jsonclassifier",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html",
             "${1:myAWSGlueClassifier.JsonClassifier}:",
             "  Type: AWS::Glue::Classifier.JsonClassifier",
             "  Properties:",
@@ -15825,6 +16949,7 @@
     "aws-ses-configurationseteventdestination.kinesisfirehosedestination":{
         "prefix":"aws-ses-configurationseteventdestination.kinesisfirehosedestination",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html",
             "${1:myAWSSESConfigurationSetEventDestination.KinesisFirehoseDestination}:",
             "  Type: AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination",
             "  Properties:",
@@ -15837,6 +16962,7 @@
     "aws-appmesh-virtualnode.listener":{
         "prefix":"aws-appmesh-virtualnode.listener",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html",
             "${1:myAWSAppMeshVirtualNode.Listener}:",
             "  Type: AWS::AppMesh::VirtualNode.Listener",
             "  Properties:",
@@ -15849,6 +16975,7 @@
     "aws-kinesisfirehose-deliverystream.copycommand":{
         "prefix":"aws-kinesisfirehose-deliverystream.copycommand",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.CopyCommand}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.CopyCommand",
             "  Properties:",
@@ -15862,6 +16989,7 @@
     "aws-datapipeline-pipeline.parametervalue":{
         "prefix":"aws-datapipeline-pipeline.parametervalue",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parametervalues.html",
             "${1:myAWSDataPipelinePipeline.ParameterValue}:",
             "  Type: AWS::DataPipeline::Pipeline.ParameterValue",
             "  Properties:",
@@ -15874,6 +17002,7 @@
     "aws-codebuild-project.projecttriggers":{
         "prefix":"aws-codebuild-project.projecttriggers",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html",
             "${1:myAWSCodeBuildProject.ProjectTriggers}:",
             "  Type: AWS::CodeBuild::Project.ProjectTriggers",
             "  Properties:",
@@ -15886,6 +17015,7 @@
     "aws-cloudfront-distribution.logging":{
         "prefix":"aws-cloudfront-distribution.logging",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html",
             "${1:myAWSCloudFrontDistribution.Logging}:",
             "  Type: AWS::CloudFront::Distribution.Logging",
             "  Properties:",
@@ -15899,6 +17029,7 @@
     "aws-appmesh-virtualservice.virtualserviceprovider":{
         "prefix":"aws-appmesh-virtualservice.virtualserviceprovider",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html",
             "${1:myAWSAppMeshVirtualService.VirtualServiceProvider}:",
             "  Type: AWS::AppMesh::VirtualService.VirtualServiceProvider",
             "  Properties:",
@@ -15911,6 +17042,7 @@
     "aws-cognito-identitypoolroleattachment.rulesconfigurationtype":{
         "prefix":"aws-cognito-identitypoolroleattachment.rulesconfigurationtype",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html",
             "${1:myAWSCognitoIdentityPoolRoleAttachment.RulesConfigurationType}:",
             "  Type: AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType",
             "  Properties:",
@@ -15922,6 +17054,7 @@
     "aws-glue-job.executionproperty":{
         "prefix":"aws-glue-job.executionproperty",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html",
             "${1:myAWSGlueJob.ExecutionProperty}:",
             "  Type: AWS::Glue::Job.ExecutionProperty",
             "  Properties:",
@@ -15933,6 +17066,7 @@
     "aws-ecs-taskdefinition.linuxparameters":{
         "prefix":"aws-ecs-taskdefinition.linuxparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html",
             "${1:myAWSECSTaskDefinition.LinuxParameters}:",
             "  Type: AWS::ECS::TaskDefinition.LinuxParameters",
             "  Properties:",
@@ -15948,6 +17082,7 @@
     "aws-appstream-stack.usersetting":{
         "prefix":"aws-appstream-stack.usersetting",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html",
             "${1:myAWSAppStreamStack.UserSetting}:",
             "  Type: AWS::AppStream::Stack.UserSetting",
             "  Properties:",
@@ -15960,6 +17095,7 @@
     "aws-amazonmq-configurationassociation.configurationid":{
         "prefix":"aws-amazonmq-configurationassociation.configurationid",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html",
             "${1:myAWSAmazonMQConfigurationAssociation.ConfigurationId}:",
             "  Type: AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId",
             "  Properties:",
@@ -15972,6 +17108,7 @@
     "aws-servicediscovery-service.healthcheckconfig":{
         "prefix":"aws-servicediscovery-service.healthcheckconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html",
             "${1:myAWSServiceDiscoveryService.HealthCheckConfig}:",
             "  Type: AWS::ServiceDiscovery::Service.HealthCheckConfig",
             "  Properties:",
@@ -15985,6 +17122,7 @@
     "aws-cognito-userpool.deviceconfiguration":{
         "prefix":"aws-cognito-userpool.deviceconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html",
             "${1:myAWSCognitoUserPool.DeviceConfiguration}:",
             "  Type: AWS::Cognito::UserPool.DeviceConfiguration",
             "  Properties:",
@@ -15997,6 +17135,7 @@
     "aws-appmesh-virtualnode.dnsservicediscovery":{
         "prefix":"aws-appmesh-virtualnode.dnsservicediscovery",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html",
             "${1:myAWSAppMeshVirtualNode.DnsServiceDiscovery}:",
             "  Type: AWS::AppMesh::VirtualNode.DnsServiceDiscovery",
             "  Properties:",
@@ -16008,6 +17147,7 @@
     "aws-kinesis-stream.streamencryption":{
         "prefix":"aws-kinesis-stream.streamencryption",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html",
             "${1:myAWSKinesisStream.StreamEncryption}:",
             "  Type: AWS::Kinesis::Stream.StreamEncryption",
             "  Properties:",
@@ -16020,6 +17160,7 @@
     "aws-applicationautoscaling-scalingpolicy.targettrackingscalingpolicyconfiguration":{
         "prefix":"aws-applicationautoscaling-scalingpolicy.targettrackingscalingpolicyconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html",
             "${1:myAWSApplicationAutoScalingScalingPolicy.TargetTrackingScalingPolicyConfiguration}:",
             "  Type: AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration",
             "  Properties:",
@@ -16036,6 +17177,7 @@
     "aws-kinesisfirehose-deliverystream.s3destinationconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.s3destinationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.S3DestinationConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration",
             "  Properties:",
@@ -16053,6 +17195,7 @@
     "aws-cloudfront-streamingdistribution.streamingdistributionconfig":{
         "prefix":"aws-cloudfront-streamingdistribution.streamingdistributionconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html",
             "${1:myAWSCloudFrontStreamingDistribution.StreamingDistributionConfig}:",
             "  Type: AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig",
             "  Properties:",
@@ -16070,6 +17213,7 @@
     "aws-emr-cluster.instancetypeconfig":{
         "prefix":"aws-emr-cluster.instancetypeconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html",
             "${1:myAWSEMRCluster.InstanceTypeConfig}:",
             "  Type: AWS::EMR::Cluster.InstanceTypeConfig",
             "  Properties:",
@@ -16086,6 +17230,7 @@
     "aws-secretsmanager-secret.generatesecretstring":{
         "prefix":"aws-secretsmanager-secret.generatesecretstring",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html",
             "${1:myAWSSecretsManagerSecret.GenerateSecretString}:",
             "  Type: AWS::SecretsManager::Secret.GenerateSecretString",
             "  Properties:",
@@ -16106,6 +17251,7 @@
     "aws-sagemaker-model.containerdefinition":{
         "prefix":"aws-sagemaker-model.containerdefinition",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html",
             "${1:myAWSSageMakerModel.ContainerDefinition}:",
             "  Type: AWS::SageMaker::Model.ContainerDefinition",
             "  Properties:",
@@ -16120,6 +17266,7 @@
     "aws-autoscaling-autoscalinggroup.launchtemplate":{
         "prefix":"aws-autoscaling-autoscalinggroup.launchtemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html",
             "${1:myAWSAutoScalingAutoScalingGroup.LaunchTemplate}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.LaunchTemplate",
             "  Properties:",
@@ -16132,6 +17279,7 @@
     "aws-route53-healthcheck.healthchecktag":{
         "prefix":"aws-route53-healthcheck.healthchecktag",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html",
             "${1:myAWSRoute53HealthCheck.HealthCheckTag}:",
             "  Type: AWS::Route53::HealthCheck.HealthCheckTag",
             "  Properties:",
@@ -16144,6 +17292,7 @@
     "aws-ssm-maintenancewindowtask.maintenancewindowstepfunctionsparameters":{
         "prefix":"aws-ssm-maintenancewindowtask.maintenancewindowstepfunctionsparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html",
             "${1:myAWSSSMMaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters}:",
             "  Type: AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters",
             "  Properties:",
@@ -16156,6 +17305,7 @@
     "aws-codebuild-project.environmentvariable":{
         "prefix":"aws-codebuild-project.environmentvariable",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html",
             "${1:myAWSCodeBuildProject.EnvironmentVariable}:",
             "  Type: AWS::CodeBuild::Project.EnvironmentVariable",
             "  Properties:",
@@ -16169,6 +17319,7 @@
     "aws-iot1click-project.placementtemplate":{
         "prefix":"aws-iot1click-project.placementtemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html",
             "${1:myAWSIoT1ClickProject.PlacementTemplate}:",
             "  Type: AWS::IoT1Click::Project.PlacementTemplate",
             "  Properties:",
@@ -16181,6 +17332,7 @@
     "aws-cognito-userpool.invitemessagetemplate":{
         "prefix":"aws-cognito-userpool.invitemessagetemplate",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html",
             "${1:myAWSCognitoUserPool.InviteMessageTemplate}:",
             "  Type: AWS::Cognito::UserPool.InviteMessageTemplate",
             "  Properties:",
@@ -16194,6 +17346,7 @@
     "aws-emr-cluster.metricdimension":{
         "prefix":"aws-emr-cluster.metricdimension",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-metricdimension.html",
             "${1:myAWSEMRCluster.MetricDimension}:",
             "  Type: AWS::EMR::Cluster.MetricDimension",
             "  Properties:",
@@ -16206,6 +17359,7 @@
     "aws-elasticbeanstalk-application.maxcountrule":{
         "prefix":"aws-elasticbeanstalk-application.maxcountrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html",
             "${1:myAWSElasticBeanstalkApplication.MaxCountRule}:",
             "  Type: AWS::ElasticBeanstalk::Application.MaxCountRule",
             "  Properties:",
@@ -16219,6 +17373,7 @@
     "aws-greengrass-connectordefinition.connector":{
         "prefix":"aws-greengrass-connectordefinition.connector",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html",
             "${1:myAWSGreengrassConnectorDefinition.Connector}:",
             "  Type: AWS::Greengrass::ConnectorDefinition.Connector",
             "  Properties:",
@@ -16232,6 +17387,7 @@
     "aws-autoscaling-autoscalinggroup.tagproperty":{
         "prefix":"aws-autoscaling-autoscalinggroup.tagproperty",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html",
             "${1:myAWSAutoScalingAutoScalingGroup.TagProperty}:",
             "  Type: AWS::AutoScaling::AutoScalingGroup.TagProperty",
             "  Properties:",
@@ -16245,6 +17401,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.referenceschema":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.referenceschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.ReferenceSchema}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema",
             "  Properties:",
@@ -16258,6 +17415,7 @@
     "aws-s3-bucket.filterrule":{
         "prefix":"aws-s3-bucket.filterrule",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html",
             "${1:myAWSS3Bucket.FilterRule}:",
             "  Type: AWS::S3::Bucket.FilterRule",
             "  Properties:",
@@ -16270,6 +17428,7 @@
     "aws-codepipeline-pipeline.actiontypeid":{
         "prefix":"aws-codepipeline-pipeline.actiontypeid",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html",
             "${1:myAWSCodePipelinePipeline.ActionTypeId}:",
             "  Type: AWS::CodePipeline::Pipeline.ActionTypeId",
             "  Properties:",
@@ -16284,6 +17443,7 @@
     "aws-route53-hostedzone.vpc":{
         "prefix":"aws-route53-hostedzone.vpc",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone-hostedzonevpcs.html",
             "${1:myAWSRoute53HostedZone.VPC}:",
             "  Type: AWS::Route53::HostedZone.VPC",
             "  Properties:",
@@ -16296,6 +17456,7 @@
     "aws-greengrass-functiondefinitionversion.resourceaccesspolicy":{
         "prefix":"aws-greengrass-functiondefinitionversion.resourceaccesspolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html",
             "${1:myAWSGreengrassFunctionDefinitionVersion.ResourceAccessPolicy}:",
             "  Type: AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy",
             "  Properties:",
@@ -16308,6 +17469,7 @@
     "tag":{
         "prefix":"tag",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-tag.html",
             "${1:myTag}:",
             "  Type: Tag",
             "  Properties:",
@@ -16320,6 +17482,7 @@
     "aws-greengrass-resourcedefinitionversion.secretsmanagersecretresourcedata":{
         "prefix":"aws-greengrass-resourcedefinitionversion.secretsmanagersecretresourcedata",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html",
             "${1:myAWSGreengrassResourceDefinitionVersion.SecretsManagerSecretResourceData}:",
             "  Type: AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData",
             "  Properties:",
@@ -16332,6 +17495,7 @@
     "aws-iot-thing.attributepayload":{
         "prefix":"aws-iot-thing.attributepayload",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html",
             "${1:myAWSIoTThing.AttributePayload}:",
             "  Type: AWS::IoT::Thing.AttributePayload",
             "  Properties:",
@@ -16343,6 +17507,7 @@
     "aws-budgets-budget.timeperiod":{
         "prefix":"aws-budgets-budget.timeperiod",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html",
             "${1:myAWSBudgetsBudget.TimePeriod}:",
             "  Type: AWS::Budgets::Budget.TimePeriod",
             "  Properties:",
@@ -16355,6 +17520,7 @@
     "aws-events-rule.ecsparameters":{
         "prefix":"aws-events-rule.ecsparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html",
             "${1:myAWSEventsRule.EcsParameters}:",
             "  Type: AWS::Events::Rule.EcsParameters",
             "  Properties:",
@@ -16367,6 +17533,7 @@
     "aws-apigateway-usageplan.quotasettings":{
         "prefix":"aws-apigateway-usageplan.quotasettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html",
             "${1:myAWSApiGatewayUsagePlan.QuotaSettings}:",
             "  Type: AWS::ApiGateway::UsagePlan.QuotaSettings",
             "  Properties:",
@@ -16380,6 +17547,7 @@
     "aws-greengrass-loggerdefinition.loggerdefinitionversion":{
         "prefix":"aws-greengrass-loggerdefinition.loggerdefinitionversion",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html",
             "${1:myAWSGreengrassLoggerDefinition.LoggerDefinitionVersion}:",
             "  Type: AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion",
             "  Properties:",
@@ -16391,6 +17559,7 @@
     "aws-ec2-instance.blockdevicemapping":{
         "prefix":"aws-ec2-instance.blockdevicemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html",
             "${1:myAWSEC2Instance.BlockDeviceMapping}:",
             "  Type: AWS::EC2::Instance.BlockDeviceMapping",
             "  Properties:",
@@ -16405,6 +17574,7 @@
     "aws-datapipeline-pipeline.field":{
         "prefix":"aws-datapipeline-pipeline.field",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html",
             "${1:myAWSDataPipelinePipeline.Field}:",
             "  Type: AWS::DataPipeline::Pipeline.Field",
             "  Properties:",
@@ -16418,6 +17588,7 @@
     "aws-appmesh-route.httproute":{
         "prefix":"aws-appmesh-route.httproute",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html",
             "${1:myAWSAppMeshRoute.HttpRoute}:",
             "  Type: AWS::AppMesh::Route.HttpRoute",
             "  Properties:",
@@ -16430,6 +17601,7 @@
     "aws-kinesisanalytics-applicationreferencedatasource.referencedatasource":{
         "prefix":"aws-kinesisanalytics-applicationreferencedatasource.referencedatasource",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html",
             "${1:myAWSKinesisAnalyticsApplicationReferenceDataSource.ReferenceDataSource}:",
             "  Type: AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource",
             "  Properties:",
@@ -16443,6 +17615,7 @@
     "aws-eks-cluster.resourcesvpcconfig":{
         "prefix":"aws-eks-cluster.resourcesvpcconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html",
             "${1:myAWSEKSCluster.ResourcesVpcConfig}:",
             "  Type: AWS::EKS::Cluster.ResourcesVpcConfig",
             "  Properties:",
@@ -16455,6 +17628,7 @@
     "aws-kinesisanalyticsv2-application.environmentproperties":{
         "prefix":"aws-kinesisanalyticsv2-application.environmentproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-environmentproperties.html",
             "${1:myAWSKinesisAnalyticsV2Application.EnvironmentProperties}:",
             "  Type: AWS::KinesisAnalyticsV2::Application.EnvironmentProperties",
             "  Properties:",
@@ -16466,6 +17640,7 @@
     "aws-iot-topicrule.cloudwatchmetricaction":{
         "prefix":"aws-iot-topicrule.cloudwatchmetricaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html",
             "${1:myAWSIoTTopicRule.CloudwatchMetricAction}:",
             "  Type: AWS::IoT::TopicRule.CloudwatchMetricAction",
             "  Properties:",
@@ -16482,6 +17657,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.referenceschema":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.referenceschema",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.ReferenceSchema}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema",
             "  Properties:",
@@ -16495,6 +17671,7 @@
     "aws-greengrass-subscriptiondefinitionversion.subscription":{
         "prefix":"aws-greengrass-subscriptiondefinitionversion.subscription",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html",
             "${1:myAWSGreengrassSubscriptionDefinitionVersion.Subscription}:",
             "  Type: AWS::Greengrass::SubscriptionDefinitionVersion.Subscription",
             "  Properties:",
@@ -16509,6 +17686,7 @@
     "aws-ec2-spotfleet.blockdevicemapping":{
         "prefix":"aws-ec2-spotfleet.blockdevicemapping",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html",
             "${1:myAWSEC2SpotFleet.BlockDeviceMapping}:",
             "  Type: AWS::EC2::SpotFleet.BlockDeviceMapping",
             "  Properties:",
@@ -16523,6 +17701,7 @@
     "aws-kinesisanalytics-application.inputlambdaprocessor":{
         "prefix":"aws-kinesisanalytics-application.inputlambdaprocessor",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputlambdaprocessor.html",
             "${1:myAWSKinesisAnalyticsApplication.InputLambdaProcessor}:",
             "  Type: AWS::KinesisAnalytics::Application.InputLambdaProcessor",
             "  Properties:",
@@ -16535,6 +17714,7 @@
     "aws-wafregional-sqlinjectionmatchset.fieldtomatch":{
         "prefix":"aws-wafregional-sqlinjectionmatchset.fieldtomatch",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html",
             "${1:myAWSWAFRegionalSqlInjectionMatchSet.FieldToMatch}:",
             "  Type: AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch",
             "  Properties:",
@@ -16547,6 +17727,7 @@
     "aws-ses-receiptrule.addheaderaction":{
         "prefix":"aws-ses-receiptrule.addheaderaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html",
             "${1:myAWSSESReceiptRule.AddHeaderAction}:",
             "  Type: AWS::SES::ReceiptRule.AddHeaderAction",
             "  Properties:",
@@ -16559,6 +17740,7 @@
     "aws-kinesisanalytics-applicationoutput.lambdaoutput":{
         "prefix":"aws-kinesisanalytics-applicationoutput.lambdaoutput",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-lambdaoutput.html",
             "${1:myAWSKinesisAnalyticsApplicationOutput.LambdaOutput}:",
             "  Type: AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput",
             "  Properties:",
@@ -16571,6 +17753,7 @@
     "aws-appmesh-route.tagref":{
         "prefix":"aws-appmesh-route.tagref",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tagref.html",
             "${1:myAWSAppMeshRoute.TagRef}:",
             "  Type: AWS::AppMesh::Route.TagRef",
             "  Properties:",
@@ -16583,6 +17766,7 @@
     "aws-codedeploy-deploymentgroup.autorollbackconfiguration":{
         "prefix":"aws-codedeploy-deploymentgroup.autorollbackconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html",
             "${1:myAWSCodeDeployDeploymentGroup.AutoRollbackConfiguration}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration",
             "  Properties:",
@@ -16595,6 +17779,7 @@
     "aws-cloudwatch-alarm.metric":{
         "prefix":"aws-cloudwatch-alarm.metric",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html",
             "${1:myAWSCloudWatchAlarm.Metric}:",
             "  Type: AWS::CloudWatch::Alarm.Metric",
             "  Properties:",
@@ -16608,6 +17793,7 @@
     "aws-autoscalingplans-scalingplan.predefinedloadmetricspecification":{
         "prefix":"aws-autoscalingplans-scalingplan.predefinedloadmetricspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html",
             "${1:myAWSAutoScalingPlansScalingPlan.PredefinedLoadMetricSpecification}:",
             "  Type: AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification",
             "  Properties:",
@@ -16620,6 +17806,7 @@
     "aws-emr-instancefleetconfig.instancefleetprovisioningspecifications":{
         "prefix":"aws-emr-instancefleetconfig.instancefleetprovisioningspecifications",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html",
             "${1:myAWSEMRInstanceFleetConfig.InstanceFleetProvisioningSpecifications}:",
             "  Type: AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications",
             "  Properties:",
@@ -16631,6 +17818,7 @@
     "aws-elasticloadbalancing-loadbalancer.policies":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.policies",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.Policies}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.Policies",
             "  Properties:",
@@ -16646,6 +17834,7 @@
     "aws-apigatewayv2-stage.routesettings":{
         "prefix":"aws-apigatewayv2-stage.routesettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html",
             "${1:myAWSApiGatewayV2Stage.RouteSettings}:",
             "  Type: AWS::ApiGatewayV2::Stage.RouteSettings",
             "  Properties:",
@@ -16661,6 +17850,7 @@
     "aws-opsworks-stack.elasticip":{
         "prefix":"aws-opsworks-stack.elasticip",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-elasticip.html",
             "${1:myAWSOpsWorksStack.ElasticIp}:",
             "  Type: AWS::OpsWorks::Stack.ElasticIp",
             "  Properties:",
@@ -16673,6 +17863,7 @@
     "aws-emr-cluster.autoscalingpolicy":{
         "prefix":"aws-emr-cluster.autoscalingpolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-autoscalingpolicy.html",
             "${1:myAWSEMRCluster.AutoScalingPolicy}:",
             "  Type: AWS::EMR::Cluster.AutoScalingPolicy",
             "  Properties:",
@@ -16685,6 +17876,7 @@
     "aws-dynamodb-table.streamspecification":{
         "prefix":"aws-dynamodb-table.streamspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-streamspecification.html",
             "${1:myAWSDynamoDBTable.StreamSpecification}:",
             "  Type: AWS::DynamoDB::Table.StreamSpecification",
             "  Properties:",
@@ -16696,6 +17888,7 @@
     "aws-kinesisfirehose-deliverystream.extendeds3destinationconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.extendeds3destinationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.ExtendedS3DestinationConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration",
             "  Properties:",
@@ -16716,6 +17909,7 @@
     "aws-codebuild-project.source":{
         "prefix":"aws-codebuild-project.source",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html",
             "${1:myAWSCodeBuildProject.Source}:",
             "  Type: AWS::CodeBuild::Project.Source",
             "  Properties:",
@@ -16735,6 +17929,7 @@
     "aws-ec2-instance.privateipaddressspecification":{
         "prefix":"aws-ec2-instance.privateipaddressspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
             "${1:myAWSEC2Instance.PrivateIpAddressSpecification}:",
             "  Type: AWS::EC2::Instance.PrivateIpAddressSpecification",
             "  Properties:",
@@ -16747,6 +17942,7 @@
     "aws-appsync-datasource.elasticsearchconfig":{
         "prefix":"aws-appsync-datasource.elasticsearchconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html",
             "${1:myAWSAppSyncDataSource.ElasticsearchConfig}:",
             "  Type: AWS::AppSync::DataSource.ElasticsearchConfig",
             "  Properties:",
@@ -16759,6 +17955,7 @@
     "aws-ec2-ec2fleet.tagspecification":{
         "prefix":"aws-ec2-ec2fleet.tagspecification",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html",
             "${1:myAWSEC2EC2Fleet.TagSpecification}:",
             "  Type: AWS::EC2::EC2Fleet.TagSpecification",
             "  Properties:",
@@ -16771,6 +17968,7 @@
     "aws-iam-user.policy":{
         "prefix":"aws-iam-user.policy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
             "${1:myAWSIAMUser.Policy}:",
             "  Type: AWS::IAM::User.Policy",
             "  Properties:",
@@ -16783,6 +17981,7 @@
     "aws-ecs-taskdefinition.hostvolumeproperties":{
         "prefix":"aws-ecs-taskdefinition.hostvolumeproperties",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes-host.html",
             "${1:myAWSECSTaskDefinition.HostVolumeProperties}:",
             "  Type: AWS::ECS::TaskDefinition.HostVolumeProperties",
             "  Properties:",
@@ -16794,6 +17993,7 @@
     "aws-kinesisfirehose-deliverystream.redshiftdestinationconfiguration":{
         "prefix":"aws-kinesisfirehose-deliverystream.redshiftdestinationconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html",
             "${1:myAWSKinesisFirehoseDeliveryStream.RedshiftDestinationConfiguration}:",
             "  Type: AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration",
             "  Properties:",
@@ -16812,6 +18012,7 @@
     "aws-elasticsearch-domain.ebsoptions":{
         "prefix":"aws-elasticsearch-domain.ebsoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html",
             "${1:myAWSElasticsearchDomain.EBSOptions}:",
             "  Type: AWS::Elasticsearch::Domain.EBSOptions",
             "  Properties:",
@@ -16826,6 +18027,7 @@
     "aws-emr-instancefleetconfig.ebsblockdeviceconfig":{
         "prefix":"aws-emr-instancefleetconfig.ebsblockdeviceconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig.html",
             "${1:myAWSEMRInstanceFleetConfig.EbsBlockDeviceConfig}:",
             "  Type: AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig",
             "  Properties:",
@@ -16838,6 +18040,7 @@
     "aws-ec2-launchtemplate.launchtemplateelasticinferenceaccelerator":{
         "prefix":"aws-ec2-launchtemplate.launchtemplateelasticinferenceaccelerator",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html",
             "${1:myAWSEC2LaunchTemplate.LaunchTemplateElasticInferenceAccelerator}:",
             "  Type: AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator",
             "  Properties:",
@@ -16849,6 +18052,7 @@
     "aws-opsworks-instance.timebasedautoscaling":{
         "prefix":"aws-opsworks-instance.timebasedautoscaling",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html",
             "${1:myAWSOpsWorksInstance.TimeBasedAutoScaling}:",
             "  Type: AWS::OpsWorks::Instance.TimeBasedAutoScaling",
             "  Properties:",
@@ -16866,6 +18070,7 @@
     "aws-config-configrule.sourcedetail":{
         "prefix":"aws-config-configrule.sourcedetail",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html",
             "${1:myAWSConfigConfigRule.SourceDetail}:",
             "  Type: AWS::Config::ConfigRule.SourceDetail",
             "  Properties:",
@@ -16879,6 +18084,7 @@
     "aws-ec2-ec2fleet.spotoptionsrequest":{
         "prefix":"aws-ec2-ec2fleet.spotoptionsrequest",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html",
             "${1:myAWSEC2EC2Fleet.SpotOptionsRequest}:",
             "  Type: AWS::EC2::EC2Fleet.SpotOptionsRequest",
             "  Properties:",
@@ -16892,6 +18098,7 @@
     "aws-dms-endpoint.elasticsearchsettings":{
         "prefix":"aws-dms-endpoint.elasticsearchsettings",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html",
             "${1:myAWSDMSEndpoint.ElasticsearchSettings}:",
             "  Type: AWS::DMS::Endpoint.ElasticsearchSettings",
             "  Properties:",
@@ -16906,6 +18113,7 @@
     "aws-elasticloadbalancing-loadbalancer.appcookiestickinesspolicy":{
         "prefix":"aws-elasticloadbalancing-loadbalancer.appcookiestickinesspolicy",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html",
             "${1:myAWSElasticLoadBalancingLoadBalancer.AppCookieStickinessPolicy}:",
             "  Type: AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy",
             "  Properties:",
@@ -16918,6 +18126,7 @@
     "aws-ses-receiptfilter.ipfilter":{
         "prefix":"aws-ses-receiptfilter.ipfilter",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html",
             "${1:myAWSSESReceiptFilter.IpFilter}:",
             "  Type: AWS::SES::ReceiptFilter.IpFilter",
             "  Properties:",
@@ -16930,6 +18139,7 @@
     "aws-cloud9-environmentec2.repository":{
         "prefix":"aws-cloud9-environmentec2.repository",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloud9-environmentec2-repository.html",
             "${1:myAWSCloud9EnvironmentEC2.Repository}:",
             "  Type: AWS::Cloud9::EnvironmentEC2.Repository",
             "  Properties:",
@@ -16942,6 +18152,7 @@
     "aws-emr-cluster.hadoopjarstepconfig":{
         "prefix":"aws-emr-cluster.hadoopjarstepconfig",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html",
             "${1:myAWSEMRCluster.HadoopJarStepConfig}:",
             "  Type: AWS::EMR::Cluster.HadoopJarStepConfig",
             "  Properties:",
@@ -16956,6 +18167,7 @@
     "aws-rds-optiongroup.optionconfiguration":{
         "prefix":"aws-rds-optiongroup.optionconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html",
             "${1:myAWSRDSOptionGroup.OptionConfiguration}:",
             "  Type: AWS::RDS::OptionGroup.OptionConfiguration",
             "  Properties:",
@@ -16972,6 +18184,7 @@
     "aws-greengrass-connectordefinitionversion.connector":{
         "prefix":"aws-greengrass-connectordefinitionversion.connector",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html",
             "${1:myAWSGreengrassConnectorDefinitionVersion.Connector}:",
             "  Type: AWS::Greengrass::ConnectorDefinitionVersion.Connector",
             "  Properties:",
@@ -16985,6 +18198,7 @@
     "aws-lambda-alias.versionweight":{
         "prefix":"aws-lambda-alias.versionweight",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html",
             "${1:myAWSLambdaAlias.VersionWeight}:",
             "  Type: AWS::Lambda::Alias.VersionWeight",
             "  Properties:",
@@ -16997,6 +18211,7 @@
     "aws-opsworks-app.source":{
         "prefix":"aws-opsworks-app.source",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html",
             "${1:myAWSOpsWorksApp.Source}:",
             "  Type: AWS::OpsWorks::App.Source",
             "  Properties:",
@@ -17013,6 +18228,7 @@
     "aws-elasticsearch-domain.encryptionatrestoptions":{
         "prefix":"aws-elasticsearch-domain.encryptionatrestoptions",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html",
             "${1:myAWSElasticsearchDomain.EncryptionAtRestOptions}:",
             "  Type: AWS::Elasticsearch::Domain.EncryptionAtRestOptions",
             "  Properties:",
@@ -17025,6 +18241,7 @@
     "aws-kinesisanalyticsv2-applicationreferencedatasource.csvmappingparameters":{
         "prefix":"aws-kinesisanalyticsv2-applicationreferencedatasource.csvmappingparameters",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters.html",
             "${1:myAWSKinesisAnalyticsV2ApplicationReferenceDataSource.CSVMappingParameters}:",
             "  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters",
             "  Properties:",
@@ -17037,6 +18254,7 @@
     "aws-appmesh-route.tcprouteaction":{
         "prefix":"aws-appmesh-route.tcprouteaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html",
             "${1:myAWSAppMeshRoute.TcpRouteAction}:",
             "  Type: AWS::AppMesh::Route.TcpRouteAction",
             "  Properties:",
@@ -17048,6 +18266,7 @@
     "aws-codepipeline-webhook.webhookauthconfiguration":{
         "prefix":"aws-codepipeline-webhook.webhookauthconfiguration",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html",
             "${1:myAWSCodePipelineWebhook.WebhookAuthConfiguration}:",
             "  Type: AWS::CodePipeline::Webhook.WebhookAuthConfiguration",
             "  Properties:",
@@ -17060,6 +18279,7 @@
     "aws-budgets-budget.spend":{
         "prefix":"aws-budgets-budget.spend",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html",
             "${1:myAWSBudgetsBudget.Spend}:",
             "  Type: AWS::Budgets::Budget.Spend",
             "  Properties:",
@@ -17072,6 +18292,7 @@
     "aws-emr-cluster.scalingtrigger":{
         "prefix":"aws-emr-cluster.scalingtrigger",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingtrigger.html",
             "${1:myAWSEMRCluster.ScalingTrigger}:",
             "  Type: AWS::EMR::Cluster.ScalingTrigger",
             "  Properties:",
@@ -17083,6 +18304,7 @@
     "aws-applicationautoscaling-scalabletarget.scalabletargetaction":{
         "prefix":"aws-applicationautoscaling-scalabletarget.scalabletargetaction",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html",
             "${1:myAWSApplicationAutoScalingScalableTarget.ScalableTargetAction}:",
             "  Type: AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction",
             "  Properties:",
@@ -17095,6 +18317,7 @@
     "aws-codedeploy-deploymentgroup.ec2tagsetlistobject":{
         "prefix":"aws-codedeploy-deploymentgroup.ec2tagsetlistobject",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html",
             "${1:myAWSCodeDeployDeploymentGroup.EC2TagSetListObject}:",
             "  Type: AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject",
             "  Properties:",
@@ -17106,6 +18329,7 @@
     "aws-ecs-taskdefinition.repositorycredentials":{
         "prefix":"aws-ecs-taskdefinition.repositorycredentials",
         "body":[
+            "# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html",
             "${1:myAWSECSTaskDefinition.RepositoryCredentials}:",
             "  Type: AWS::ECS::TaskDefinition.RepositoryCredentials",
             "  Properties:",