{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/LaunchTemplateName"
 ],
 "definitions": {
  "AcceleratorCount": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "integer"
    },
    "Min": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "AcceleratorTotalMemoryMiB": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "integer"
    },
    "Min": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "BaselineEbsBandwidthMbps": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "integer"
    },
    "Min": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "BaselinePerformanceFactors": {
   "additionalProperties": false,
   "properties": {
    "Cpu": {
     "$ref": "#/definitions/Cpu"
    }
   },
   "type": "object"
  },
  "BlockDeviceMapping": {
   "additionalProperties": false,
   "properties": {
    "DeviceName": {
     "type": "string"
    },
    "Ebs": {
     "$ref": "#/definitions/Ebs"
    },
    "NoDevice": {
     "type": "string"
    },
    "VirtualName": {
     "type": "string"
    }
   },
   "requiredXor": [
    "VirtualName",
    "Ebs",
    "NoDevice"
   ],
   "type": "object"
  },
  "CapacityReservationSpecification": {
   "additionalProperties": false,
   "properties": {
    "CapacityReservationPreference": {
     "enum": [
      "capacity-reservations-only",
      "none",
      "open"
     ],
     "type": "string"
    },
    "CapacityReservationTarget": {
     "$ref": "#/definitions/CapacityReservationTarget"
    }
   },
   "type": "object"
  },
  "CapacityReservationTarget": {
   "additionalProperties": false,
   "properties": {
    "CapacityReservationId": {
     "type": "string"
    },
    "CapacityReservationResourceGroupArn": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "ConnectionTrackingSpecification": {
   "additionalProperties": false,
   "properties": {
    "TcpEstablishedTimeout": {
     "type": "integer"
    },
    "UdpStreamTimeout": {
     "type": "integer"
    },
    "UdpTimeout": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "Cpu": {
   "additionalProperties": false,
   "properties": {
    "References": {
     "$ref": "#/definitions/References"
    }
   },
   "type": "object"
  },
  "CpuOptions": {
   "additionalProperties": false,
   "properties": {
    "AmdSevSnp": {
     "enum": [
      "enabled",
      "disabled"
     ],
     "type": "string"
    },
    "CoreCount": {
     "type": "integer"
    },
    "ThreadsPerCore": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "CreditSpecification": {
   "additionalProperties": false,
   "properties": {
    "CpuCredits": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "Ebs": {
   "additionalProperties": false,
   "properties": {
    "DeleteOnTermination": {
     "type": "boolean"
    },
    "EbsCardIndex": {
     "type": "integer"
    },
    "Encrypted": {
     "type": "boolean"
    },
    "Iops": {
     "type": "integer"
    },
    "KmsKeyId": {
     "anyOf": [
      {
       "format": "AWS::KMS::Key.Arn"
      },
      {
       "format": "AWS::KMS::Key.Id"
      },
      {
       "format": "AWS::KMS::Alias.AliasName"
      }
     ],
     "type": "string"
    },
    "SnapshotId": {
     "type": "string"
    },
    "Throughput": {
     "type": "integer"
    },
    "VolumeInitializationRate": {
     "type": "integer"
    },
    "VolumeSize": {
     "type": "integer"
    },
    "VolumeType": {
     "enum": [
      "gp2",
      "gp3",
      "io1",
      "io2",
      "sc1",
      "st1",
      "standard"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "EnaSrdSpecification": {
   "additionalProperties": false,
   "properties": {
    "EnaSrdEnabled": {
     "type": "boolean"
    },
    "EnaSrdUdpSpecification": {
     "$ref": "#/definitions/EnaSrdUdpSpecification"
    }
   },
   "type": "object"
  },
  "EnaSrdUdpSpecification": {
   "additionalProperties": false,
   "properties": {
    "EnaSrdUdpEnabled": {
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "EnclaveOptions": {
   "additionalProperties": false,
   "properties": {
    "Enabled": {
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "HibernationOptions": {
   "additionalProperties": false,
   "properties": {
    "Configured": {
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "IamInstanceProfile": {
   "additionalProperties": false,
   "properties": {
    "Arn": {
     "type": "string"
    },
    "Name": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "InstanceMarketOptions": {
   "additionalProperties": false,
   "properties": {
    "MarketType": {
     "enum": [
      "capacity-block",
      "interruptible-capacity-reservation",
      "spot"
     ],
     "type": "string"
    },
    "SpotOptions": {
     "$ref": "#/definitions/SpotOptions"
    }
   },
   "type": "object"
  },
  "InstanceRequirements": {
   "additionalProperties": false,
   "properties": {
    "AcceleratorCount": {
     "$ref": "#/definitions/AcceleratorCount"
    },
    "AcceleratorManufacturers": {
     "items": {
      "enum": [
       "amazon-web-services",
       "amd",
       "habana",
       "nvidia",
       "xilinx"
      ],
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "AcceleratorNames": {
     "items": {
      "enum": [
       "a100",
       "a10g",
       "gaudi-hl-205",
       "h100",
       "inferentia",
       "inferentia2",
       "k520",
       "k80",
       "l4",
       "l40s",
       "m60",
       "radeon-pro-v520",
       "t4",
       "t4g",
       "trainium",
       "trainium2",
       "u30",
       "v100",
       "vu9p"
      ],
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "AcceleratorTotalMemoryMiB": {
     "$ref": "#/definitions/AcceleratorTotalMemoryMiB"
    },
    "AcceleratorTypes": {
     "items": {
      "enum": [
       "fpga",
       "gpu",
       "inference",
       "media"
      ],
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "AllowedInstanceTypes": {
     "items": {
      "maxLength": 30,
      "minLength": 1,
      "pattern": "^[a-zA-Z0-9\\.\\*\\-]+$",
      "type": "string"
     },
     "maxItems": 400,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "BareMetal": {
     "enum": [
      "excluded",
      "included",
      "required"
     ],
     "type": "string"
    },
    "BaselineEbsBandwidthMbps": {
     "$ref": "#/definitions/BaselineEbsBandwidthMbps"
    },
    "BaselinePerformanceFactors": {
     "$ref": "#/definitions/BaselinePerformanceFactors"
    },
    "BurstablePerformance": {
     "enum": [
      "excluded",
      "included",
      "required"
     ],
     "type": "string"
    },
    "CpuManufacturers": {
     "items": {
      "enum": [
       "amazon-web-services",
       "amd",
       "apple",
       "intel"
      ],
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "ExcludedInstanceTypes": {
     "items": {
      "maxLength": 30,
      "minLength": 1,
      "pattern": "^[a-zA-Z0-9\\.\\*\\-]+$",
      "type": "string"
     },
     "maxItems": 400,
     "minItems": 0,
     "type": "array",
     "uniqueItems": false
    },
    "InstanceGenerations": {
     "items": {
      "enum": [
       "current",
       "previous"
      ],
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "LocalStorage": {
     "enum": [
      "excluded",
      "included",
      "required"
     ],
     "type": "string"
    },
    "LocalStorageTypes": {
     "items": {
      "enum": [
       "hdd",
       "ssd"
      ],
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": {
     "type": "integer"
    },
    "MemoryGiBPerVCpu": {
     "$ref": "#/definitions/MemoryGiBPerVCpu"
    },
    "MemoryMiB": {
     "$ref": "#/definitions/MemoryMiB"
    },
    "NetworkBandwidthGbps": {
     "$ref": "#/definitions/NetworkBandwidthGbps"
    },
    "NetworkInterfaceCount": {
     "$ref": "#/definitions/NetworkInterfaceCount"
    },
    "OnDemandMaxPricePercentageOverLowestPrice": {
     "type": "integer"
    },
    "RequireHibernateSupport": {
     "type": "boolean"
    },
    "SpotMaxPricePercentageOverLowestPrice": {
     "type": "integer"
    },
    "TotalLocalStorageGB": {
     "$ref": "#/definitions/TotalLocalStorageGB"
    },
    "VCpuCount": {
     "$ref": "#/definitions/VCpuCount"
    }
   },
   "type": "object"
  },
  "Ipv4PrefixSpecification": {
   "additionalProperties": false,
   "properties": {
    "Ipv4Prefix": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "Ipv6Add": {
   "additionalProperties": false,
   "properties": {
    "Ipv6Address": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "Ipv6PrefixSpecification": {
   "additionalProperties": false,
   "properties": {
    "Ipv6Prefix": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "LaunchTemplateData": {
   "additionalProperties": false,
   "properties": {
    "BlockDeviceMappings": {
     "items": {
      "$ref": "#/definitions/BlockDeviceMapping"
     },
     "type": "array",
     "uniqueItems": false
    },
    "CapacityReservationSpecification": {
     "$ref": "#/definitions/CapacityReservationSpecification"
    },
    "CpuOptions": {
     "$ref": "#/definitions/CpuOptions"
    },
    "CreditSpecification": {
     "$ref": "#/definitions/CreditSpecification"
    },
    "DisableApiStop": {
     "type": "boolean"
    },
    "DisableApiTermination": {
     "type": "boolean"
    },
    "EbsOptimized": {
     "type": "boolean"
    },
    "EnclaveOptions": {
     "$ref": "#/definitions/EnclaveOptions"
    },
    "HibernationOptions": {
     "$ref": "#/definitions/HibernationOptions"
    },
    "IamInstanceProfile": {
     "$ref": "#/definitions/IamInstanceProfile"
    },
    "ImageId": {
     "format": "AWS::EC2::Image.Id",
     "type": "string"
    },
    "InstanceInitiatedShutdownBehavior": {
     "enum": [
      "stop",
      "terminate"
     ],
     "type": "string"
    },
    "InstanceMarketOptions": {
     "$ref": "#/definitions/InstanceMarketOptions"
    },
    "InstanceRequirements": {
     "$ref": "#/definitions/InstanceRequirements"
    },
    "InstanceType": {
     "type": "string"
    },
    "KernelId": {
     "type": "string"
    },
    "KeyName": {
     "type": "string"
    },
    "LicenseSpecifications": {
     "items": {
      "$ref": "#/definitions/LicenseSpecification"
     },
     "type": "array",
     "uniqueItems": false
    },
    "MaintenanceOptions": {
     "$ref": "#/definitions/MaintenanceOptions"
    },
    "MetadataOptions": {
     "$ref": "#/definitions/MetadataOptions"
    },
    "Monitoring": {
     "$ref": "#/definitions/Monitoring"
    },
    "NetworkInterfaces": {
     "items": {
      "$ref": "#/definitions/NetworkInterface"
     },
     "type": "array",
     "uniqueItems": false
    },
    "Placement": {
     "$ref": "#/definitions/Placement"
    },
    "PrivateDnsNameOptions": {
     "$ref": "#/definitions/PrivateDnsNameOptions"
    },
    "RamDiskId": {
     "type": "string"
    },
    "SecurityGroupIds": {
     "format": "AWS::EC2::SecurityGroup.Ids",
     "items": {
      "format": "AWS::EC2::SecurityGroup.Id",
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "SecurityGroups": {
     "format": "AWS::EC2::SecurityGroup.Ids",
     "items": {
      "format": "AWS::EC2::SecurityGroup.Id",
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "TagSpecifications": {
     "items": {
      "$ref": "#/definitions/TagSpecification"
     },
     "type": "array",
     "uniqueItems": false
    },
    "UserData": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "LaunchTemplateTagSpecification": {
   "additionalProperties": false,
   "properties": {
    "ResourceType": {
     "enum": [
      "capacity-block",
      "capacity-manager-data-export",
      "capacity-reservation",
      "capacity-reservation-cancellation-quote",
      "capacity-reservation-fleet",
      "carrier-gateway",
      "client-vpn-endpoint",
      "coip-pool",
      "customer-gateway",
      "declarative-policies-report",
      "dedicated-host",
      "dhcp-options",
      "egress-only-internet-gateway",
      "elastic-gpu",
      "elastic-ip",
      "export-image-task",
      "export-instance-task",
      "fleet",
      "fpga-image",
      "host-reservation",
      "image",
      "image-usage-report",
      "import-image-task",
      "import-snapshot-task",
      "instance",
      "instance-connect-endpoint",
      "instance-event-window",
      "internet-gateway",
      "ipam",
      "ipam-external-resource-verification-token",
      "ipam-policy",
      "ipam-pool",
      "ipam-pool-allocation",
      "ipam-prefix-list-resolver",
      "ipam-prefix-list-resolver-target",
      "ipam-resource-discovery",
      "ipam-resource-discovery-association",
      "ipam-scope",
      "ipv4pool-ec2",
      "ipv6pool-ec2",
      "key-pair",
      "launch-template",
      "local-gateway",
      "local-gateway-route-table",
      "local-gateway-route-table-virtual-interface-group-association",
      "local-gateway-route-table-vpc-association",
      "local-gateway-virtual-interface",
      "local-gateway-virtual-interface-group",
      "mac-modification-task",
      "natgateway",
      "network-acl",
      "network-insights-access-scope",
      "network-insights-access-scope-analysis",
      "network-insights-analysis",
      "network-insights-path",
      "network-interface",
      "outpost-lag",
      "placement-group",
      "prefix-list",
      "replace-root-volume-task",
      "reserved-instances",
      "route-server",
      "route-server-endpoint",
      "route-server-peer",
      "route-table",
      "secondary-interface",
      "secondary-network",
      "secondary-subnet",
      "security-group",
      "security-group-rule",
      "service-link-virtual-interface",
      "snapshot",
      "spot-fleet-request",
      "spot-instances-request",
      "subnet",
      "subnet-cidr-reservation",
      "traffic-mirror-filter",
      "traffic-mirror-filter-rule",
      "traffic-mirror-session",
      "traffic-mirror-target",
      "transit-gateway",
      "transit-gateway-attachment",
      "transit-gateway-connect-peer",
      "transit-gateway-metering-policy",
      "transit-gateway-multicast-domain",
      "transit-gateway-policy-table",
      "transit-gateway-route-table",
      "transit-gateway-route-table-announcement",
      "verified-access-endpoint",
      "verified-access-endpoint-target",
      "verified-access-group",
      "verified-access-instance",
      "verified-access-policy",
      "verified-access-trust-provider",
      "volume",
      "vpc",
      "vpc-block-public-access-exclusion",
      "vpc-encryption-control",
      "vpc-endpoint",
      "vpc-endpoint-connection",
      "vpc-endpoint-connection-device-type",
      "vpc-endpoint-service",
      "vpc-endpoint-service-permission",
      "vpc-flow-log",
      "vpc-peering-connection",
      "vpn-concentrator",
      "vpn-connection",
      "vpn-connection-device-type",
      "vpn-gateway"
     ],
     "type": "string"
    },
    "Tags": {
     "items": {
      "$ref": "#/definitions/Tag"
     },
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "LicenseSpecification": {
   "additionalProperties": false,
   "properties": {
    "LicenseConfigurationArn": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "MaintenanceOptions": {
   "additionalProperties": false,
   "properties": {
    "AutoRecovery": {
     "enum": [
      "default",
      "disabled"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "MemoryGiBPerVCpu": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "number"
    },
    "Min": {
     "type": "number"
    }
   },
   "type": "object"
  },
  "MemoryMiB": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "integer"
    },
    "Min": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "MetadataOptions": {
   "additionalProperties": false,
   "properties": {
    "HttpEndpoint": {
     "enum": [
      "disabled",
      "enabled"
     ],
     "type": "string"
    },
    "HttpProtocolIpv6": {
     "enum": [
      "disabled",
      "enabled"
     ],
     "type": "string"
    },
    "HttpPutResponseHopLimit": {
     "type": "integer"
    },
    "HttpTokens": {
     "enum": [
      "optional",
      "required"
     ],
     "type": "string"
    },
    "InstanceMetadataTags": {
     "enum": [
      "disabled",
      "enabled"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "Monitoring": {
   "additionalProperties": false,
   "properties": {
    "Enabled": {
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "NetworkBandwidthGbps": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "number"
    },
    "Min": {
     "type": "number"
    }
   },
   "type": "object"
  },
  "NetworkInterface": {
   "additionalProperties": false,
   "dependentExcluded": {
    "AssociateCarrierIpAddress": [
     "NetworkInterfaceId"
    ],
    "AssociatePublicIpAddress": [
     "NetworkInterfaceId"
    ],
    "NetworkInterfaceId": [
     "AssociateCarrierIpAddress",
     "AssociatePublicIpAddress"
    ]
   },
   "properties": {
    "AssociateCarrierIpAddress": {
     "type": "boolean"
    },
    "AssociatePublicIpAddress": {
     "type": "boolean"
    },
    "ConnectionTrackingSpecification": {
     "$ref": "#/definitions/ConnectionTrackingSpecification"
    },
    "DeleteOnTermination": {
     "type": "boolean"
    },
    "Description": {
     "type": "string"
    },
    "DeviceIndex": {
     "type": "integer"
    },
    "EnaQueueCount": {
     "type": "integer"
    },
    "EnaSrdSpecification": {
     "$ref": "#/definitions/EnaSrdSpecification"
    },
    "Groups": {
     "items": {
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "InterfaceType": {
     "type": "string"
    },
    "Ipv4PrefixCount": {
     "type": "integer"
    },
    "Ipv4Prefixes": {
     "items": {
      "$ref": "#/definitions/Ipv4PrefixSpecification"
     },
     "type": "array",
     "uniqueItems": false
    },
    "Ipv6AddressCount": {
     "type": "integer"
    },
    "Ipv6Addresses": {
     "items": {
      "$ref": "#/definitions/Ipv6Add"
     },
     "type": "array",
     "uniqueItems": false
    },
    "Ipv6PrefixCount": {
     "type": "integer"
    },
    "Ipv6Prefixes": {
     "items": {
      "$ref": "#/definitions/Ipv6PrefixSpecification"
     },
     "type": "array",
     "uniqueItems": false
    },
    "NetworkCardIndex": {
     "type": "integer"
    },
    "NetworkInterfaceId": {
     "type": "string"
    },
    "PrimaryIpv6": {
     "type": "boolean"
    },
    "PrivateIpAddress": {
     "type": "string"
    },
    "PrivateIpAddresses": {
     "items": {
      "$ref": "#/definitions/PrivateIpAdd"
     },
     "type": "array",
     "uniqueItems": false
    },
    "SecondaryPrivateIpAddressCount": {
     "type": "integer"
    },
    "SubnetId": {
     "format": "AWS::EC2::Subnet.Id",
     "type": "string"
    }
   },
   "type": "object"
  },
  "NetworkInterfaceCount": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "integer"
    },
    "Min": {
     "type": "integer"
    }
   },
   "type": "object"
  },
  "NetworkPerformanceOptions": {
   "additionalProperties": false,
   "properties": {
    "BandwidthWeighting": {
     "enum": [
      "default",
      "ebs-1",
      "vpc-1"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "Placement": {
   "additionalProperties": false,
   "properties": {
    "Affinity": {
     "type": "string"
    },
    "AvailabilityZone": {
     "type": "string"
    },
    "GroupId": {
     "type": "string"
    },
    "GroupName": {
     "type": "string"
    },
    "HostId": {
     "type": "string"
    },
    "HostResourceGroupArn": {
     "type": "string"
    },
    "PartitionNumber": {
     "type": "integer"
    },
    "SpreadDomain": {
     "type": "string"
    },
    "Tenancy": {
     "enum": [
      "dedicated",
      "default",
      "host"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "PrivateDnsNameOptions": {
   "additionalProperties": false,
   "properties": {
    "EnableResourceNameDnsAAAARecord": {
     "type": "boolean"
    },
    "EnableResourceNameDnsARecord": {
     "type": "boolean"
    },
    "HostnameType": {
     "enum": [
      "ip-name",
      "resource-name"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "PrivateIpAdd": {
   "additionalProperties": false,
   "properties": {
    "Primary": {
     "type": "boolean"
    },
    "PrivateIpAddress": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "Reference": {
   "additionalProperties": false,
   "properties": {
    "InstanceFamily": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "References": {
   "insertionOrder": true,
   "items": {
    "$ref": "#/definitions/Reference"
   },
   "type": "array",
   "uniqueItems": true
  },
  "SpotOptions": {
   "additionalProperties": false,
   "properties": {
    "BlockDurationMinutes": {
     "type": "integer"
    },
    "InstanceInterruptionBehavior": {
     "enum": [
      "hibernate",
      "stop",
      "terminate"
     ],
     "type": "string"
    },
    "MaxPrice": {
     "type": "string"
    },
    "SpotInstanceType": {
     "enum": [
      "one-time",
      "persistent"
     ],
     "type": "string"
    },
    "ValidUntil": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "Tag": {
   "additionalProperties": false,
   "properties": {
    "Key": {
     "type": "string"
    },
    "Value": {
     "type": "string"
    }
   },
   "required": [
    "Value",
    "Key"
   ],
   "type": "object"
  },
  "TagSpecification": {
   "additionalProperties": false,
   "properties": {
    "ResourceType": {
     "enum": [
      "capacity-block",
      "capacity-manager-data-export",
      "capacity-reservation",
      "capacity-reservation-cancellation-quote",
      "capacity-reservation-fleet",
      "carrier-gateway",
      "client-vpn-endpoint",
      "coip-pool",
      "customer-gateway",
      "declarative-policies-report",
      "dedicated-host",
      "dhcp-options",
      "egress-only-internet-gateway",
      "elastic-gpu",
      "elastic-ip",
      "export-image-task",
      "export-instance-task",
      "fleet",
      "fpga-image",
      "host-reservation",
      "image",
      "image-usage-report",
      "import-image-task",
      "import-snapshot-task",
      "instance",
      "instance-connect-endpoint",
      "instance-event-window",
      "internet-gateway",
      "ipam",
      "ipam-external-resource-verification-token",
      "ipam-policy",
      "ipam-pool",
      "ipam-pool-allocation",
      "ipam-prefix-list-resolver",
      "ipam-prefix-list-resolver-target",
      "ipam-resource-discovery",
      "ipam-resource-discovery-association",
      "ipam-scope",
      "ipv4pool-ec2",
      "ipv6pool-ec2",
      "key-pair",
      "launch-template",
      "local-gateway",
      "local-gateway-route-table",
      "local-gateway-route-table-virtual-interface-group-association",
      "local-gateway-route-table-vpc-association",
      "local-gateway-virtual-interface",
      "local-gateway-virtual-interface-group",
      "mac-modification-task",
      "natgateway",
      "network-acl",
      "network-insights-access-scope",
      "network-insights-access-scope-analysis",
      "network-insights-analysis",
      "network-insights-path",
      "network-interface",
      "outpost-lag",
      "placement-group",
      "prefix-list",
      "replace-root-volume-task",
      "reserved-instances",
      "route-server",
      "route-server-endpoint",
      "route-server-peer",
      "route-table",
      "secondary-interface",
      "secondary-network",
      "secondary-subnet",
      "security-group",
      "security-group-rule",
      "service-link-virtual-interface",
      "snapshot",
      "spot-fleet-request",
      "spot-instances-request",
      "subnet",
      "subnet-cidr-reservation",
      "traffic-mirror-filter",
      "traffic-mirror-filter-rule",
      "traffic-mirror-session",
      "traffic-mirror-target",
      "transit-gateway",
      "transit-gateway-attachment",
      "transit-gateway-connect-peer",
      "transit-gateway-metering-policy",
      "transit-gateway-multicast-domain",
      "transit-gateway-policy-table",
      "transit-gateway-route-table",
      "transit-gateway-route-table-announcement",
      "verified-access-endpoint",
      "verified-access-endpoint-target",
      "verified-access-group",
      "verified-access-instance",
      "verified-access-policy",
      "verified-access-trust-provider",
      "volume",
      "vpc",
      "vpc-block-public-access-exclusion",
      "vpc-encryption-control",
      "vpc-endpoint",
      "vpc-endpoint-connection",
      "vpc-endpoint-connection-device-type",
      "vpc-endpoint-service",
      "vpc-endpoint-service-permission",
      "vpc-flow-log",
      "vpc-peering-connection",
      "vpn-concentrator",
      "vpn-connection",
      "vpn-connection-device-type",
      "vpn-gateway"
     ],
     "type": "string"
    },
    "Tags": {
     "items": {
      "$ref": "#/definitions/Tag"
     },
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "TotalLocalStorageGB": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "number"
    },
    "Min": {
     "type": "number"
    }
   },
   "type": "object"
  },
  "VCpuCount": {
   "additionalProperties": false,
   "properties": {
    "Max": {
     "type": "integer"
    },
    "Min": {
     "type": "integer"
    }
   },
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/LaunchTemplateId"
 ],
 "properties": {
  "DefaultVersionNumber": {
   "type": "string"
  },
  "LatestVersionNumber": {
   "type": "string"
  },
  "LaunchTemplateData": {
   "$ref": "#/definitions/LaunchTemplateData"
  },
  "LaunchTemplateId": {
   "type": "string"
  },
  "LaunchTemplateName": {
   "type": "string"
  },
  "TagSpecifications": {
   "items": {
    "$ref": "#/definitions/LaunchTemplateTagSpecification"
   },
   "type": "array",
   "uniqueItems": false
  },
  "VersionDescription": {
   "maxLength": 255,
   "minLength": 0,
   "type": "string"
  }
 },
 "readOnlyProperties": [
  "/properties/DefaultVersionNumber",
  "/properties/LaunchTemplateId",
  "/properties/LatestVersionNumber"
 ],
 "required": [
  "LaunchTemplateData"
 ],
 "tagging": {
  "cloudFormationSystemTags": false,
  "tagOnCreate": false,
  "tagUpdatable": false,
  "taggable": false
 },
 "typeName": "AWS::EC2::LaunchTemplate",
 "writeOnlyProperties": [
  "/properties/LaunchTemplateData",
  "/properties/VersionDescription",
  "/properties/TagSpecifications"
 ]
}
