[
  {
    "op": "add",
    "path": "/ValueTypes",
    "value": {
      "AvailabilityZone": {
        "AllowedValues": [
          "af-south-1a", "af-south-1b", "af-south-1c",
          "ap-east-1a", "ap-east-1b", "ap-east-1c",
          "ap-northeast-1a", "ap-northeast-1b", "ap-northeast-1c", "ap-northeast-1d",
          "ap-northeast-2a", "ap-northeast-2b", "ap-northeast-2c", "ap-northeast-2d",
          "ap-northeast-3a",
          "ap-south-1a", "ap-south-1b", "ap-south-1c",
          "ap-southeast-1a", "ap-southeast-1b", "ap-southeast-1c",
          "ap-southeast-2a", "ap-southeast-2b", "ap-southeast-2c",
          "ca-central-1a", "ca-central-1b", "ca-central-1d",
          "cn-north-1a", "cn-north-1b",
          "cn-northwest-1a", "cn-northwest-1b", "cn-northwest-1c",
          "eu-central-1a", "eu-central-1b", "eu-central-1c",
          "eu-north-1a", "eu-north-1b", "eu-north-1c",
          "eu-south-1a", "eu-south-1b", "eu-south-1c",
          "eu-west-1a", "eu-west-1b", "eu-west-1c",
          "eu-west-2a", "eu-west-2b", "eu-west-2c",
          "eu-west-3a", "eu-west-3b", "eu-west-3c",
          "me-south-1a", "me-south-1b", "me-south-1c",
          "sa-east-1a", "sa-east-1b", "sa-east-1c",
          "us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d", "us-east-1e", "us-east-1f",
          "us-east-2a", "us-east-2b", "us-east-2c",
          "us-gov-east-1a", "us-gov-east-1b", "us-gov-east-1c",
          "us-gov-west-1a", "us-gov-west-1b", "us-gov-west-1c",
          "us-west-1a", "us-west-1b", "us-west-1c",
          "us-west-2a", "us-west-2b", "us-west-2c", "us-west-2d", "us-west-2-lax-1a", "us-west-2-lax-1b"
        ],
        "GetAtt": {
          "AWS::EC2::Instance": "AvailabilityZone",
          "AWS::EC2::Subnet": "AvailabilityZone",
          "AWS::OpsWorks::Instance": "AvailabilityZone"
        },
        "Ref": {
          "Parameters": [
            "String",
            "AvailabilityZone"
          ]
        }
      },
      "AvailabilityZones": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "Strings",
            "AvailabilityZones"
          ]
        }
      },
      "AvailabilityZoneWithAll": {
        "AllowedValues": [
          "all", "af-south-1a", "af-south-1b", "af-south-1c",
          "ap-east-1a", "ap-east-1b", "ap-east-1c",
          "ap-northeast-1a", "ap-northeast-1b", "ap-northeast-1c", "ap-northeast-1d",
          "ap-northeast-2a", "ap-northeast-2b", "ap-northeast-2c", "ap-northeast-2d",
          "ap-northeast-3a",
          "ap-south-1a", "ap-south-1b", "ap-south-1c",
          "ap-southeast-1a", "ap-southeast-1b", "ap-southeast-1c",
          "ap-southeast-2a", "ap-southeast-2b", "ap-southeast-2c",
          "ca-central-1a", "ca-central-1b", "ca-central-1d",
          "cn-north-1a", "cn-north-1b",
          "cn-northwest-1a", "cn-northwest-1b", "cn-northwest-1c",
          "eu-central-1a", "eu-central-1b", "eu-central-1c",
          "eu-north-1a", "eu-north-1b", "eu-north-1c",
          "eu-south-1a", "eu-south-1b", "eu-south-1c",
          "eu-west-1a", "eu-west-1b", "eu-west-1c",
          "eu-west-2a", "eu-west-2b", "eu-west-2c",
          "eu-west-3a", "eu-west-3b", "eu-west-3c",
          "me-south-1a", "me-south-1b", "me-south-1c",
          "sa-east-1a", "sa-east-1b", "sa-east-1c",
          "us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d", "us-east-1e", "us-east-1f",
          "us-east-2a", "us-east-2b", "us-east-2c",
          "us-gov-east-1a", "us-gov-east-1b", "us-gov-east-1c",
          "us-gov-west-1a", "us-gov-west-1b", "us-gov-west-1c",
          "us-west-1a", "us-west-1b", "us-west-1c",
          "us-west-2a", "us-west-2b", "us-west-2c", "us-west-2d", "us-west-2-lax-1a", "us-west-2-lax-1b"
        ],
        "GetAtt": {
          "AWS::EC2::Instance": "AvailabilityZone",
          "AWS::EC2::Subnet": "AvailabilityZone",
          "AWS::OpsWorks::Instance": "AvailabilityZone"
        },
        "Ref": {
          "Parameters": [
            "String",
            "AvailabilityZone"
          ]
        }
      },
      "CertificateValidationMethod": {
        "botocore": "acm/2015-12-08/ValidationMethod"
      },
      "CidrIp": {
        "AllowedPattern": "x.x.x.x/y",
        "AllowedPatternRegex": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "AwsCidrIp": {
        "AllowedPattern": "x.x.x.x/y",
        "AllowedPatternRegex": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(1[6-9]|2[0-8]))$",
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "CustomerGatewayType": {
        "botocore": "ec2/2016-11-15/GatewayType"
      },
      "DAXInstanceType": {
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "DHCPOptionsNetbiosNodeType": {
        "AllowedValues": [
          "1",
          "2",
          "4",
          "8"
        ]
      },
      "DLMPolicyResourceType": {
        "botocore": "dlm/2018-01-12/ResourceTypeValues"
      },
      "DmsEndpointEngineName": {
        "AllowedValues": [
          "aurora-postgresql",
          "aurora",
          "azuredb",
          "db2",
          "documentdb",
          "dynamodb",
          "elasticsearch",
          "kafka",
          "kinesis",
          "mariadb",
          "mongodb",
          "mysql",
          "neptune",
          "oracle",
          "postgres",
          "redshift",
          "s3",
          "sqlserver",
          "sybase"
        ]
      },
      "DmsEndpointSslMode": {
        "botocore": "dms/2016-01-01/DmsSslModeValue"
      },
      "DmsEndpointType": {
        "botocore": "dms/2016-01-01/ReplicationEndpointTypeValue"
      },
      "DocumentDBEngineVersion": {
        "AllowedValues": [
          "3.6.0",
          "4.0",
          "4.0.0"
        ]
      },
      "DocumentDBInstanceClass": {
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "EC2CapacityReservationEndDateType": {
        "botocore": "ec2/2016-11-15/EndDateType"
      },
      "EC2CapacityReservationInstanceMatchCriteria": {
        "botocore": "ec2/2016-11-15/InstanceMatchCriteria"
      },
      "EC2CapacityReservationInstancePlatform": {
        "botocore": "ec2/2016-11-15/CapacityReservationInstancePlatform"
      },
      "EC2InstanceInitiatedShutdownBehavior": {
        "botocore": "ec2/2016-11-15/ShutdownBehavior"
      },
      "EC2MarketType": {
        "botocore": "ec2/2016-11-15/MarketType"
      },
      "EC2SpotInstanceInitiatedShutdownBehavior": {
        "botocore": "ec2/2016-11-15/SpotInstanceInterruptionBehavior"
      },
      "EC2SpotInstanceType": {
        "botocore": "ec2/2016-11-15/SpotInstanceType"
      },
      "EFSFileSystemLifecyclePolicy": {
        "botocore": "efs/2015-02-01/TransitionToIARules"
      },
      "EFSFileSystemPerformanceMode": {
        "botocore": "efs/2015-02-01/PerformanceMode"
      },
      "EFSFileSystemThroughputMode": {
        "botocore": "efs/2015-02-01/ThroughputMode"
      },
      "EbsIops": {
        "NumberMax": 20000,
        "NumberMin": 100
      },
      "EbsVolumeType": {
        "botocore": "ec2/2016-11-15/VolumeType"
      },
      "Ec2CpuCredits": {
        "AllowedValues": [
          "standard",
          "unlimited"
        ]
      },
      "Ec2ElasticIpDomain": {
        "botocore": "ec2/2016-11-15/DomainType"
      },
      "Ec2FleetDefaultTargetCapacityType": {
        "AllowedValues": [
          "on-demand",
          "spot"
        ]
      },
      "Ec2FleetExcessCapacityTerminationPolicy": {
        "botocore": "ec2/2016-11-15/FleetExcessCapacityTerminationPolicy"
      },
      "Ec2FleetOnDemandAllocationStrategy": {
        "botocore": "ec2/2016-11-15/FleetOnDemandAllocationStrategy"
      },
      "Ec2FleetSpotAllocationStrategy": {
        "botocore": "ec2/2016-11-15/AllocationStrategy"
      },
      "Ec2FleetSpotInterruptionBehavior": {
        "AllowedValues": [
          "hibernate",
          "stop",
          "terminate"
        ]
      },
      "Ec2FleetType": {
        "botocore": "ec2/2016-11-15/FleetType"
      },
      "Ec2FlowLogDestinationType": {
        "botocore": "ec2/2016-11-15/LogDestinationType"
      },
      "Ec2FlowLogResourceType": {
        "botocore": "ec2/2016-11-15/FlowLogsResourceType"
      },
      "Ec2FlowLogTrafficType": {
        "botocore": "ec2/2016-11-15/TrafficType"
      },
      "Ec2HostAutoPlacement": {
        "botocore": "ec2/2016-11-15/AutoPlacement"
      },
      "Ec2InstanceType": {
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "Ec2Tenancy": {
        "botocore": "ec2/2016-11-15/Tenancy"
      },
      "EcsLaunchType": {
        "botocore": "ecs/2014-11-13/LaunchType"
      },
      "EcsNetworkMode": {
        "botocore": "ecs/2014-11-13/NetworkMode"
      },
      "EcsSchedulingStrategy": {
        "botocore": "ecs/2014-11-13/SchedulingStrategy"
      },
      "EcsTaskDefinitionProxyType": {
        "botocore": "ecs/2014-11-13/ProxyConfigurationType"
      },
      "ElasticInferenceAccelerator": {
        "AllowedValues": [
          "eia1.large",
          "eia1.medium",
          "eia1.xlarge"
        ]
      },
      "HttpProtocol": {
        "botocore": "s3/2006-03-01/Protocol"
      },
      "ImageId": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String",
            "ImageId"
          ]
        }
      },
      "KeyPair": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String",
            "KeyPair"
          ]
        }
      },
      "KmsKey.Arn": {
        "GetAtt": {
          "AWS::KMS::Key": "Arn"
        },
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "KmsKey.Id": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::KMS::Key"
          ]
        }
      },
      "KmsKey.IdOrArn": {
        "GetAtt": {
          "AWS::KMS::Key": "Arn"
        },
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::KMS::Key"
          ]
        }
      },
      "LambdaRuntime": {
        "botocore": "lambda/2015-03-31/Runtime"
      },
      "LaunchConfigurationName": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::AutoScaling::LaunchConfiguration"
          ]
        }
      },
      "LaunchTemplateName": {
        "AllowedPattern": "[a-zA-Z0-9().-/_]+",
        "AllowedPatternRegex": "^[a-zA-Z0-9().\\-/_]+$",
        "StringMax": 128,
        "StringMin": 3
      },
      "LaunchTemplateTagSpecificationResourceType": {
        "botocore": "ec2/2016-11-15/ResourceType"
      },
      "LoadBalancerName": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::ElasticLoadBalancing::LoadBalancer"
          ]
        }
      },
      "LoadBalancerNames": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "Strings"
          ]
        }
      },
      "LoadBalancerPort": {
        "NumberMax": 65535,
        "NumberMin": 1,
        "Ref": {
          "Parameters": [
            "String",
            "Number"
          ]
        }
      },
      "LoadBalancerV2Arn": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::ElasticLoadBalancingV2::LoadBalancer"
          ]
        }
      },
      "MicrosoftADEdition": {
        "botocore": "ds/2015-04-16/DirectoryEdition"
      },
      "NeptuneInstanceClass": {
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "NetworkAclRuleAction": {
        "botocore": "ec2/2016-11-15/RuleAction"
      },
      "NetworkAclRuleNumber": {
        "NumberMax": 32766,
        "NumberMin": 1
      },
      "NetworkInterfacePermission": {
        "botocore": "ec2/2016-11-15/InterfacePermissionType"
      },
      "PerformanceInsightsRetentionPeriod": {
        "AllowedValues": [
          "7",
          "731"
        ]
      },
      "PlacementGroup": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::EC2::PlacementGroup"
          ]
        }
      },
      "PlacementGroupStrategy": {
        "botocore": "ec2/2016-11-15/PlacementGroupStrategy"
      },
      "PlacementTenancy": {
        "AllowedValues": [
          "dedicated",
          "default"
        ],
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "PredicateType": {
        "botocore": "waf/2015-08-24/PredicateType"
      },
      "PrivateIpAddress": {
        "GetAtt": {
          "AWS::EC2::NetworkInterface": "PrimaryPrivateIpAddress"
        },
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "RdsInstanceMonitoringInterval": {
        "AllowedValues": [
          "0",
          "1",
          "5",
          "10",
          "15",
          "30",
          "60"
        ]
      },
      "RdsInstanceType": {
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "RecordSetFailover": {
        "botocore": "route53/2013-04-01/ResourceRecordSetFailover"
      },
      "RecordSetGeoContinentCode": {
        "AllowedValues": [
          "AF",
          "AN",
          "AS",
          "EU",
          "NA",
          "OC",
          "SA"
        ]
      },
      "RecordSetType": {
        "botocore": "route53/2013-04-01/RRType"
      },
      "RedshiftClusterType": {
        "AllowedValues": [
          "multi-node",
          "single-node"
        ]
      },
      "RedshiftClusterVersion": {
        "AllowedValues": [
          "1.0"
        ]
      },
      "RedshiftInstanceType": {
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "Region": {
        "AllowedValues": [
          "af-south-1",
          "ap-northeast-1",
          "ap-northeast-2",
          "ap-northeast-3",
          "ap-south-1",
          "ap-southeast-1",
          "ap-southeast-2",
          "ca-central-1",
          "eu-central-1",
          "eu-north-1",
          "eu-west-1",
          "eu-west-2",
          "eu-west-3",
          "sa-east-1",
          "us-east-1",
          "us-east-2",
          "us-gov-east-1",
          "us-gov-west-1",
          "us-west-1",
          "us-west-2"
        ]
      },
      "RestApiId": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::ApiGateway::RestApi"
          ]
        }
      },
      "Route53HealthCheckConfigHealthStatus": {
        "botocore": "route53/2013-04-01/InsufficientDataHealthStatus"
      },
      "Route53HealthCheckConfigType": {
        "botocore": "route53/2013-04-01/HealthCheckType"
      },
      "Route53ResolverEndpointDirection": {
        "botocore": "route53resolver/2018-04-01/ResolverEndpointDirection"
      },
      "Route53ResolverRuleType": {
        "botocore": "route53resolver/2018-04-01/RuleTypeOption"
      },
      "S3BucketAccelerationStatus": {
        "botocore": "s3/2006-03-01/BucketAccelerateStatus"
      },
      "S3BucketAccessControl": {
        "AllowedValues": [
          "AuthenticatedRead",
          "AwsExecRead",
          "BucketOwnerFullControl",
          "BucketOwnerRead",
          "LogDeliveryWrite",
          "Private",
          "PublicRead",
          "PublicReadWrite"
        ]
      },
      "S3BucketInventoryId": {
        "AllowedPattern": "[a-zA-Z0-9.-_]+",
        "AllowedPatternRegex": "^[a-zA-Z0-9-_.]+$",
        "StringMax": 64,
        "StringMin": 1
      },
      "S3BucketInventoryIncludedObjectVersions": {
        "botocore": "s3/2006-03-01/InventoryIncludedObjectVersions"
      },
      "S3BucketInventoryScheduleFrequency": {
        "botocore": "s3/2006-03-01/InventoryFrequency"
      },
      "S3BucketSSEAlgorithm": {
        "botocore": "s3/2006-03-01/ServerSideEncryption"
      },
      "S3BucketTopicConfigurationEvent": {
        "botocore": "s3/2006-03-01/Event"
      },
      "S3BucketVersioningConfigurationStatus": {
        "botocore": "s3/2006-03-01/BucketVersioningStatus"
      },
      "SecretsManagerTargetType": {
        "AllowedValues": [
          "AWS::DocDB::DBCluster",
          "AWS::DocDB::DBInstance",
          "AWS::RDS::DBCluster",
          "AWS::RDS::DBInstance",
          "AWS::Redshift::Cluster"
        ]
      },
      "ServiceDiscoveryDnsType": {
        "botocore": "servicediscovery/2017-03-14/RecordType"
      },
      "ServiceDiscoveryHealthCheckConfigType": {
        "botocore": "servicediscovery/2017-03-14/HealthCheckType"
      },
      "SesReceiptRuleTlsPolicy": {
        "botocore": "ses/2010-12-01/TlsPolicy"
      },
      "SimpleADSize": {
        "botocore": "ds/2015-04-16/DirectorySize"
      },
      "SnsSubscriptionProtocol": {
        "AllowedValues": [
          "application",
          "email-json",
          "email",
          "http",
          "https",
          "lambda",
          "sms",
          "sqs"
        ]
      },
      "SpotFleetExcessCapacityTerminationPolicy": {
        "botocore": "ec2/2016-11-15/ExcessCapacityTerminationPolicy"
      },
      "SpotFleetInstanceInterruptionBehavior": {
        "AllowedValues": [
          "hibernate",
          "stop",
          "terminate"
        ]
      },
      "SpotFleetType": {
        "botocore": "ec2/2016-11-15/FleetType"
      },
      "SsmDocumentName": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::SSM::Document"
          ]
        }
      },
      "String": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ]
        }
      },
      "SubnetId": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String",
            "SubnetId"
          ],
          "Resources": [
            "AWS::EC2::Subnet"
          ]
        }
      },
      "SubnetIds": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "Strings",
            "SubnetIds"
          ]
        }
      },
      "TargetGroupArn": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "String"
          ],
          "Resources": [
            "AWS::ElasticLoadBalancingV2::TargetGroup"
          ]
        }
      },
      "TargetGroupArns": {
        "GetAtt": {},
        "Ref": {
          "Parameters": [
            "Strings"
          ]
        }
      },
      "TargetGroupHealthCheckTimeoutSeconds": {
        "NumberMax": 120,
        "NumberMin": 2
      },
      "TargetGroupHealthyThresholdCount": {
        "NumberMax": 10,
        "NumberMin": 2
      },
      "TransitGatewayEnabled": {
        "AllowedValues": [
          "disable",
          "enable"
        ]
      },
      "VpcEndpointConnectionEvents": {
        "AllowedValues": [
          "Accept",
          "Connect",
          "Delete",
          "Reject"
        ]
      },
      "VpcEndpointType": {
        "botocore": "ec2/2016-11-15/VpcEndpointType"
      },
      "VpnType": {
        "AllowedValues": [
          "ipsec.1"
        ]
      }
    }
  }
]