[
  {
    "op": "remove",
    "path": "/PropertyTypes/AWS::EC2::LaunchTemplate.CapacityReservationPreference"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::EC2::LaunchTemplate.CapacityReservationSpecification/Properties/CapacityReservationPreference/PrimitiveType",
    "value": "String"
  },
  {
    "op": "remove",
    "path": "/PropertyTypes/AWS::EC2::LaunchTemplate.CapacityReservationSpecification/Properties/CapacityReservationPreference/Type"
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::EC2::LaunchTemplate.TagSpecification/Properties/ResourceType/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::EC2::LaunchTemplate.TagSpecification/Properties/Tags/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::CloudFront::Distribution.DistributionConfig/Properties/DefaultCacheBehavior/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::CloudFront::Distribution.LambdaFunctionAssociation/Properties/LambdaFunctionARN/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::CloudFront::Distribution.DistributionConfig/Properties/Origins/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::DynamoDB::Table/Properties/AttributeDefinitions/Required",
    "value": true
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ServiceDiscovery::Instance/Properties/InstanceAttributes/PrimitiveItemType",
    "value": "String"
  },
  {
    "op": "remove",
    "path": "/ResourceTypes/AWS::ServiceDiscovery::Instance/Properties/InstanceAttributes/PrimitiveType"
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ServiceDiscovery::Instance/Properties/InstanceAttributes/Type",
    "value": "Map"
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::Cognito::UserPool.SmsConfiguration/Properties/ExternalId/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::EC2::NetworkAclEntry/Properties/CidrBlock/Required",
    "value": false
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::DLM::LifecyclePolicy/Properties/State/Required",
    "value": true
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::DLM::LifecyclePolicy/Properties/ExecutionRoleArn/Required",
    "value": true
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::CDK::Metadata",
    "value": {
      "Documentation": "https://docs.aws.amazon.com/cdk/latest/guide/tools.html",
      "Properties": {
        "Modules": {
          "PrimitiveType": "String",
          "Required": true,
          "UpdateType": "Immutable"
        }
      }
    }
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::Backup::BackupPlan.BackupRuleResourceType/Properties/CompletionWindowMinutes/PrimitiveType",
    "value": "Long"
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::Backup::BackupPlan.BackupRuleResourceType/Properties/StartWindowMinutes/PrimitiveType",
    "value": "Long"
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::Backup::BackupPlan.LifecycleResourceType/Properties/DeleteAfterDays/PrimitiveType",
    "value": "Long"
  },
  {
    "op": "replace",
    "path": "/PropertyTypes/AWS::Backup::BackupPlan.LifecycleResourceType/Properties/MoveToColdStorageAfterDays/PrimitiveType",
    "value": "Long"
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::Route53::RecordSet/Properties/TTL/PrimitiveType",
    "value": "Long"
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::ResourceGroups::Group/Properties/Tags/ItemType",
    "value": "Tag"
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::IoT::ProvisioningTemplate/Properties/Tags/Type",
    "value": "List"
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::IoT::ProvisioningTemplate/Properties/Tags/ItemType",
    "value": "Tag"
  },
  {
    "op": "remove",
    "path": "/PropertyTypes/AWS::IoT::ProvisioningTemplate.Tags"
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::IoT::Authorizer/Properties/Tags/Type",
    "value": "List"
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::IoT::Authorizer/Properties/Tags/ItemType",
    "value": "Tag"
  },
  {
    "op": "remove",
    "path": "/PropertyTypes/AWS::IoT::Authorizer.Tags"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::SSM::Association.ParameterValues",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html",
      "Properties": {
        "ParameterValues": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html#cfn-ssm-association-parametervalues-parametervalues",
          "DuplicatesAllowed": false,
          "PrimitiveItemType": "String",
          "Required": true,
          "Type": "List",
          "UpdateType": "Mutable"
        }
      }
    }
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ECR::Repository/Properties/RepositoryPolicyText/PrimitiveType",
    "value": "Json"
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::KMS::Key/Properties/KeyPolicy/PrimitiveType",
    "value": "Json"
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::Route53::HealthCheck/Properties/HealthCheckConfig/Type",
    "value": "HealthCheckConfig"
  },
  {
    "op": "remove",
    "path": "/ResourceTypes/AWS::Route53::HealthCheck/Properties/HealthCheckConfig/PrimitiveType"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::Route53::HealthCheck.AlarmIdentifier",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html",
      "Properties": {
        "Name": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-name",
          "PrimitiveType": "String",
          "Required": true,
          "UpdateType": "Mutable"
        },
        "Region": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-region",
          "PrimitiveType": "String",
          "Required": true,
          "UpdateType": "Mutable"
        }
      }
    }
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::Route53::HealthCheck.HealthCheckConfig",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html",
      "Properties": {
        "AlarmIdentifier": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-alarmidentifier",
          "Required": false,
          "Type": "AlarmIdentifier",
          "UpdateType": "Mutable"
        },
        "ChildHealthChecks": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-childhealthchecks",
          "DuplicatesAllowed": false,
          "PrimitiveItemType": "String",
          "Required": false,
          "Type": "List",
          "UpdateType": "Mutable"
        },
        "EnableSNI": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-enablesni",
          "PrimitiveType": "Boolean",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "FailureThreshold": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-failurethreshold",
          "PrimitiveType": "Integer",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "FullyQualifiedDomainName": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-fullyqualifieddomainname",
          "PrimitiveType": "String",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "HealthThreshold": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-healththreshold",
          "PrimitiveType": "Integer",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "IPAddress": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-ipaddress",
          "PrimitiveType": "String",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "InsufficientDataHealthStatus": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-insufficientdatahealthstatus",
          "PrimitiveType": "String",
          "Required": false,
          "UpdateType": "Mutable",
          "Value": {
            "ValueType": "Route53HealthCheckConfigHealthStatus"
          }
        },
        "Inverted": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-inverted",
          "PrimitiveType": "Boolean",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "MeasureLatency": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-measurelatency",
          "PrimitiveType": "Boolean",
          "Required": false,
          "UpdateType": "Immutable"
        },
        "Port": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-port",
          "PrimitiveType": "Integer",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "Regions": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-regions",
          "DuplicatesAllowed": false,
          "PrimitiveItemType": "String",
          "Required": false,
          "Type": "List",
          "UpdateType": "Mutable"
        },
        "RequestInterval": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-requestinterval",
          "PrimitiveType": "Integer",
          "Required": false,
          "UpdateType": "Immutable"
        },
        "ResourcePath": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-resourcepath",
          "PrimitiveType": "String",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "SearchString": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-searchstring",
          "PrimitiveType": "String",
          "Required": false,
          "UpdateType": "Mutable"
        },
        "Type": {
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type",
          "PrimitiveType": "String",
          "Required": true,
          "UpdateType": "Immutable",
          "Value": {
            "ValueType": "Route53HealthCheckConfigType"
          }
        }
      }
    }
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::StepFunctions::Activity/Properties/Name",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html#cfn-stepfunctions-activity-name",
      "PrimitiveType": "String",
      "Required": true,
      "UpdateType": "Immutable"
    }
  },
  {
    "op": "remove",
    "path": "/ResourceTypes/AWS::StepFunctions::Activity/Properties/Arn"
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ImageBuilder::Component/Properties/Name",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-name",
      "PrimitiveType": "String",
      "Required": true,
      "UpdateType": "Immutable"
    }
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ImageBuilder::DistributionConfiguration/Properties/Name",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-name",
      "PrimitiveType": "String",
      "Required": true,
      "UpdateType": "Immutable"
    }
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ImageBuilder::InfrastructureConfiguration/Properties/Name",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name",
      "PrimitiveType": "String",
      "Required": true,
      "UpdateType": "Immutable"
    }
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ImageBuilder::ImagePipeline/Properties/Name",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-name",
      "PrimitiveType": "String",
      "Required": true,
      "UpdateType": "Immutable"
    }
  },
  {
    "op": "add",
    "path": "/ResourceTypes/AWS::ImageBuilder::ImageRecipe/Properties/Name",
    "value": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-name",
      "PrimitiveType": "String",
      "Required": true,
      "UpdateType": "Immutable"
    }
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::MediaPackage::PackagingConfiguration.CmafEncryption/Properties/SpekeKeyProvider/Type",
    "value": "SpekeKeyProvider"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::MediaPackage::PackagingConfiguration.DashEncryption/Properties/SpekeKeyProvider/Type",
    "value": "SpekeKeyProvider"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::MediaPackage::PackagingConfiguration.HlsEncryption/Properties/SpekeKeyProvider/Type",
    "value": "SpekeKeyProvider"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::MediaPackage::PackagingConfiguration.MssEncryption/Properties/SpekeKeyProvider/Type",
    "value": "SpekeKeyProvider"
  },
  {
    "op": "add",
    "path": "/PropertyTypes/AWS::DataBrew::Recipe.Action/Properties/Parameters/PrimitiveType",
    "value": "String"
  },
  {
    "op": "remove",
    "path": "/PropertyTypes/AWS::IoT::DomainConfiguration.Tags"
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::IoT::DomainConfiguration/Properties/Tags/Type",
    "value": "Tag"
  },
  {
    "op": "remove",
    "path": "/PropertyTypes/AWS::EC2::CarrierGateway.Tags"
  },
  {
    "op": "replace",
    "path": "/ResourceTypes/AWS::EC2::CarrierGateway/Properties/Tags/Type",
    "value": "Tag"
  }
]