A list of the instance types that Amazon EMR supports. You can filter the + * list by Amazon Web Services Region and Amazon EMR release.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EMRClient, ListSupportedInstanceTypesCommand } from "@aws-sdk/client-emr"; // ES Modules import + * // const { EMRClient, ListSupportedInstanceTypesCommand } = require("@aws-sdk/client-emr"); // CommonJS import + * const client = new EMRClient(config); + * const input = { // ListSupportedInstanceTypesInput + * ReleaseLabel: "STRING_VALUE", // required + * Marker: "STRING_VALUE", + * }; + * const command = new ListSupportedInstanceTypesCommand(input); + * const response = await client.send(command); + * // { // ListSupportedInstanceTypesOutput + * // SupportedInstanceTypes: [ // SupportedInstanceTypesList + * // { // SupportedInstanceType + * // Type: "STRING_VALUE", + * // MemoryGB: Number("float"), + * // StorageGB: Number("int"), + * // VCPU: Number("int"), + * // Is64BitsOnly: true || false, + * // InstanceFamilyId: "STRING_VALUE", + * // EbsOptimizedAvailable: true || false, + * // EbsOptimizedByDefault: true || false, + * // NumberOfDisks: Number("int"), + * // EbsStorageOnly: true || false, + * // Architecture: "STRING_VALUE", + * // }, + * // ], + * // Marker: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListSupportedInstanceTypesCommandInput - {@link ListSupportedInstanceTypesCommandInput} + * @returns {@link ListSupportedInstanceTypesCommandOutput} + * @see {@link ListSupportedInstanceTypesCommandInput} for command's `input` shape. + * @see {@link ListSupportedInstanceTypesCommandOutput} for command's `response` shape. + * @see {@link EMRClientResolvedConfig | config} for EMRClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *This exception occurs when there is an internal failure in the Amazon EMR + * service.
+ * + * @throws {@link InvalidRequestException} (client fault) + *This exception occurs when there is something wrong with user input.
+ * + * @throws {@link EMRServiceException} + *Base exception class for all service exceptions from EMR service.
+ * + */ +export class ListSupportedInstanceTypesCommand extends $Command< + ListSupportedInstanceTypesCommandInput, + ListSupportedInstanceTypesCommandOutput, + EMRClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListSupportedInstanceTypesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackSpecifies one of the following strategies to launch Spot Instance fleets: price-capacity-optimized
, capacity-optimized
, lowest-price
, or diversified
. For more information on the provisioning strategies, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
When you launch a Spot Instance fleet with the old console, it automatically launches with the capacity-optimized
strategy. You can't change the allocation strategy from the old console.
Specifies the strategy to use in launching Spot Instance fleets. Currently, the only + * option is capacity-optimized (the default), which launches instances from Spot Instance + * pools with optimal capacity for the number of instances that are launching.
*/ AllocationStrategy?: SpotProvisioningAllocationStrategy | string; } @@ -4725,6 +4724,115 @@ export interface ListStudioSessionMappingsOutput { Marker?: string; } +/** + * @public + */ +export interface ListSupportedInstanceTypesInput { + /** + *The Amazon EMR release label determines the versions of open-source
+ * application packages that Amazon EMR has installed on the cluster.
+ * Release labels are in the format emr-x.x.x
, where x.x.x is an Amazon EMR release number such as emr-6.10.0
. For more information about Amazon EMR releases and their included application versions and features, see the
+ *
+ * Amazon EMR Release
+ * Guide
+ * .
The pagination token that marks the next set of results to retrieve.
+ */ + Marker?: string; +} + +/** + * @public + *An instance type that the specified Amazon EMR release supports.
+ */ +export interface SupportedInstanceType { + /** + *The Amazon EC2 instance
+ * type, for example m5.xlarge
, of the
+ * SupportedInstanceType
.
The amount of memory that is available to Amazon EMR from the SupportedInstanceType
. The kernel and hypervisor
+ * software consume some memory, so this value might be lower than the overall memory for the
+ * instance type.
+ * StorageGB
represents the storage capacity of the
+ * SupportedInstanceType
. This value is 0
for Amazon EBS-only instance types.
The number of vCPUs available for the SupportedInstanceType
.
Indicates whether the SupportedInstanceType
only supports 64-bit
+ * architecture.
The Amazon EC2 family and generation for the
+ * SupportedInstanceType
.
Indicates whether the SupportedInstanceType
supports Amazon EBS
+ * optimization.
Indicates whether the SupportedInstanceType
uses Amazon EBS
+ * optimization by default.
Number of disks for the SupportedInstanceType
. This value is 0
+ * for Amazon EBS-only instance types.
Indicates whether the SupportedInstanceType
only supports Amazon EBS.
The CPU architecture, for example X86_64
or AARCH64
.
The list of instance types that the release specified in
+ * ListSupportedInstanceTypesInput$ReleaseLabel
supports, filtered by Amazon Web Services Region.
The pagination token that marks the next set of results to retrieve.
+ */ + Marker?: string; +} + /** * @public */ diff --git a/clients/client-emr/src/pagination/ListSupportedInstanceTypesPaginator.ts b/clients/client-emr/src/pagination/ListSupportedInstanceTypesPaginator.ts new file mode 100644 index 000000000000..1f8f716e9367 --- /dev/null +++ b/clients/client-emr/src/pagination/ListSupportedInstanceTypesPaginator.ts @@ -0,0 +1,49 @@ +// smithy-typescript generated code +import { Paginator } from "@aws-sdk/types"; + +import { + ListSupportedInstanceTypesCommand, + ListSupportedInstanceTypesCommandInput, + ListSupportedInstanceTypesCommandOutput, +} from "../commands/ListSupportedInstanceTypesCommand"; +import { EMRClient } from "../EMRClient"; +import { EMRPaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: EMRClient, + input: ListSupportedInstanceTypesCommandInput, + ...args: any +): PromiseThe details of the step failure. The service attempts to detect the root cause for many\n common failures.
" } }, + "com.amazonaws.emr#Float": { + "type": "float", + "traits": { + "smithy.api#default": 0 + } + }, "com.amazonaws.emr#GetAutoTerminationPolicy": { "type": "operation", "input": { @@ -7037,6 +7046,71 @@ "smithy.api#output": {} } }, + "com.amazonaws.emr#ListSupportedInstanceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.emr#ListSupportedInstanceTypesInput" + }, + "output": { + "target": "com.amazonaws.emr#ListSupportedInstanceTypesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.emr#InternalServerException" + }, + { + "target": "com.amazonaws.emr#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "A list of the instance types that Amazon EMR supports. You can filter the\n list by Amazon Web Services Region and Amazon EMR release.
", + "smithy.api#paginated": { + "inputToken": "Marker", + "outputToken": "Marker" + } + } + }, + "com.amazonaws.emr#ListSupportedInstanceTypesInput": { + "type": "structure", + "members": { + "ReleaseLabel": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "The Amazon EMR release label determines the versions of open-source\n application packages that Amazon EMR has installed on the cluster.\n Release labels are in the format emr-x.x.x
, where x.x.x is an Amazon EMR release number such as emr-6.10.0
. For more information about Amazon EMR releases and their included application versions and features, see the\n \n Amazon EMR Release\n Guide\n .
The pagination token that marks the next set of results to retrieve.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.emr#ListSupportedInstanceTypesOutput": { + "type": "structure", + "members": { + "SupportedInstanceTypes": { + "target": "com.amazonaws.emr#SupportedInstanceTypesList", + "traits": { + "smithy.api#documentation": "The list of instance types that the release specified in\n ListSupportedInstanceTypesInput$ReleaseLabel
supports, filtered by Amazon Web Services Region.
The pagination token that marks the next set of results to retrieve.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.emr#Long": { "type": "long", "traits": { @@ -8944,7 +9018,7 @@ "AllocationStrategy": { "target": "com.amazonaws.emr#SpotProvisioningAllocationStrategy", "traits": { - "smithy.api#documentation": "Specifies one of the following strategies to launch Spot Instance fleets: price-capacity-optimized
, capacity-optimized
, lowest-price
, or diversified
. For more information on the provisioning strategies, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
When you launch a Spot Instance fleet with the old console, it automatically launches with the capacity-optimized
strategy. You can't change the allocation strategy from the old console.
Specifies the strategy to use in launching Spot Instance fleets. Currently, the only\n option is capacity-optimized (the default), which launches instances from Spot Instance\n pools with optimal capacity for the number of instances that are launching.
" } } }, @@ -9765,6 +9839,91 @@ "target": "com.amazonaws.emr#String" } }, + "com.amazonaws.emr#SupportedInstanceType": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.emr#String", + "traits": { + "smithy.api#documentation": "The Amazon EC2 instance\n type, for example m5.xlarge
, of the\n SupportedInstanceType
.
The amount of memory that is available to Amazon EMR from the SupportedInstanceType
. The kernel and hypervisor\n software consume some memory, so this value might be lower than the overall memory for the\n instance type.
\n StorageGB
represents the storage capacity of the\n SupportedInstanceType
. This value is 0
for Amazon EBS-only instance types.
The number of vCPUs available for the SupportedInstanceType
.
Indicates whether the SupportedInstanceType
only supports 64-bit\n architecture.
The Amazon EC2 family and generation for the\n SupportedInstanceType
.
Indicates whether the SupportedInstanceType
supports Amazon EBS\n optimization.
Indicates whether the SupportedInstanceType
uses Amazon EBS\n optimization by default.
Number of disks for the SupportedInstanceType
. This value is 0
\n for Amazon EBS-only instance types.
Indicates whether the SupportedInstanceType
only supports Amazon EBS.
The CPU architecture, for example X86_64
or AARCH64
.
An instance type that the specified Amazon EMR release supports.
" + } + }, + "com.amazonaws.emr#SupportedInstanceTypesList": { + "type": "list", + "member": { + "target": "com.amazonaws.emr#SupportedInstanceType" + } + }, "com.amazonaws.emr#SupportedProductConfig": { "type": "structure", "members": {