Issue: AWS Instance Types Missing From Machine Creation Services

When provisioning VDAs through MCS you may notice that many AWS instance types are missing from the machine specification list. Some of those instance types include C5 and M5.

As per the following Citrix article:
https://support.citrix.com/article/CTX139707

AWS instance types are pre-defined in the Delivery Controller software in a file called “InstanceTypes.XML” This means Citrix Virtual Apps and Desktops (CVAD) is unable to discover instance type changes automatically as Amazon introduces new ec2 offerings in their cloud services.

In order for CVAD to enumerate these missing instance types, a manual update of InstanceTypes.XML must be performed on all Delivery Controllers in the Site. For Citrix Cloud customers you must manually update this file on all Cloud Connectors.

InstanceTypes.XML can be found in the following path. %ProgramFiles%\Common Files\Citrix\HCLPlugins\Hypervisor<x.x>\AWSConfiguration\InstanceTypes.xml

Open the file using a text editor and add the required instance types. This can be done by copying and pasting an existing instance type and updating all its details.

For reference, the following XML code below has entries for most instance types currently missing from the default list.

<?xml version="1.0" encoding="UTF-8"?>


<InstanceTypes xmlns="http://www.citrix.com/2013/xd/AWSInstanceTypes"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.citrix.com/2013/xd/AWSInstanceTypes InstanceTypes.xsd">

    <!-- First generation instances -->

    <InstanceType>
        <Name>M1 Small Instance</Name>
        <MemoryMiB>1740.8</MemoryMiB>
        <EC2ComputeUnits>1</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m1.small</APIName>
        <NetworkPerformance>Low</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M1 Medium Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>2</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>410</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m1.medium</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M1 Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>4</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>840</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m1.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M1 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>8</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>1680</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m1.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <!-- Second generation instances -->

    <InstanceType>
        <Name>M3 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m3.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M3 Double Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m3.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M3 Medium Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>3</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>4</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m3.medium</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M3 Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>6.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>32</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m3.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M3 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m3.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M3 Double Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m3.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M4 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m4.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M4 Double Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m4.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M4 Medium Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>3</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>4</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m4.medium</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M4 Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>6.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>32</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m4.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M4 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m4.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M4 Double Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m4.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>	
    
    <InstanceType>
        <Name>M4 Quadruple Extra Large Instance</Name>
        <MemoryMiB>65536</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m4.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M5 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m5.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M5 Double Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m5.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M5 Medium Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>3</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>4</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m5.medium</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>M5 Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>6.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>32</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m5.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M5 Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m5.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>M5 Double Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m5.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>	
    
    <InstanceType>
        <Name>M5 Quadruple Extra Large Instance</Name>
        <MemoryMiB>65536</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m5.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>	

    <!-- Micro instances -->

    <InstanceType>
        <Name>Micro Instance</Name>
        <MemoryMiB>629.8</MemoryMiB>
        <EC2ComputeUnits>2</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Low</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>t1.micro</APIName>
        <NetworkPerformance>Very Low</NetworkPerformance>
    </InstanceType>

    <!-- Next generation T2 instances, which build up CPU credit while idle, allowing for bursting on demand. -->

    <InstanceType>
        <Name>T2 Nano Instance</Name>
        <MemoryMiB>512</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>t2.nano</APIName>
        <NetworkPerformance>Low</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>T2 Micro Instance</Name>
        <MemoryMiB>1024</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>t2.micro</APIName>
        <NetworkPerformance>Low to Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>T2 Small Instance</Name>
        <MemoryMiB>2048</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>1</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>t2.small</APIName>
        <NetworkPerformance>Low to Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>T2 Medium Instance</Name>
        <MemoryMiB>4096</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>t2.medium</APIName>
        <NetworkPerformance>Low to Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>T2 Large Instance</Name>
        <MemoryMiB>8192</MemoryMiB>
        <EC2ComputeUnits>3.0</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>t2.large</APIName>
        <NetworkPerformance>Low to Moderate</NetworkPerformance>
    </InstanceType>

    <!-- High memory Instances -->

    <InstanceType>
        <Name>High-Memory Extra Large Instance</Name>
        <MemoryMiB>17510.4</MemoryMiB>
        <EC2ComputeUnits>6.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>420</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m2.xlarge</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>High-Memory Double Extra Large Instance</Name>
        <MemoryMiB>35020.8</MemoryMiB>
        <EC2ComputeUnits>13</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>850</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>m2.2xlarge</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>High-Memory Quadruple Extra Large Instance</Name>
        <MemoryMiB>70041.6</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>1680</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>m2.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <!-- High CPU instances -->

    <InstanceType>
        <Name>High-CPU Medium Instance</Name>
        <MemoryMiB>1740.8</MemoryMiB>
        <EC2ComputeUnits>5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>350</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Moderate</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>c1.medium</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>High-CPU Extra Large Instance</Name>
        <MemoryMiB>7168</MemoryMiB>
        <EC2ComputeUnits>20</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>1680</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>High</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c1.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>High-CPU Large Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>7</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>32</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>c3.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>High-CPU Extra Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>14</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c3.xlarge</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>High-CPU Extra Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>28</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c3.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>High-CPU Quadruple Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>55</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>320</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c3.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>High-CPU Eight Extra Large Instance</Name>
        <MemoryMiB>61440</MemoryMiB>
        <EC2ComputeUnits>108</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>640</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>c3.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- C4 series -->

    <InstanceType>
        <Name>C4 Large Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c4.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C4 Extra Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c4.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C4 Double Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c4.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C4 Quadruple Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c4.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C4 Eight Extra Large Instance</Name>
        <MemoryMiB>61440</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>36</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c4.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>C5 Large Instance</Name>
        <MemoryMiB>3840</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c5.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C5 Extra Large Instance</Name>
        <MemoryMiB>7680</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c5.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C5 Double Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c5.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C5 Quadruple Extra Large Instance</Name>
        <MemoryMiB>30720</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c5.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>C5 Eight Extra Large Instance</Name>
        <MemoryMiB>61440</MemoryMiB>
        <EC2ComputeUnits>2.9</EC2ComputeUnits>
        <VirtualCores>36</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>c5.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>	

    <!-- Cluster Compute Instances -->

    <InstanceType>
        <Name>Cluster Compute Eight Extra Large Instance</Name>
        <MemoryMiB>61952</MemoryMiB>
        <EC2ComputeUnits>88</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>3360</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Very High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>cc2.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- High Memory Cluster Instances -->

    <InstanceType>
        <Name>High Memory Cluster Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>88</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>240</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Very High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>cr1.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- Cluster GPU Instances -->

    <InstanceType>
        <Name>Cluster GPU Quadruple Extra Large Instance</Name>
        <MemoryMiB>23040</MemoryMiB>
        <EC2ComputeUnits>33.5</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>1680</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Very High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>cg1.4xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>GPU Extra Extra Large Instance</Name>
        <MemoryMiB>15360</MemoryMiB>
        <EC2ComputeUnits>26</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>60</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>g2.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>Cluster GPU Eight Extra Large Instance</Name>
        <MemoryMiB>61440</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>240</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Very High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>g2.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- High I/O Instances -->

    <InstanceType>
        <Name>High IO Quadruple Extra Large Instance</Name>
        <MemoryMiB>61952</MemoryMiB>
        <EC2ComputeUnits>35</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>2048</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Very High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>hi1.4xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>I2 High IO Extra Large Instance</Name>
        <MemoryMiB>31232</MemoryMiB>
        <EC2ComputeUnits>14</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>800</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>i2.xlarge</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>I2 High IO Extra Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>27</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>1600</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>i2.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>I2 High IO Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>53</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>3200</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>i2.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>I2 High IO Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>104</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>6400</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance></IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>i2.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- High Storage Instances -->

    <InstanceType>
        <Name>High Storage Eight Extra Large Instance</Name>
        <MemoryMiB>119808</MemoryMiB>
        <EC2ComputeUnits>35</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>49152</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Very High</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>hs1.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- Next Generation Memory Optimized R3 -->

    <InstanceType>
        <Name>R3 Large Instance</Name>
        <MemoryMiB>15616</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>32</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r3.large</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R3 Extra Large Instance</Name>
        <MemoryMiB>31232</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>80</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r3.xlarge</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R3 Extra Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>160</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r3.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R3 Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>320</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r3.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R3 Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>640</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r3.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- R4 series -->

    <InstanceType>
        <Name>R4 Large Instance</Name>
        <MemoryMiB>15616</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r4.large</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R4 Extra Large Instance</Name>
        <MemoryMiB>31232</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r4.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R4 Extra Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r4.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R4 Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r4.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R4 Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r4.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R4 Sixteen Extra Large Instance</Name>
        <MemoryMiB>499712</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r4.16xlarge</APIName>
        <NetworkPerformance>20 Gigabit</NetworkPerformance>
    </InstanceType>
    
    <InstanceType>
        <Name>R5 Large Instance</Name>
        <MemoryMiB>15616</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r5.large</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R5 Extra Large Instance</Name>
        <MemoryMiB>31232</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r5.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R5 Extra Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r5.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R5 Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>r5.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R5 Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r5.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>R5 Sixteen Extra Large Instance</Name>
        <MemoryMiB>499712</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>r5.16xlarge</APIName>
        <NetworkPerformance>20 Gigabit</NetworkPerformance>
    </InstanceType>	

    <!-- I3 series -->

    <InstanceType>
        <Name>I3 Large Instance</Name>
        <MemoryMiB>15616</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>2</VirtualCores>
        <InstanceStorageGB>486</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>i3.large</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>I3 Extra Large Instance</Name>
        <MemoryMiB>31232</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>973</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>i3.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>I3 Extra Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>1946</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>i3.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>I3 Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>3891</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>i3.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>I3 Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>7782</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>i3.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>I3 Sixteen Extra Large Instance</Name>
        <MemoryMiB>499712</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>15565</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>i3.16xlarge</APIName>
        <NetworkPerformance>20 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- F1 series -->

    <InstanceType>
        <Name>F1 Extra Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>480</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>f1.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>F1 Sixteen Extra Large Instance</Name>
        <MemoryMiB>999424</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>3840</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>false</EBSOptimizedAvailable>
        <APIName>f1.16xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <!-- D2 series -->

    <InstanceType>
        <Name>D2 Extra Large Instance</Name>
        <MemoryMiB>31232</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>6000</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>d2.xlarge</APIName>
        <NetworkPerformance>Moderate</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>D2 Double Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>8</VirtualCores>
        <InstanceStorageGB>12000</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>d2.2xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>D2 Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>24000</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>d2.4xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>D2 Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>36</VirtualCores>
        <InstanceStorageGB>48000</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>d2.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- P2 -->

    <InstanceType>
        <Name>P2 Extra Large Instance</Name>
        <MemoryMiB>62464</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>4</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>p2.xlarge</APIName>
        <NetworkPerformance>High</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>P2 Eight Extra Large Instance</Name>
        <MemoryMiB>499712</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>p2.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>P2 Sixteen Extra Large Instance</Name>
        <MemoryMiB>749568</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>p2.16xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- X1 -->

    <InstanceType>
        <Name>X1 Sixteen Extra Large Instance</Name>
        <MemoryMiB>999424</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>1920</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>x1.16large</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>X1 Thirty-Two Extra Large Instance</Name>
        <MemoryMiB>1998848</MemoryMiB>
        <EC2ComputeUnits>2.4</EC2ComputeUnits>
        <VirtualCores>128</VirtualCores>
        <InstanceStorageGB>3840</InstanceStorageGB>
        <Platform32>false</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>x1.32xlarge</APIName>
        <NetworkPerformance>20 Gigabit</NetworkPerformance>
    </InstanceType>

    <!-- G3 -->

    <InstanceType>
        <Name>G3 Quadruple Extra Large Instance</Name>
        <MemoryMiB>124928</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>16</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>g3.4xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>G3 Eight Extra Large Instance</Name>
        <MemoryMiB>249856</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>32</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>g3.8xlarge</APIName>
        <NetworkPerformance>10 Gigabit</NetworkPerformance>
    </InstanceType>

    <InstanceType>
        <Name>G3 Sixteen Extra Large Instance</Name>
        <MemoryMiB>499712</MemoryMiB>
        <EC2ComputeUnits>2.5</EC2ComputeUnits>
        <VirtualCores>64</VirtualCores>
        <InstanceStorageGB>0</InstanceStorageGB>
        <Platform32>true</Platform32>
        <Platform64>true</Platform64>
        <IOPerformance>Unknown</IOPerformance>
        <EBSOptimizedAvailable>true</EBSOptimizedAvailable>
        <APIName>g3.16xlarge</APIName>
        <NetworkPerformance>20 Gigabit</NetworkPerformance>
    </InstanceType>

</InstanceTypes>

 

Once the InstanceTypes.XML is updated copy and replace the file for the remaining Delivery Controllers and/or Cloud Connectors.

Restart both the Citrix Host Service and the Citrix Machine Creation Service on each affected Delivery Controller.

Navigate back to Studio and the missing instance types should be enumerated.

Important Notes:

It will be critical to create a backup of this XML file. One thing the Citrix article fails to mention is that these files will be written over during an upgrade.

For Citrix Cloud customers this file will be over-written every time the connector automatically updates. For an on-prem deployment, this file will be over-written during a product upgrade as mentioned above.

This workaround is not ideal and has been brought to Citrix’s attention. Hopefully, an upcoming product update will remediate the need to make changes to the InstanceTypes.XML. An update to this article will be made should a product change has been introduced.

 

Update June 15, 2020: The article has been updated to include new instance types.

Update October 2020: There is a community script at GitHub using PowerShell to dynamically pull the current AWS instance types and format them in the necessary Citrix format. This may assist some organizations in maintaining a more current set of instances dynamically, with some automation. This GitHub script can be found here.

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x