{

"PropertyTypes": {
  "AWS::EC2::Instance.AssociationParameter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-value",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.BlockDeviceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-devicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Ebs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-ebs",
        "Required": false,
        "Type": "Ebs",
        "UpdateType": "Mutable"
      },
      "NoDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-nodevice",
        "Required": false,
        "Type": "NoDevice",
        "UpdateType": "Mutable"
      },
      "VirtualName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-virtualname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.Ebs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.NetworkInterface": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html",
    "Properties": {
      "AssociatePublicIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-associatepubip",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-delete",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceIndex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-deviceindex",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "GroupSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-groupset",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-network-iface",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddresses",
        "DuplicatesAllowed": true,
        "ItemType": "PrivateIpAddressSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecondaryPrivateIpAddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-secondprivateip",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.NoDevice": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-nodevice.html",
    "Properties": {}
  },
  "AWS::EC2::Instance.PrivateIpAddressSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
    "Properties": {
      "Primary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.SsmAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html",
    "Properties": {
      "AssociationParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-associationparameters",
        "DuplicatesAllowed": true,
        "ItemType": "AssociationParameter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DocumentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-documentname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.Volume": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html",
    "Properties": {
      "Device": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-device",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VolumeId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-volumeid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  }
},
"ResourceSpecificationVersion": "1.0.0",
"ResourceType": {
  "AWS::EC2::Instance": {
    "Attributes": {
      "AvailabilityZone": {
        "PrimitiveType": "String"
      },
      "PrivateDnsName": {
        "PrimitiveType": "String"
      },
      "PrivateIp": {
        "PrimitiveType": "String"
      },
      "PublicDnsName": {
        "PrimitiveType": "String"
      },
      "PublicIp": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html",
    "Properties": {
      "AdditionalInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-additionalinfo",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Affinity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-affinity",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BlockDeviceMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings",
        "DuplicatesAllowed": true,
        "ItemType": "BlockDeviceMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "DisableApiTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-disableapitermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "HostId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "IamInstanceProfile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-imageid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceInitiatedShutdownBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "KernelId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-kernelid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Monitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-monitoring",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkInterfaces": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-networkinterfaces",
        "DuplicatesAllowed": true,
        "ItemType": "NetworkInterface",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "PlacementGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-placementgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RamdiskId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ramdiskid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroupids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SourceDestCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-sourcedestcheck",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SsmAssociations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ssmassociations",
        "DuplicatesAllowed": true,
        "ItemType": "SsmAssociation",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "UserData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-userdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Volumes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-volumes",
        "DuplicatesAllowed": true,
        "ItemType": "Volume",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  }
}

}