[
 {
  "op": "add",
  "path": "/ValueTypes",
  "value": {
   "AWS::IdentityStore::GroupMembership.MemberId.UserId": {
    "AllowedPatternRegex": "^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
    "StringMax": 47,
    "StringMin": 1
   },
   "AWS::KMS::Alias.TargetKeyId": {
    "GetAtt": {
     "AWS::KMS::Key": [
      "Arn",
      "KeyId"
     ],
     "AWS::KMS::ReplicaKey": [
      "Arn",
      "KeyId"
     ]
    },
    "Ref": {
     "Parameters": [
      "String"
     ],
     "Resources": [
      "AWS::KMS::Key",
      "AWS::KMS::ReplicaKey"
     ]
    }
   },
   "AWS::M2::Application.Definition.Content": {
    "StringMax": 6500,
    "StringMin": 1
   },
   "AWS::M2::Application.Definition.S3Location": {
    "AllowedPatternRegex": "^\\S{1,2000}$"
   },
   "AvailabilityZone": {
    "AllowedPatternRegex": "[a-z0-9-]+",
    "GetAtt": {
     "AWS::EC2::Instance": "AvailabilityZone",
     "AWS::EC2::Subnet": "AvailabilityZone",
     "AWS::OpsWorks::Instance": "AvailabilityZone"
    },
    "Ref": {
     "Parameters": [
      "String",
      "AvailabilityZone"
     ]
    }
   },
   "AvailabilityZoneWithAll": {
    "AllowedPatternRegex": "[a-z0-9-]+",
    "GetAtt": {
     "AWS::EC2::Instance": "AvailabilityZone",
     "AWS::EC2::Subnet": "AvailabilityZone",
     "AWS::OpsWorks::Instance": "AvailabilityZone"
    },
    "Ref": {
     "Parameters": [
      "String",
      "AvailabilityZone"
     ]
    }
   },
   "AvailabilityZones": {
    "GetAtt": {},
    "Ref": {
     "Parameters": [
      "Strings",
      "AvailabilityZones"
     ]
    }
   },
   "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"
     ]
    }
   },
   "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"
     ]
    }
   },
   "CustomerGatewayType": {
    "botocore": "ec2/2016-11-15/GatewayType"
   },
   "DAXInstanceType": {
    "Ref": {
     "Parameters": [
      "String"
     ]
    }
   },
   "DHCPOptionsNetbiosNodeType": {
    "AllowedValues": [
     "1",
     "2",
     "4",
     "8"
    ]
   },
   "DLMPolicyResourceType": {
    "botocore": "dlm/2018-01-12/ResourceTypeValues"
   },
   "DmsEndpointSslMode": {
    "botocore": "dms/2016-01-01/DmsSslModeValue"
   },
   "DmsEndpointType": {
    "botocore": "dms/2016-01-01/ReplicationEndpointTypeValue"
   },
   "DocumentDBEngineVersion": {
    "AllowedValues": [
     "3.6.0",
     "3.6",
     "4.0",
     "4.0.0",
     "5.0",
     "5.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"
   },
   "Ec2FleetOnDemandAllocationStrategy": {
    "botocore": "ec2/2016-11-15/FleetOnDemandAllocationStrategy"
   },
   "Ec2HostAutoPlacement": {
    "botocore": "ec2/2016-11-15/AutoPlacement"
   },
   "Ec2InstanceType": {
    "Ref": {
     "Parameters": [
      "String"
     ]
    }
   },
   "Ec2Tenancy": {
    "botocore": "ec2/2016-11-15/Tenancy"
   },
   "EcsNetworkMode": {
    "botocore": "ecs/2014-11-13/NetworkMode"
   },
   "EcsTaskDefinitionProxyType": {
    "botocore": "ecs/2014-11-13/ProxyConfigurationType"
   },
   "ElasticInferenceAccelerator": {
    "AllowedValues": [
     "eia1.large",
     "eia1.medium",
     "eia1.xlarge"
    ]
   },
   "ImageId": {
    "GetAtt": {},
    "Ref": {
     "Parameters": [
      "String",
      "ImageId"
     ]
    }
   },
   "KeyPair": {
    "GetAtt": {},
    "Ref": {
     "Parameters": [
      "String",
      "KeyPair"
     ],
     "Resources": [
      "AWS::EC2::KeyPair"
     ]
    }
   },
   "KmsKey.Arn": {
    "GetAtt": {
     "AWS::KMS::Key": "Arn",
     "AWS::KMS::ReplicaKey": "Arn"
    },
    "Ref": {
     "Parameters": [
      "String"
     ]
    }
   },
   "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": {
     "AWS::ElasticLoadBalancingV2::LoadBalancer": "LoadBalancerArn"
    },
    "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",
     "31",
     "62",
     "93",
     "124",
     "155",
     "186",
     "217",
     "248",
     "279",
     "310",
     "341",
     "372",
     "403",
     "434",
     "465",
     "496",
     "527",
     "558",
     "589",
     "620",
     "651",
     "682",
     "713",
     "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"
    ]
   },
   "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"
     ]
    }
   },
   "RestApiId": {
    "GetAtt": {},
    "Ref": {
     "Parameters": [
      "String"
     ],
     "Resources": [
      "AWS::ApiGateway::RestApi"
     ]
    }
   },
   "Route53ResolverEndpointDirection": {
    "botocore": "route53resolver/2018-04-01/ResolverEndpointDirection"
   },
   "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",
     "firehose",
     "http",
     "https",
     "lambda",
     "sms",
     "sqs"
    ]
   },
   "SsmDocumentName": {
    "GetAtt": {},
    "Ref": {
     "Parameters": [
      "String"
     ],
     "Resources": [
      "AWS::SSM::Document"
     ]
    }
   },
   "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"
    ]
   },
   "VpnType": {
    "AllowedValues": [
     "ipsec.1"
    ]
   }
  }
 }
]