SDK for PHP 3.x

Client: Aws\PCS\PCSClient
Service ID: pcs
Version: 2023-02-10

This page describes the parameters and results for the operations of the AWS Parallel Computing Service (2023-02-10), and shows how to use the Aws\PCS\PCSClient object to call the described operations. This documentation is specific to the 2023-02-10 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateCluster ( array $params = [] )
Creates a cluster in your account.
CreateComputeNodeGroup ( array $params = [] )
Creates a managed set of compute nodes.
CreateQueue ( array $params = [] )
Creates a job queue.
DeleteCluster ( array $params = [] )
Deletes a cluster and all its linked resources.
DeleteComputeNodeGroup ( array $params = [] )
Deletes a compute node group.
DeleteQueue ( array $params = [] )
Deletes a job queue.
GetCluster ( array $params = [] )
Returns detailed information about a running cluster in your account.
GetComputeNodeGroup ( array $params = [] )
Returns detailed information about a compute node group.
GetQueue ( array $params = [] )
Returns detailed information about a queue.
ListClusters ( array $params = [] )
Returns a list of running clusters in your account.
ListComputeNodeGroups ( array $params = [] )
Returns a list of all compute node groups associated with a cluster.
ListQueues ( array $params = [] )
Returns a list of all queues associated with a cluster.
ListTagsForResource ( array $params = [] )
Returns a list of all tags on an Amazon Web Services PCS resource.
RegisterComputeNodeGroupInstance ( array $params = [] )
This API action isn't intended for you to use.
TagResource ( array $params = [] )
Adds or edits tags on an Amazon Web Services PCS resource.
UntagResource ( array $params = [] )
Deletes tags from an Amazon Web Services PCS resource.
UpdateComputeNodeGroup ( array $params = [] )
Updates a compute node group.
UpdateQueue ( array $params = [] )
Updates the compute node group configuration of a queue.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListClusters
ListComputeNodeGroups
ListQueues

Operations

CreateCluster

$result = $client->createCluster([/* ... */]);
$promise = $client->createClusterAsync([/* ... */]);

Creates a cluster in your account. Amazon Web Services PCS creates the cluster controller in a service-owned account. The cluster controller communicates with the cluster resources in your account. The subnets and security groups for the cluster must already exist before you use this API action.

It takes time for Amazon Web Services PCS to create the cluster. The cluster is in a Creating state until it is ready to use. There can only be 1 cluster in a Creating state per Amazon Web Services Region per Amazon Web Services account. CreateCluster fails with a ServiceQuotaExceededException if there is already a cluster in a Creating state.

Parameter Syntax

