public void setInstanceTypes(java.util.Collection<String> instanceTypes) {
        if (instanceTypes == null) {
            this.instanceTypes = null;
            return;
        }

        this.instanceTypes = new java.util.ArrayList<String>(instanceTypes);
    }
public void setInstanceTypes ( java . util . Collection < String > instanceTypes ) { if ( instanceTypes == null ) { this . instanceTypes = null ; return ; } this . instanceTypes = new java . util . ArrayList < String > ( instanceTypes ) ; }
<p>
The instances types that may be launched. You can specify instance families to launch any instance type within
those families (for example, <code>c4</code> or <code>p3</code>), or you can specify specific sizes within a
family (such as <code>c4.8xlarge</code>). You can also choose <code>optimal</code> to pick instance types (from
the C, M, and R instance families) on the fly that match the demand of your job queues.
</p>

@param instanceTypes
The instances types that may be launched. You can specify instance families to launch any instance type
within those families (for example, <code>c4</code> or <code>p3</code>), or you can specify specific sizes
within a family (such as <code>c4.8xlarge</code>). You can also choose <code>optimal</code> to pick
instance types (from the C, M, and R instance families) on the fly that match the demand of your job
queues.