$result = $client->createCluster([
    'clientToken' => '<string>',
    'clusterName' => '<string>', // REQUIRED
    'networking' => [ // REQUIRED
        'securityGroupIds' => ['<string>', ...],
        'subnetIds' => ['<string>', ...],
    ],
    'scheduler' => [ // REQUIRED
        'type' => 'SLURM', // REQUIRED
        'version' => '<string>', // REQUIRED
    ],
    'size' => 'SMALL|MEDIUM|LARGE', // REQUIRED
    'slurmConfiguration' => [
        'scaleDownIdleTimeInSeconds' => <integer>,
        'slurmCustomSettings' => [
            [
                'parameterName' => '<string>', // REQUIRED
                'parameterValue' => '<string>', // REQUIRED
            ],
            // ...
        ],
    ],
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterName
Required: Yes
Type: string

A name to identify the cluster. Example: MyCluster

networking
Required: Yes
Type: NetworkingRequest structure

The networking configuration used to set up the cluster's control plane.

scheduler
Required: Yes
Type: SchedulerRequest structure

The cluster management and job scheduling software associated with the cluster.

size
Required: Yes
Type: string

A value that determines the maximum number of compute nodes in the cluster and the maximum number of jobs (active and queued).

  • SMALL: 32 compute nodes and 256 jobs

  • MEDIUM: 512 compute nodes and 8192 jobs

  • LARGE: 2048 compute nodes and 16,384 jobs

slurmConfiguration

Additional options related to the Slurm scheduler.

tags
Type: Associative array of custom strings keys (TagKey) to strings

1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

Result Syntax

[
    'cluster' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'endpoints' => [
            [
                'port' => '<string>',
                'privateIpAddress' => '<string>',
                'publicIpAddress' => '<string>',
                'type' => 'SLURMCTLD|SLURMDBD',
            ],
            // ...
        ],
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'id' => '<string>',
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'networking' => [
            'securityGroupIds' => ['<string>', ...],
            'subnetIds' => ['<string>', ...],
        ],
        'scheduler' => [
            'type' => 'SLURM',
            'version' => '<string>',
        ],
        'size' => 'SMALL|MEDIUM|LARGE',
        'slurmConfiguration' => [
            'authKey' => [
                'secretArn' => '<string>',
                'secretVersion' => '<string>',
            ],
            'scaleDownIdleTimeInSeconds' => <integer>,
            'slurmCustomSettings' => [
                [
                    'parameterName' => '<string>',
                    'parameterValue' => '<string>',
                ],
                // ...
            ],
        ],
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
    ],
]

Result Details

Members
cluster
Type: Cluster structure

The cluster resource.

Errors

ServiceQuotaExceededException:

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

Examples

  • The max number of clusters or queues has been reached for the account.

  • The max number of compute node groups has been reached for the associated cluster.

  • The total of maxInstances across all compute node groups has been reached for associated cluster.

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

CreateComputeNodeGroup

$result = $client->createComputeNodeGroup([/* ... */]);
$promise = $client->createComputeNodeGroupAsync([/* ... */]);

Creates a managed set of compute nodes. You associate a compute node group with a cluster through 1 or more Amazon Web Services PCS queues or as part of the login fleet. A compute node group includes the definition of the compute properties and lifecycle management. Amazon Web Services PCS uses the information you provide to this API action to launch compute nodes in your account. You can only specify subnets in the same Amazon VPC as your cluster. You receive billing charges for the compute nodes that Amazon Web Services PCS launches in your account. You must already have a launch template before you call this API. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

Parameter Syntax

$result = $client->createComputeNodeGroup([
    'amiId' => '<string>',
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
    'computeNodeGroupName' => '<string>', // REQUIRED
    'customLaunchTemplate' => [ // REQUIRED
        'id' => '<string>', // REQUIRED
        'version' => '<string>', // REQUIRED
    ],
    'iamInstanceProfileArn' => '<string>', // REQUIRED
    'instanceConfigs' => [ // REQUIRED
        [
            'instanceType' => '<string>',
        ],
        // ...
    ],
    'purchaseOption' => 'ONDEMAND|SPOT',
    'scalingConfiguration' => [ // REQUIRED
        'maxInstanceCount' => <integer>, // REQUIRED
        'minInstanceCount' => <integer>, // REQUIRED
    ],
    'slurmConfiguration' => [
        'slurmCustomSettings' => [
            [
                'parameterName' => '<string>', // REQUIRED
                'parameterValue' => '<string>', // REQUIRED
            ],
            // ...
        ],
    ],
    'spotOptions' => [
        'allocationStrategy' => 'lowest-price|capacity-optimized|price-capacity-optimized',
    ],
    'subnetIds' => ['<string>', ...], // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
amiId
Type: string

The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch compute nodes (Amazon EC2 instances). If you don't provide this value, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster to create a compute node group in.

computeNodeGroupName
Required: Yes
Type: string

A name to identify the cluster. Example: MyCluster

customLaunchTemplate
Required: Yes
Type: CustomLaunchTemplate structure

An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.

iamInstanceProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached in order to provision instances correctly. The resource identifier of the ARN must start with AWSPCS. For example, arn:aws:iam:123456789012:instance-profile/AWSPCSMyComputeNodeInstanceProfile.

instanceConfigs
Required: Yes
Type: Array of InstanceConfig structures

A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.

purchaseOption
Type: string

Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

scalingConfiguration
Required: Yes
Type: ScalingConfigurationRequest structure

Specifies the boundaries of the compute node group auto scaling.

slurmConfiguration

Additional options related to the Slurm scheduler.

spotOptions
Type: SpotOptions structure

Additional configuration when you specify SPOT as the purchaseOption for the CreateComputeNodeGroup API action.

subnetIds
Required: Yes
Type: Array of strings

The list of subnet IDs where the compute node group launches instances. Subnets must be in the same VPC as the cluster.

tags
Type: Associative array of custom strings keys (TagKey) to strings

1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

Result Syntax

[
    'computeNodeGroup' => [
        'amiId' => '<string>',
        'arn' => '<string>',
        'clusterId' => '<string>',
        'createdAt' => <DateTime>,
        'customLaunchTemplate' => [
            'id' => '<string>',
            'version' => '<string>',
        ],
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'iamInstanceProfileArn' => '<string>',
        'id' => '<string>',
        'instanceConfigs' => [
            [
                'instanceType' => '<string>',
            ],
            // ...
        ],
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'purchaseOption' => 'ONDEMAND|SPOT',
        'scalingConfiguration' => [
            'maxInstanceCount' => <integer>,
            'minInstanceCount' => <integer>,
        ],
        'slurmConfiguration' => [
            'slurmCustomSettings' => [
                [
                    'parameterName' => '<string>',
                    'parameterValue' => '<string>',
                ],
                // ...
            ],
        ],
        'spotOptions' => [
            'allocationStrategy' => 'lowest-price|capacity-optimized|price-capacity-optimized',
        ],
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED|DELETED',
        'subnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
computeNodeGroup
Type: ComputeNodeGroup structure

A compute node group associated with a cluster.

Errors

ServiceQuotaExceededException:

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

Examples

  • The max number of clusters or queues has been reached for the account.

  • The max number of compute node groups has been reached for the associated cluster.

  • The total of maxInstances across all compute node groups has been reached for associated cluster.

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

CreateQueue

$result = $client->createQueue([/* ... */]);
$promise = $client->createQueueAsync([/* ... */]);

Creates a job queue. You must associate 1 or more compute node groups with the queue. You can associate 1 compute node group with multiple queues.

Parameter Syntax

$result = $client->createQueue([
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
    'computeNodeGroupConfigurations' => [
        [
            'computeNodeGroupId' => '<string>',
        ],
        // ...
    ],
    'queueName' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster for which to create a queue.

computeNodeGroupConfigurations
Type: Array of ComputeNodeGroupConfiguration structures

The list of compute node group configurations to associate with the queue. Queues assign jobs to associated compute node groups.

queueName
Required: Yes
Type: string

A name to identify the queue.

tags
Type: Associative array of custom strings keys (TagKey) to strings

1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

Result Syntax

[
    'queue' => [
        'arn' => '<string>',
        'clusterId' => '<string>',
        'computeNodeGroupConfigurations' => [
            [
                'computeNodeGroupId' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'id' => '<string>',
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
    ],
]

Result Details

Members
queue
Type: Queue structure

A queue resource.

Errors

ServiceQuotaExceededException:

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

Examples

  • The max number of clusters or queues has been reached for the account.

  • The max number of compute node groups has been reached for the associated cluster.

  • The total of maxInstances across all compute node groups has been reached for associated cluster.

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

DeleteCluster

$result = $client->deleteCluster([/* ... */]);
$promise = $client->deleteClusterAsync([/* ... */]);

Deletes a cluster and all its linked resources. You must delete all queues and compute node groups associated with the cluster before you can delete the cluster.

Parameter Syntax

$result = $client->deleteCluster([
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

DeleteComputeNodeGroup

$result = $client->deleteComputeNodeGroup([/* ... */]);
$promise = $client->deleteComputeNodeGroupAsync([/* ... */]);

Deletes a compute node group. You must delete all queues associated with the compute node group first.

Parameter Syntax

$result = $client->deleteComputeNodeGroup([
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
    'computeNodeGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster of the compute node group.

computeNodeGroupIdentifier
Required: Yes
Type: string

The name or ID of the compute node group to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

DeleteQueue

$result = $client->deleteQueue([/* ... */]);
$promise = $client->deleteQueueAsync([/* ... */]);

Deletes a job queue. If the compute node group associated with this queue isn't associated with any other queues, Amazon Web Services PCS terminates all the compute nodes for this queue.

Parameter Syntax

$result = $client->deleteQueue([
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
    'queueIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster of the queue.

queueIdentifier
Required: Yes
Type: string

The name or ID of the queue to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

GetCluster

$result = $client->getCluster([/* ... */]);
$promise = $client->getClusterAsync([/* ... */]);

Returns detailed information about a running cluster in your account. This API action provides networking information, endpoint information for communication with the scheduler, and provisioning status.

Parameter Syntax

$result = $client->getCluster([
    'clusterIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster of the queue.

Result Syntax

[
    'cluster' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'endpoints' => [
            [
                'port' => '<string>',
                'privateIpAddress' => '<string>',
                'publicIpAddress' => '<string>',
                'type' => 'SLURMCTLD|SLURMDBD',
            ],
            // ...
        ],
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'id' => '<string>',
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'networking' => [
            'securityGroupIds' => ['<string>', ...],
            'subnetIds' => ['<string>', ...],
        ],
        'scheduler' => [
            'type' => 'SLURM',
            'version' => '<string>',
        ],
        'size' => 'SMALL|MEDIUM|LARGE',
        'slurmConfiguration' => [
            'authKey' => [
                'secretArn' => '<string>',
                'secretVersion' => '<string>',
            ],
            'scaleDownIdleTimeInSeconds' => <integer>,
            'slurmCustomSettings' => [
                [
                    'parameterName' => '<string>',
                    'parameterValue' => '<string>',
                ],
                // ...
            ],
        ],
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
    ],
]

Result Details

Members
cluster
Type: Cluster structure

The cluster resource.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

GetComputeNodeGroup

$result = $client->getComputeNodeGroup([/* ... */]);
$promise = $client->getComputeNodeGroupAsync([/* ... */]);

Returns detailed information about a compute node group. This API action provides networking information, EC2 instance type, compute node group status, and scheduler (such as Slurm) configuration.

Parameter Syntax

$result = $client->getComputeNodeGroup([
    'clusterIdentifier' => '<string>', // REQUIRED
    'computeNodeGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster.

computeNodeGroupIdentifier
Required: Yes
Type: string

The name or ID of the compute node group.

Result Syntax

[
    'computeNodeGroup' => [
        'amiId' => '<string>',
        'arn' => '<string>',
        'clusterId' => '<string>',
        'createdAt' => <DateTime>,
        'customLaunchTemplate' => [
            'id' => '<string>',
            'version' => '<string>',
        ],
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'iamInstanceProfileArn' => '<string>',
        'id' => '<string>',
        'instanceConfigs' => [
            [
                'instanceType' => '<string>',
            ],
            // ...
        ],
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'purchaseOption' => 'ONDEMAND|SPOT',
        'scalingConfiguration' => [
            'maxInstanceCount' => <integer>,
            'minInstanceCount' => <integer>,
        ],
        'slurmConfiguration' => [
            'slurmCustomSettings' => [
                [
                    'parameterName' => '<string>',
                    'parameterValue' => '<string>',
                ],
                // ...
            ],
        ],
        'spotOptions' => [
            'allocationStrategy' => 'lowest-price|capacity-optimized|price-capacity-optimized',
        ],
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED|DELETED',
        'subnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
computeNodeGroup
Type: ComputeNodeGroup structure

A compute node group associated with a cluster.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

GetQueue

$result = $client->getQueue([/* ... */]);
$promise = $client->getQueueAsync([/* ... */]);

Returns detailed information about a queue. The information includes the compute node groups that the queue uses to schedule jobs.

Parameter Syntax

$result = $client->getQueue([
    'clusterIdentifier' => '<string>', // REQUIRED
    'queueIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster of the queue.

queueIdentifier
Required: Yes
Type: string

The name or ID of the queue.

Result Syntax

[
    'queue' => [
        'arn' => '<string>',
        'clusterId' => '<string>',
        'computeNodeGroupConfigurations' => [
            [
                'computeNodeGroupId' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'id' => '<string>',
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
    ],
]

Result Details

Members
queue
Type: Queue structure

A queue resource.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

ListClusters

$result = $client->listClusters([/* ... */]);
$promise = $client->listClustersAsync([/* ... */]);

Returns a list of running clusters in your account.

Parameter Syntax

$result = $client->listClusters([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.

nextToken
Type: string

The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

Result Syntax

[
    'clusters' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'id' => '<string>',
            'modifiedAt' => <DateTime>,
            'name' => '<string>',
            'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
clusters
Required: Yes
Type: Array of ClusterSummary structures

The list of clusters.

nextToken
Type: string

The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

ListComputeNodeGroups

$result = $client->listComputeNodeGroups([/* ... */]);
$promise = $client->listComputeNodeGroupsAsync([/* ... */]);

Returns a list of all compute node groups associated with a cluster.

Parameter Syntax

$result = $client->listComputeNodeGroups([
    'clusterIdentifier' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster to list compute node groups for.

maxResults
Type: int

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.

nextToken
Type: string

The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

Result Syntax

[
    'computeNodeGroups' => [
        [
            'arn' => '<string>',
            'clusterId' => '<string>',
            'createdAt' => <DateTime>,
            'id' => '<string>',
            'modifiedAt' => <DateTime>,
            'name' => '<string>',
            'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED|DELETED',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
computeNodeGroups
Required: Yes
Type: Array of ComputeNodeGroupSummary structures

The list of compute node groups for the cluster.

nextToken
Type: string

The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

ListQueues

$result = $client->listQueues([/* ... */]);
$promise = $client->listQueuesAsync([/* ... */]);

Returns a list of all queues associated with a cluster.

Parameter Syntax

$result = $client->listQueues([
    'clusterIdentifier' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster to list queues for.

maxResults
Type: int

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.

nextToken
Type: string

The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

Result Syntax

[
    'nextToken' => '<string>',
    'queues' => [
        [
            'arn' => '<string>',
            'clusterId' => '<string>',
            'createdAt' => <DateTime>,
            'id' => '<string>',
            'modifiedAt' => <DateTime>,
            'name' => '<string>',
            'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

queues
Required: Yes
Type: Array of QueueSummary structures

The list of queues associated with the cluster.

Errors

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Returns a list of all tags on an Amazon Web Services PCS resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource for which to list tags.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

Errors

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

RegisterComputeNodeGroupInstance

$result = $client->registerComputeNodeGroupInstance([/* ... */]);
$promise = $client->registerComputeNodeGroupInstanceAsync([/* ... */]);

This API action isn't intended for you to use.

Amazon Web Services PCS uses this API action to register the compute nodes it launches in your account.

Parameter Syntax

$result = $client->registerComputeNodeGroupInstance([
    'bootstrapId' => '<string>', // REQUIRED
    'clusterIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
bootstrapId
Required: Yes
Type: string

The client-generated token to allow for retries.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster to register the compute node group instance in.

Result Syntax

[
    'endpoints' => [
        [
            'port' => '<string>',
            'privateIpAddress' => '<string>',
            'publicIpAddress' => '<string>',
            'type' => 'SLURMCTLD|SLURMDBD',
        ],
        // ...
    ],
    'nodeID' => '<string>',
    'sharedSecret' => '<string>',
]

Result Details

Members
endpoints
Required: Yes
Type: Array of Endpoint structures

The list of endpoints available for interaction with the scheduler.

nodeID
Required: Yes
Type: string

The scheduler node ID for this instance.

sharedSecret
Required: Yes
Type: string

For the Slurm scheduler, this is the shared Munge key the scheduler uses to authenticate compute node group instances.

Errors

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds or edits tags on an Amazon Web Services PCS resource. Each tag consists of a tag key and a tag value. The tag key and tag value are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Deletes tags from an Amazon Web Services PCS resource. To delete a tag, specify the tag key and the Amazon Resource Name (ARN) of the Amazon Web Services PCS resource.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

tagKeys
Required: Yes
Type: Array of strings

1 or more tag keys to remove from the resource. Specify only tag keys and not tag values.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

UpdateComputeNodeGroup

$result = $client->updateComputeNodeGroup([/* ... */]);
$promise = $client->updateComputeNodeGroupAsync([/* ... */]);

Updates a compute node group. You can update many of the fields related to your compute node group including the configurations for networking, compute nodes, and settings specific to your scheduler (such as Slurm).

Parameter Syntax

$result = $client->updateComputeNodeGroup([
    'amiId' => '<string>',
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
    'computeNodeGroupIdentifier' => '<string>', // REQUIRED
    'customLaunchTemplate' => [
        'id' => '<string>', // REQUIRED
        'version' => '<string>', // REQUIRED
    ],
    'iamInstanceProfileArn' => '<string>',
    'purchaseOption' => 'ONDEMAND|SPOT',
    'scalingConfiguration' => [
        'maxInstanceCount' => <integer>, // REQUIRED
        'minInstanceCount' => <integer>, // REQUIRED
    ],
    'slurmConfiguration' => [
        'slurmCustomSettings' => [
            [
                'parameterName' => '<string>', // REQUIRED
                'parameterValue' => '<string>', // REQUIRED
            ],
            // ...
        ],
    ],
    'spotOptions' => [
        'allocationStrategy' => 'lowest-price|capacity-optimized|price-capacity-optimized',
    ],
    'subnetIds' => ['<string>', ...],
]);

Parameter Details

Members
amiId
Type: string

The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster of the compute node group.

computeNodeGroupIdentifier
Required: Yes
Type: string

The name or ID of the compute node group.

customLaunchTemplate
Type: CustomLaunchTemplate structure

An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.

iamInstanceProfileArn
Type: string

The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.

purchaseOption
Type: string

Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

scalingConfiguration
Type: ScalingConfigurationRequest structure

Specifies the boundaries of the compute node group auto scaling.

slurmConfiguration

Additional options related to the Slurm scheduler.

spotOptions
Type: SpotOptions structure

Additional configuration when you specify SPOT as the purchaseOption for the CreateComputeNodeGroup API action.

subnetIds
Type: Array of strings

The list of subnet IDs where the compute node group provisions instances. The subnets must be in the same VPC as the cluster.

Result Syntax

[
    'computeNodeGroup' => [
        'amiId' => '<string>',
        'arn' => '<string>',
        'clusterId' => '<string>',
        'createdAt' => <DateTime>,
        'customLaunchTemplate' => [
            'id' => '<string>',
            'version' => '<string>',
        ],
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'iamInstanceProfileArn' => '<string>',
        'id' => '<string>',
        'instanceConfigs' => [
            [
                'instanceType' => '<string>',
            ],
            // ...
        ],
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'purchaseOption' => 'ONDEMAND|SPOT',
        'scalingConfiguration' => [
            'maxInstanceCount' => <integer>,
            'minInstanceCount' => <integer>,
        ],
        'slurmConfiguration' => [
            'slurmCustomSettings' => [
                [
                    'parameterName' => '<string>',
                    'parameterValue' => '<string>',
                ],
                // ...
            ],
        ],
        'spotOptions' => [
            'allocationStrategy' => 'lowest-price|capacity-optimized|price-capacity-optimized',
        ],
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED|DELETED',
        'subnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
computeNodeGroup
Type: ComputeNodeGroup structure

A compute node group associated with a cluster.

Errors

ServiceQuotaExceededException:

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

Examples

  • The max number of clusters or queues has been reached for the account.

  • The max number of compute node groups has been reached for the associated cluster.

  • The total of maxInstances across all compute node groups has been reached for associated cluster.

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

UpdateQueue

$result = $client->updateQueue([/* ... */]);
$promise = $client->updateQueueAsync([/* ... */]);

Updates the compute node group configuration of a queue. Use this API to change the compute node groups that the queue can send jobs to.

Parameter Syntax

$result = $client->updateQueue([
    'clientToken' => '<string>',
    'clusterIdentifier' => '<string>', // REQUIRED
    'computeNodeGroupConfigurations' => [
        [
            'computeNodeGroupId' => '<string>',
        ],
        // ...
    ],
    'queueIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

clusterIdentifier
Required: Yes
Type: string

The name or ID of the cluster of the queue.

computeNodeGroupConfigurations
Type: Array of ComputeNodeGroupConfiguration structures

The list of compute node group configurations to associate with the queue. Queues assign jobs to associated compute node groups.

queueIdentifier
Required: Yes
Type: string

The name or ID of the queue.

Result Syntax

[
    'queue' => [
        'arn' => '<string>',
        'clusterId' => '<string>',
        'computeNodeGroupConfigurations' => [
            [
                'computeNodeGroupId' => '<string>',
            ],
            // ...
        ],
        'createdAt' => <DateTime>,
        'errorInfo' => [
            [
                'code' => '<string>',
                'message' => '<string>',
            ],
            // ...
        ],
        'id' => '<string>',
        'modifiedAt' => <DateTime>,
        'name' => '<string>',
        'status' => 'CREATING|ACTIVE|UPDATING|DELETING|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED',
    ],
]

Result Details

Members
queue
Type: Queue structure

A queue resource.

Errors

ServiceQuotaExceededException:

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

Examples

  • The max number of clusters or queues has been reached for the account.

  • The max number of compute node groups has been reached for the associated cluster.

  • The total of maxInstances across all compute node groups has been reached for associated cluster.

ThrottlingException:

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

ValidationException:

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

ConflictException:

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

ResourceNotFoundException:

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

InternalServerException:

Amazon Web Services PCS can't process your request right now. Try again later.

AccessDeniedException:

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

Shapes

AccessDeniedException

Description

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.

  • There is a mismatch between the account ID and cluster ID.

  • The cluster ID doesn't exist.

  • The EC2 instance isn't present.

Members
message
Required: Yes
Type: string

Cluster

Description

The cluster resource and configuration.

Members
arn
Required: Yes
Type: string

The unique Amazon Resource Name (ARN) of the cluster.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was created.

endpoints
Type: Array of Endpoint structures

The list of endpoints available for interaction with the scheduler.

errorInfo
Type: Array of ErrorInfo structures

The list of errors that occurred during cluster provisioning.

id
Required: Yes
Type: string

The generated unique ID of the cluster.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was modified.

name
Required: Yes
Type: string

The name that identifies the cluster.

networking
Required: Yes
Type: Networking structure

The networking configuration for the cluster's control plane.

scheduler
Required: Yes
Type: Scheduler structure

The cluster management and job scheduling software associated with the cluster.

size
Required: Yes
Type: string

The size of the cluster.

  • SMALL: 32 compute nodes and 256 jobs

  • MEDIUM: 512 compute nodes and 8192 jobs

  • LARGE: 2048 compute nodes and 16,384 jobs

slurmConfiguration
Type: ClusterSlurmConfiguration structure

Additional options related to the Slurm scheduler.

status
Required: Yes
Type: string

The provisioning status of the cluster.

The provisioning status doesn't indicate the overall health of the cluster.

ClusterSlurmConfiguration

Description

Additional options related to the Slurm scheduler.

Members
authKey
Type: SlurmAuthKey structure

The shared Slurm key for authentication, also known as the cluster secret.

scaleDownIdleTimeInSeconds
Type: int

The time before an idle node is scaled down.

slurmCustomSettings
Type: Array of SlurmCustomSetting structures

Additional Slurm-specific configuration that directly maps to Slurm settings.

ClusterSlurmConfigurationRequest

Description

Additional options related to the Slurm scheduler.

Members
scaleDownIdleTimeInSeconds
Type: int

The time before an idle node is scaled down.

slurmCustomSettings
Type: Array of SlurmCustomSetting structures

Additional Slurm-specific configuration that directly maps to Slurm settings.

ClusterSummary

Description

The object returned by the ListClusters API action.

Members
arn
Required: Yes
Type: string

The unique Amazon Resource Name (ARN) of the cluster.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was created.

id
Required: Yes
Type: string

The generated unique ID of the cluster.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was modified.

name
Required: Yes
Type: string

The name that identifies the cluster.

status
Required: Yes
Type: string

The provisioning status of the cluster.

The provisioning status doesn't indicate the overall health of the cluster.

ComputeNodeGroup

Description

A compute node group associated with a cluster.

Members
amiId
Type: string

The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

arn
Required: Yes
Type: string

The unique Amazon Resource Name (ARN) of the compute node group.

clusterId
Required: Yes
Type: string

The ID of the cluster of the compute node group.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was created.

customLaunchTemplate
Required: Yes
Type: CustomLaunchTemplate structure

An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.

errorInfo
Type: Array of ErrorInfo structures

The list of errors that occurred during compute node group provisioning.

iamInstanceProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.

id
Required: Yes
Type: string

The generated unique ID of the compute node group.

instanceConfigs
Required: Yes
Type: Array of InstanceConfig structures

A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was modified.

name
Required: Yes
Type: string

The name that identifies the compute node group.

purchaseOption
Type: string

Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

scalingConfiguration
Required: Yes
Type: ScalingConfiguration structure

Specifies the boundaries of the compute node group auto scaling.

slurmConfiguration

Additional options related to the Slurm scheduler.

spotOptions
Type: SpotOptions structure

Additional configuration when you specify SPOT as the purchaseOption for the CreateComputeNodeGroup API action.

status
Required: Yes
Type: string

The provisioning status of the compute node group.

The provisioning status doesn't indicate the overall health of the compute node group.

subnetIds
Required: Yes
Type: Array of strings

The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.

ComputeNodeGroupConfiguration

Description

The compute node group configuration for a queue.

Members
computeNodeGroupId
Type: string

The compute node group ID for the compute node group configuration.

ComputeNodeGroupSlurmConfiguration

Description

Additional options related to the Slurm scheduler.

Members
slurmCustomSettings
Type: Array of SlurmCustomSetting structures

Additional Slurm-specific configuration that directly maps to Slurm settings.

ComputeNodeGroupSlurmConfigurationRequest

Description

Additional options related to the Slurm scheduler.

Members
slurmCustomSettings
Type: Array of SlurmCustomSetting structures

Additional Slurm-specific configuration that directly maps to Slurm settings.

ComputeNodeGroupSummary

Description

The object returned by the ListComputeNodeGroups API action.

Members
arn
Required: Yes
Type: string

The unique Amazon Resource Name (ARN) of the compute node group.

clusterId
Required: Yes
Type: string

The ID of the cluster of the compute node group.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was created.

id
Required: Yes
Type: string

The generated unique ID of the compute node group.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was modified.

name
Required: Yes
Type: string

The name that identifies the compute node group.

status
Required: Yes
Type: string

The provisioning status of the compute node group.

The provisioning status doesn't indicate the overall health of the compute node group.

ConflictException

Description

Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

Examples

  • A cluster with the same name already exists.

  • A cluster isn't in ACTIVE status.

  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

  • A queue already exists in a cluster.

Members
message
Required: Yes
Type: string
resourceId
Required: Yes
Type: string

The unique identifier of the resource that caused the conflict exception.

resourceType
Required: Yes
Type: string

The type or category of the resource that caused the conflict exception."

CustomLaunchTemplate

Description

An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.

Members
id
Required: Yes
Type: string

The ID of the EC2 launch template to use to provision instances.

Example: lt-xxxx

version
Required: Yes
Type: string

The version of the EC2 launch template to use to provision instances.

Endpoint

Description

An endpoint available for interaction with the scheduler.

Members
port
Required: Yes
Type: string

The endpoint's connection port number.

Example: 1234

privateIpAddress
Required: Yes
Type: string

The endpoint's private IP address.

Example: 2.2.2.2

publicIpAddress
Type: string

The endpoint's public IP address.

Example: 1.1.1.1

type
Required: Yes
Type: string

Indicates the type of endpoint running at the specific IP address.

ErrorInfo

Description

An error that occurred during resource creation.

Members
code
Type: string

The short-form error code.

message
Type: string

The detailed error information.

InstanceConfig

Description

An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes.

Members
instanceType
Type: string

The EC2 instance type that Amazon Web Services PCS can provision in the compute node group.

Example: t2.xlarge

InternalServerException

Description

Amazon Web Services PCS can't process your request right now. Try again later.

Members
message
Required: Yes
Type: string

Networking

Description

The networking configuration for the cluster's control plane.

Members
securityGroupIds
Type: Array of strings

The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.

The following rules are required:

  • Inbound rule 1

    • Protocol: All

    • Ports: All

    • Source: Self

  • Outbound rule 1

    • Protocol: All

    • Ports: All

    • Destination: 0.0.0.0/0 (IPv4)

  • Outbound rule 2

    • Protocol: All

    • Ports: All

    • Destination: Self

subnetIds
Type: Array of strings

The ID of the subnet where Amazon Web Services PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and Amazon Web Services PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone.

Example: subnet-abcd1234

NetworkingRequest

Description

The networking configuration for the cluster's control plane.

Members
securityGroupIds
Type: Array of strings

A list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.

subnetIds
Type: Array of strings

The list of subnet IDs where Amazon Web Services PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and Amazon Web Services PCS resources. Subnet IDs have the form subnet-0123456789abcdef0.

Subnets can't be in Outposts, Wavelength or an Amazon Web Services Local Zone.

Amazon Web Services PCS currently supports only 1 subnet in this list.

Queue

Description

A queue resource.

Members
arn
Required: Yes
Type: string

The unique Amazon Resource Name (ARN) of the queue.

clusterId
Required: Yes
Type: string

The ID of the cluster of the queue.

computeNodeGroupConfigurations
Required: Yes
Type: Array of ComputeNodeGroupConfiguration structures

The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was created.

errorInfo
Type: Array of ErrorInfo structures

The list of errors that occurred during queue provisioning.

id
Required: Yes
Type: string

The generated unique ID of the queue.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was modified.

name
Required: Yes
Type: string

The name that identifies the queue.

status
Required: Yes
Type: string

The provisioning status of the queue.

The provisioning status doesn't indicate the overall health of the queue.

QueueSummary

Description

The object returned by the ListQueues API action.

Members
arn
Required: Yes
Type: string

The unique Amazon Resource Name (ARN) of the queue.

clusterId
Required: Yes
Type: string

The ID of the cluster of the queue.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was created.

id
Required: Yes
Type: string

The generated unique ID of the queue.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the resource was modified.

name
Required: Yes
Type: string

The name that identifies the queue.

status
Required: Yes
Type: string

The provisioning status of the queue.

The provisioning status doesn't indicate the overall health of the queue.

ResourceNotFoundException

Description

The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

Examples

Members
message
Required: Yes
Type: string
resourceId
Required: Yes
Type: string

The unique identifier of the resource that was not found.

resourceType
Required: Yes
Type: string

The type or category of the resource that was not found.

ScalingConfiguration

Description

Specifies the boundaries of the compute node group auto scaling.

Members
maxInstanceCount
Required: Yes
Type: int

The upper bound of the number of instances allowed in the compute fleet.

minInstanceCount
Required: Yes
Type: int

The lower bound of the number of instances allowed in the compute fleet.

ScalingConfigurationRequest

Description

Specifies the boundaries of the compute node group auto scaling.

Members
maxInstanceCount
Required: Yes
Type: int

The upper bound of the number of instances allowed in the compute fleet.

minInstanceCount
Required: Yes
Type: int

The lower bound of the number of instances allowed in the compute fleet.

Scheduler

Description

The cluster management and job scheduling software associated with the cluster.

Members
type
Required: Yes
Type: string

The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

version
Required: Yes
Type: string

The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

SchedulerRequest

Description

The cluster management and job scheduling software associated with the cluster.

Members
type
Required: Yes
Type: string

The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

version
Required: Yes
Type: string

The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

ServiceQuotaExceededException

Description

You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

Examples

  • The max number of clusters or queues has been reached for the account.

  • The max number of compute node groups has been reached for the associated cluster.

  • The total of maxInstances across all compute node groups has been reached for associated cluster.

Members
message
Required: Yes
Type: string
quotaCode
Type: string

The quota code of the service quota that was exceeded.

resourceId
Type: string

The unique identifier of the resource that caused the quota to be exceeded.

resourceType
Type: string

The type or category of the resource that caused the quota to be exceeded.

serviceCode
Required: Yes
Type: string

The service code associated with the quota that was exceeded.

SlurmAuthKey

Description

The shared Slurm key for authentication, also known as the cluster secret.

Members
secretArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the the shared Slurm key.

secretVersion
Required: Yes
Type: string

The version of the shared Slurm key.

SlurmCustomSetting

Description

Additional settings that directly map to Slurm settings.

Members
parameterName
Required: Yes
Type: string

Amazon Web Services PCS supports configuration of the following Slurm parameters: Prolog , Epilog , and SelectTypeParameters .

parameterValue
Required: Yes
Type: string

The values for the configured Slurm settings.

SpotOptions

Description

Additional configuration when you specify SPOT as the purchaseOption for the CreateComputeNodeGroup API action.

Members
allocationStrategy
Type: string

The Amazon EC2 allocation strategy Amazon Web Services PCS uses to provision EC2 instances. Amazon Web Services PCS supports lowest price, capacity optimized, and price capacity optimized. For more information, see Use allocation strategies to determine how EC2 Fleet or Spot Fleet fulfills Spot and On-Demand capacity in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to price capacity optimized.

ThrottlingException

Description

Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

Members
message
Required: Yes
Type: string
retryAfterSeconds
Type: int

The number of seconds to wait before retrying the request.

UpdateComputeNodeGroupSlurmConfigurationRequest

Description

Additional options related to the Slurm scheduler.

Members
slurmCustomSettings
Type: Array of SlurmCustomSetting structures

Additional Slurm-specific configuration that directly maps to Slurm settings.

ValidationException

Description

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.

  • The scheduler version isn't supported.

  • There are networking related errors, such as network validation failure.

  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

Members
fieldList
Type: Array of ValidationExceptionField structures

A list of fields or properties that failed validation.

message
Required: Yes
Type: string
reason
Required: Yes
Type: string

The specific reason or cause of the validation error.

ValidationExceptionField

Description

Stores information about a field in a request that caused an exception.

Members
message
Required: Yes
Type: string

The message body of the exception.

name
Required: Yes
Type: string

The name of the exception.