ParallelComputingService ************************ Client ====== class ParallelComputingService.Client A low-level client representing AWS Parallel Computing Service Amazon Web Services Parallel Computing Service (Amazon Web Services PCS) is a managed service that makes it easier for you to run and scale your high performance computing (HPC) workloads, and build scientific and engineering models on Amazon Web Services using Slurm. For more information, see the Amazon Web Services Parallel Computing Service User Guide. This reference describes the actions and data types of the service management API. You can use the Amazon Web Services SDKs to call the API actions in software, or use the Command Line Interface (CLI) to call the API actions manually. These API actions manage the service through an Amazon Web Services account. The API actions operate on Amazon Web Services PCS resources. A *resource* is an entity in Amazon Web Services that you can work with. Amazon Web Services services create resources when you use the features of the service. Examples of Amazon Web Services PCS resources include clusters, compute node groups, and queues. For more information about resources in Amazon Web Services, see Resource in the *Resource Explorer User Guide*. An Amazon Web Services PCS *compute node* is an Amazon EC2 instance. You don't launch compute nodes directly. Amazon Web Services PCS uses configuration information that you provide to launch compute nodes in your Amazon Web Services account. You receive billing charges for your running compute nodes. Amazon Web Services PCS automatically terminates your compute nodes when you delete the Amazon Web Services PCS resources related to those compute nodes. import boto3 client = boto3.client('pcs') These are the available methods: * can_paginate * close * create_cluster * create_compute_node_group * create_queue * delete_cluster * delete_compute_node_group * delete_queue * get_cluster * get_compute_node_group * get_paginator * get_queue * get_waiter * list_clusters * list_compute_node_groups * list_queues * list_tags_for_resource * register_compute_node_group_instance * tag_resource * untag_resource * update_compute_node_group * update_queue Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListClusters * ListComputeNodeGroups * ListQueues ParallelComputingService / Paginator / ListQueues ListQueues ********** class ParallelComputingService.Paginator.ListQueues paginator = client.get_paginator('list_queues') paginate(**kwargs) Creates an iterator that will paginate through responses from "ParallelComputingService.Client.list_queues()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( clusterIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to list queues for. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'queues': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **queues** *(list) --* The list of queues associated with the cluster. * *(dict) --* The object returned by the "ListQueues" API action. * **name** *(string) --* The name that identifies the queue. * **id** *(string) --* The generated unique ID of the queue. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the queue. * **clusterId** *(string) --* The ID of the cluster of the queue. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the queue. Note: The provisioning status doesn't indicate the overall health of the queue. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **NextToken** *(string) --* A token to resume pagination. ParallelComputingService / Paginator / ListComputeNodeGroups ListComputeNodeGroups ********************* class ParallelComputingService.Paginator.ListComputeNodeGroups paginator = client.get_paginator('list_compute_node_groups') paginate(**kwargs) Creates an iterator that will paginate through responses from "ParallelComputingService.Client.list_compute_node_groups()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( clusterIdentifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to list compute node groups for. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'computeNodeGroups': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'DELETED'|'SUSPENDING'|'SUSPENDED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **computeNodeGroups** *(list) --* The list of compute node groups for the cluster. * *(dict) --* The object returned by the "ListComputeNodeGroups" API action. * **name** *(string) --* The name that identifies the compute node group. * **id** *(string) --* The generated unique ID of the compute node group. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the compute node group. * **clusterId** *(string) --* The ID of the cluster of the compute node group. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the compute node group. Note: The provisioning status doesn't indicate the overall health of the compute node group. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **NextToken** *(string) --* A token to resume pagination. ParallelComputingService / Paginator / ListClusters ListClusters ************ class ParallelComputingService.Paginator.ListClusters paginator = client.get_paginator('list_clusters') paginate(**kwargs) Creates an iterator that will paginate through responses from "ParallelComputingService.Client.list_clusters()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'clusters': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **clusters** *(list) --* The list of clusters. * *(dict) --* The object returned by the "ListClusters" API action. * **name** *(string) --* The name that identifies the cluster. * **id** *(string) --* The generated unique ID of the cluster. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the cluster. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the cluster. Note: The provisioning status doesn't indicate the overall health of the cluster. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **NextToken** *(string) --* A token to resume pagination. ParallelComputingService / Client / get_paginator get_paginator ************* ParallelComputingService.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. ParallelComputingService / Client / create_cluster create_cluster ************** ParallelComputingService.Client.create_cluster(**kwargs) 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. Note: 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. See also: AWS API Documentation **Request Syntax** response = client.create_cluster( clusterName='string', scheduler={ 'type': 'SLURM', 'version': 'string' }, size='SMALL'|'MEDIUM'|'LARGE', networking={ 'subnetIds': [ 'string', ], 'securityGroupIds': [ 'string', ], 'networkType': 'IPV4'|'IPV6' }, slurmConfiguration={ 'scaleDownIdleTimeInSeconds': 123, 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ], 'accounting': { 'mode': 'STANDARD'|'NONE', 'defaultPurgeTimeInDays': 123 } }, clientToken='string', tags={ 'string': 'string' } ) Parameters: * **clusterName** (*string*) -- **[REQUIRED]** A name to identify the cluster. Example: "MyCluster" * **scheduler** (*dict*) -- **[REQUIRED]** The cluster management and job scheduling software associated with the cluster. * **type** *(string) --* **[REQUIRED]** The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling. * **version** *(string) --* **[REQUIRED]** The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling. For more information, see Slurm versions in Amazon Web Services PCS in the *Amazon Web Services PCS User Guide*. Valid Values: "23.11 | 24.05 | 24.11" * **size** (*string*) -- **[REQUIRED]** 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 * **networking** (*dict*) -- **[REQUIRED]** The networking configuration used to set up the cluster's control plane. * **subnetIds** *(list) --* 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. Note: Amazon Web Services PCS currently supports only 1 subnet in this list. * *(string) --* * **securityGroupIds** *(list) --* A list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. * *(string) --* * **networkType** *(string) --* The IP address version the cluster uses. The default is "IPV4". * **slurmConfiguration** (*dict*) -- Additional options related to the Slurm scheduler. * **scaleDownIdleTimeInSeconds** *(integer) --* The time (in seconds) before an idle node is scaled down. Default: "600" * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* **[REQUIRED]** Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* **[REQUIRED]** The values for the configured Slurm settings. * **accounting** *(dict) --* The accounting configuration includes configurable settings for Slurm accounting. * **mode** *(string) --* **[REQUIRED]** The default value for "mode" is "STANDARD". A value of "STANDARD" means Slurm accounting is enabled. * **defaultPurgeTimeInDays** *(integer) --* The default value for all purge settings for "slurmdbd.conf". For more information, see the slurmdbd.conf documentation at SchedMD. The default value for "defaultPurgeTimeInDays" is "-1". A value of "-1" means there is no purge time and records persist as long as the cluster exists. Warning: "0" isn't a valid value. * **clientToken** (*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. This field is autopopulated if not provided. * **tags** (*dict*) -- 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. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'cluster': { 'name': 'string', 'id': 'string', 'arn': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'scheduler': { 'type': 'SLURM', 'version': 'string' }, 'size': 'SMALL'|'MEDIUM'|'LARGE', 'slurmConfiguration': { 'scaleDownIdleTimeInSeconds': 123, 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ], 'authKey': { 'secretArn': 'string', 'secretVersion': 'string' }, 'accounting': { 'mode': 'STANDARD'|'NONE', 'defaultPurgeTimeInDays': 123 } }, 'networking': { 'subnetIds': [ 'string', ], 'securityGroupIds': [ 'string', ], 'networkType': 'IPV4'|'IPV6' }, 'endpoints': [ { 'type': 'SLURMCTLD'|'SLURMDBD', 'privateIpAddress': 'string', 'publicIpAddress': 'string', 'ipv6Address': 'string', 'port': 'string' }, ], 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **cluster** *(dict) --* The cluster resource. * **name** *(string) --* The name that identifies the cluster. * **id** *(string) --* The generated unique ID of the cluster. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the cluster. * **status** *(string) --* The provisioning status of the cluster. Note: The provisioning status doesn't indicate the overall health of the cluster. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **scheduler** *(dict) --* The cluster management and job scheduling software associated with the cluster. * **type** *(string) --* The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling. * **version** *(string) --* The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling. For more information, see Slurm versions in Amazon Web Services PCS in the *Amazon Web Services PCS User Guide*. Valid Values: "23.11 | 24.05 | 24.11" * **size** *(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** *(dict) --* Additional options related to the Slurm scheduler. * **scaleDownIdleTimeInSeconds** *(integer) --* The time (in seconds) before an idle node is scaled down. Default: "600" * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* The values for the configured Slurm settings. * **authKey** *(dict) --* The shared Slurm key for authentication, also known as the **cluster secret**. * **secretArn** *(string) --* The Amazon Resource Name (ARN) of the the shared Slurm key. * **secretVersion** *(string) --* The version of the shared Slurm key. * **accounting** *(dict) --* The accounting configuration includes configurable settings for Slurm accounting. * **mode** *(string) --* The default value for "mode" is "STANDARD". A value of "STANDARD" means Slurm accounting is enabled. * **defaultPurgeTimeInDays** *(integer) --* The default value for all purge settings for "slurmdbd.conf". For more information, see the slurmdbd.conf documentation at SchedMD. The default value for "defaultPurgeTimeInDays" is "-1". A value of "-1" means there is no purge time and records persist as long as the cluster exists. Warning: "0" isn't a valid value. * **networking** *(dict) --* The networking configuration for the cluster's control plane. * **subnetIds** *(list) --* 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" * *(string) --* * **securityGroupIds** *(list) --* 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) or ::/0 (IPv6) * Outbound rule 2 * Protocol: All * Ports: All * Destination: Self * *(string) --* * **networkType** *(string) --* The IP address version the cluster uses. The default is "IPV4". * **endpoints** *(list) --* The list of endpoints available for interaction with the scheduler. * *(dict) --* An endpoint available for interaction with the scheduler. * **type** *(string) --* Indicates the type of endpoint running at the specific IP address. * **privateIpAddress** *(string) --* For clusters that use IPv4, this is the endpoint's private IP address. Example: "10.1.2.3" For clusters configured to use IPv6, this is an empty string. * **publicIpAddress** *(string) --* The endpoint's public IP address. Example: "192.0.2.1" * **ipv6Address** *(string) --* The endpoint's IPv6 address. Example: "2001:db8::1" * **port** *(string) --* The endpoint's connection port number. Example: "1234" * **errorInfo** *(list) --* The list of errors that occurred during cluster provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ServiceQuotaExceeded Exception" * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / get_compute_node_group get_compute_node_group ********************** ParallelComputingService.Client.get_compute_node_group(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.get_compute_node_group( clusterIdentifier='string', computeNodeGroupIdentifier='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster. * **computeNodeGroupIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the compute node group. Return type: dict Returns: **Response Syntax** { 'computeNodeGroup': { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'DELETED'|'SUSPENDING'|'SUSPENDED', 'amiId': 'string', 'subnetIds': [ 'string', ], 'purchaseOption': 'ONDEMAND'|'SPOT', 'customLaunchTemplate': { 'id': 'string', 'version': 'string' }, 'iamInstanceProfileArn': 'string', 'scalingConfiguration': { 'minInstanceCount': 123, 'maxInstanceCount': 123 }, 'instanceConfigs': [ { 'instanceType': 'string' }, ], 'spotOptions': { 'allocationStrategy': 'lowest-price'|'capacity-optimized'|'price-capacity-optimized' }, 'slurmConfiguration': { 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ] }, 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **computeNodeGroup** *(dict) --* A compute node group associated with a cluster. * **name** *(string) --* The name that identifies the compute node group. * **id** *(string) --* The generated unique ID of the compute node group. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the compute node group. * **clusterId** *(string) --* The ID of the cluster of the compute node group. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the compute node group. Note: The provisioning status doesn't indicate the overall health of the compute node group. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **amiId** *(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. * **subnetIds** *(list) --* 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. * *(string) --* * **purchaseOption** *(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. * **customLaunchTemplate** *(dict) --* An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes. * **id** *(string) --* The ID of the EC2 launch template to use to provision instances. Example: "lt-xxxx" * **version** *(string) --* The version of the EC2 launch template to use to provision instances. * **iamInstanceProfileArn** *(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 the "pcs:RegisterComputeNodeGroupInstance" permission. The resource identifier of the ARN must start with "AWSPCS" or it must have "/aws-pcs/" in its path. **Examples** * "arn:aws:iam::111122223333:instance-profile/AWSPCS- example-role-1" * "arn:aws:iam::111122223333:instance-profile/aws-pcs /example-role-2" * **scalingConfiguration** *(dict) --* Specifies the boundaries of the compute node group auto scaling. * **minInstanceCount** *(integer) --* The lower bound of the number of instances allowed in the compute fleet. * **maxInstanceCount** *(integer) --* The upper bound of the number of instances allowed in the compute fleet. * **instanceConfigs** *(list) --* A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group. * *(dict) --* An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes. * **instanceType** *(string) --* The EC2 instance type that Amazon Web Services PCS can provision in the compute node group. Example: "t2.xlarge" * **spotOptions** *(dict) --* Additional configuration when you specify "SPOT" as the "purchaseOption" for the "CreateComputeNodeGroup" API action. * **allocationStrategy** *(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**. * **slurmConfiguration** *(dict) --* Additional options related to the Slurm scheduler. * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* The values for the configured Slurm settings. * **errorInfo** *(list) --* The list of errors that occurred during compute node group provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / delete_cluster delete_cluster ************** ParallelComputingService.Client.delete_cluster(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_cluster( clusterIdentifier='string', clientToken='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to delete. * **clientToken** (*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. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / delete_queue delete_queue ************ ParallelComputingService.Client.delete_queue(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.delete_queue( clusterIdentifier='string', queueIdentifier='string', clientToken='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster of the queue. * **queueIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the queue to delete. * **clientToken** (*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. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / can_paginate can_paginate ************ ParallelComputingService.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. ParallelComputingService / Client / register_compute_node_group_instance register_compute_node_group_instance ************************************ ParallelComputingService.Client.register_compute_node_group_instance(**kwargs) Warning: 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. See also: AWS API Documentation **Request Syntax** response = client.register_compute_node_group_instance( clusterIdentifier='string', bootstrapId='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to register the compute node group instance in. * **bootstrapId** (*string*) -- **[REQUIRED]** The client-generated token to allow for retries. Return type: dict Returns: **Response Syntax** { 'nodeID': 'string', 'sharedSecret': 'string', 'endpoints': [ { 'type': 'SLURMCTLD'|'SLURMDBD', 'privateIpAddress': 'string', 'publicIpAddress': 'string', 'ipv6Address': 'string', 'port': 'string' }, ] } **Response Structure** * *(dict) --* * **nodeID** *(string) --* The scheduler node ID for this instance. * **sharedSecret** *(string) --* For the Slurm scheduler, this is the shared Munge key the scheduler uses to authenticate compute node group instances. * **endpoints** *(list) --* The list of endpoints available for interaction with the scheduler. * *(dict) --* An endpoint available for interaction with the scheduler. * **type** *(string) --* Indicates the type of endpoint running at the specific IP address. * **privateIpAddress** *(string) --* For clusters that use IPv4, this is the endpoint's private IP address. Example: "10.1.2.3" For clusters configured to use IPv6, this is an empty string. * **publicIpAddress** *(string) --* The endpoint's public IP address. Example: "192.0.2.1" * **ipv6Address** *(string) --* The endpoint's IPv6 address. Example: "2001:db8::1" * **port** *(string) --* The endpoint's connection port number. Example: "1234" **Exceptions** * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / list_tags_for_resource list_tags_for_resource ********************** ParallelComputingService.Client.list_tags_for_resource(**kwargs) Returns a list of all tags on an Amazon Web Services PCS resource. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( resourceArn='string' ) Parameters: **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource for which to list tags. Return type: dict Returns: **Response Syntax** { 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **tags** *(dict) --* 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. * *(string) --* * *(string) --* **Exceptions** * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" ParallelComputingService / Client / untag_resource untag_resource ************** ParallelComputingService.Client.untag_resource(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource. * **tagKeys** (*list*) -- **[REQUIRED]** 1 or more tag keys to remove from the resource. Specify only tag keys and not tag values. * *(string) --* Returns: None **Exceptions** * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" ParallelComputingService / Client / get_waiter get_waiter ********** ParallelComputingService.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" ParallelComputingService / Client / update_queue update_queue ************ ParallelComputingService.Client.update_queue(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.update_queue( clusterIdentifier='string', queueIdentifier='string', computeNodeGroupConfigurations=[ { 'computeNodeGroupId': 'string' }, ], clientToken='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster of the queue. * **queueIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the queue. * **computeNodeGroupConfigurations** (*list*) -- The list of compute node group configurations to associate with the queue. Queues assign jobs to associated compute node groups. * *(dict) --* The compute node group configuration for a queue. * **computeNodeGroupId** *(string) --* The compute node group ID for the compute node group configuration. * **clientToken** (*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. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** { 'queue': { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED', 'computeNodeGroupConfigurations': [ { 'computeNodeGroupId': 'string' }, ], 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **queue** *(dict) --* A queue resource. * **name** *(string) --* The name that identifies the queue. * **id** *(string) --* The generated unique ID of the queue. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the queue. * **clusterId** *(string) --* The ID of the cluster of the queue. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the queue. Note: The provisioning status doesn't indicate the overall health of the queue. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **computeNodeGroupConfigurations** *(list) --* The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. * *(dict) --* The compute node group configuration for a queue. * **computeNodeGroupId** *(string) --* The compute node group ID for the compute node group configuration. * **errorInfo** *(list) --* The list of errors that occurred during queue provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ServiceQuotaExceeded Exception" * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / delete_compute_node_group delete_compute_node_group ************************* ParallelComputingService.Client.delete_compute_node_group(**kwargs) Deletes a compute node group. You must delete all queues associated with the compute node group first. See also: AWS API Documentation **Request Syntax** response = client.delete_compute_node_group( clusterIdentifier='string', computeNodeGroupIdentifier='string', clientToken='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster of the compute node group. * **computeNodeGroupIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the compute node group to delete. * **clientToken** (*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. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / list_compute_node_groups list_compute_node_groups ************************ ParallelComputingService.Client.list_compute_node_groups(**kwargs) Returns a list of all compute node groups associated with a cluster. See also: AWS API Documentation **Request Syntax** response = client.list_compute_node_groups( clusterIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to list compute node groups for. * **nextToken** (*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. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'computeNodeGroups': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'DELETED'|'SUSPENDING'|'SUSPENDED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **computeNodeGroups** *(list) --* The list of compute node groups for the cluster. * *(dict) --* The object returned by the "ListComputeNodeGroups" API action. * **name** *(string) --* The name that identifies the compute node group. * **id** *(string) --* The generated unique ID of the compute node group. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the compute node group. * **clusterId** *(string) --* The ID of the cluster of the compute node group. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the compute node group. Note: The provisioning status doesn't indicate the overall health of the compute node group. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **nextToken** *(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. **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / close close ***** ParallelComputingService.Client.close() Closes underlying endpoint connections. ParallelComputingService / Client / update_compute_node_group update_compute_node_group ************************* ParallelComputingService.Client.update_compute_node_group(**kwargs) 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). See also: AWS API Documentation **Request Syntax** response = client.update_compute_node_group( clusterIdentifier='string', computeNodeGroupIdentifier='string', amiId='string', subnetIds=[ 'string', ], customLaunchTemplate={ 'id': 'string', 'version': 'string' }, purchaseOption='ONDEMAND'|'SPOT', spotOptions={ 'allocationStrategy': 'lowest-price'|'capacity-optimized'|'price-capacity-optimized' }, scalingConfiguration={ 'minInstanceCount': 123, 'maxInstanceCount': 123 }, iamInstanceProfileArn='string', slurmConfiguration={ 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ] }, clientToken='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster of the compute node group. * **computeNodeGroupIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the compute node group. * **amiId** (*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. * **subnetIds** (*list*) -- The list of subnet IDs where the compute node group provisions instances. The subnets must be in the same VPC as the cluster. * *(string) --* * **customLaunchTemplate** (*dict*) -- An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes. * **id** *(string) --* **[REQUIRED]** The ID of the EC2 launch template to use to provision instances. Example: "lt-xxxx" * **version** *(string) --* **[REQUIRED]** The version of the EC2 launch template to use to provision instances. * **purchaseOption** (*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. * **spotOptions** (*dict*) -- Additional configuration when you specify "SPOT" as the "purchaseOption" for the "CreateComputeNodeGroup" API action. * **allocationStrategy** *(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**. * **scalingConfiguration** (*dict*) -- Specifies the boundaries of the compute node group auto scaling. * **minInstanceCount** *(integer) --* **[REQUIRED]** The lower bound of the number of instances allowed in the compute fleet. * **maxInstanceCount** *(integer) --* **[REQUIRED]** The upper bound of the number of instances allowed in the compute fleet. * **iamInstanceProfileArn** (*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 the "pcs:RegisterComputeNodeGroupInstance" permission. The resource identifier of the ARN must start with "AWSPCS" or it must have "/aws-pcs/" in its path. **Examples** * "arn:aws:iam::111122223333:instance-profile/AWSPCS-example- role-1" * "arn:aws:iam::111122223333:instance-profile/aws-pcs/example- role-2" * **slurmConfiguration** (*dict*) -- Additional options related to the Slurm scheduler. * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* **[REQUIRED]** Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* **[REQUIRED]** The values for the configured Slurm settings. * **clientToken** (*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. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** { 'computeNodeGroup': { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'DELETED'|'SUSPENDING'|'SUSPENDED', 'amiId': 'string', 'subnetIds': [ 'string', ], 'purchaseOption': 'ONDEMAND'|'SPOT', 'customLaunchTemplate': { 'id': 'string', 'version': 'string' }, 'iamInstanceProfileArn': 'string', 'scalingConfiguration': { 'minInstanceCount': 123, 'maxInstanceCount': 123 }, 'instanceConfigs': [ { 'instanceType': 'string' }, ], 'spotOptions': { 'allocationStrategy': 'lowest-price'|'capacity-optimized'|'price-capacity-optimized' }, 'slurmConfiguration': { 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ] }, 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **computeNodeGroup** *(dict) --* A compute node group associated with a cluster. * **name** *(string) --* The name that identifies the compute node group. * **id** *(string) --* The generated unique ID of the compute node group. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the compute node group. * **clusterId** *(string) --* The ID of the cluster of the compute node group. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the compute node group. Note: The provisioning status doesn't indicate the overall health of the compute node group. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **amiId** *(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. * **subnetIds** *(list) --* 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. * *(string) --* * **purchaseOption** *(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. * **customLaunchTemplate** *(dict) --* An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes. * **id** *(string) --* The ID of the EC2 launch template to use to provision instances. Example: "lt-xxxx" * **version** *(string) --* The version of the EC2 launch template to use to provision instances. * **iamInstanceProfileArn** *(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 the "pcs:RegisterComputeNodeGroupInstance" permission. The resource identifier of the ARN must start with "AWSPCS" or it must have "/aws-pcs/" in its path. **Examples** * "arn:aws:iam::111122223333:instance-profile/AWSPCS- example-role-1" * "arn:aws:iam::111122223333:instance-profile/aws-pcs /example-role-2" * **scalingConfiguration** *(dict) --* Specifies the boundaries of the compute node group auto scaling. * **minInstanceCount** *(integer) --* The lower bound of the number of instances allowed in the compute fleet. * **maxInstanceCount** *(integer) --* The upper bound of the number of instances allowed in the compute fleet. * **instanceConfigs** *(list) --* A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group. * *(dict) --* An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes. * **instanceType** *(string) --* The EC2 instance type that Amazon Web Services PCS can provision in the compute node group. Example: "t2.xlarge" * **spotOptions** *(dict) --* Additional configuration when you specify "SPOT" as the "purchaseOption" for the "CreateComputeNodeGroup" API action. * **allocationStrategy** *(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**. * **slurmConfiguration** *(dict) --* Additional options related to the Slurm scheduler. * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* The values for the configured Slurm settings. * **errorInfo** *(list) --* The list of errors that occurred during compute node group provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ServiceQuotaExceeded Exception" * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / get_cluster get_cluster *********** ParallelComputingService.Client.get_cluster(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.get_cluster( clusterIdentifier='string' ) Parameters: **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster of the queue. Return type: dict Returns: **Response Syntax** { 'cluster': { 'name': 'string', 'id': 'string', 'arn': 'string', 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'scheduler': { 'type': 'SLURM', 'version': 'string' }, 'size': 'SMALL'|'MEDIUM'|'LARGE', 'slurmConfiguration': { 'scaleDownIdleTimeInSeconds': 123, 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ], 'authKey': { 'secretArn': 'string', 'secretVersion': 'string' }, 'accounting': { 'mode': 'STANDARD'|'NONE', 'defaultPurgeTimeInDays': 123 } }, 'networking': { 'subnetIds': [ 'string', ], 'securityGroupIds': [ 'string', ], 'networkType': 'IPV4'|'IPV6' }, 'endpoints': [ { 'type': 'SLURMCTLD'|'SLURMDBD', 'privateIpAddress': 'string', 'publicIpAddress': 'string', 'ipv6Address': 'string', 'port': 'string' }, ], 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **cluster** *(dict) --* The cluster resource. * **name** *(string) --* The name that identifies the cluster. * **id** *(string) --* The generated unique ID of the cluster. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the cluster. * **status** *(string) --* The provisioning status of the cluster. Note: The provisioning status doesn't indicate the overall health of the cluster. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **scheduler** *(dict) --* The cluster management and job scheduling software associated with the cluster. * **type** *(string) --* The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling. * **version** *(string) --* The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling. For more information, see Slurm versions in Amazon Web Services PCS in the *Amazon Web Services PCS User Guide*. Valid Values: "23.11 | 24.05 | 24.11" * **size** *(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** *(dict) --* Additional options related to the Slurm scheduler. * **scaleDownIdleTimeInSeconds** *(integer) --* The time (in seconds) before an idle node is scaled down. Default: "600" * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* The values for the configured Slurm settings. * **authKey** *(dict) --* The shared Slurm key for authentication, also known as the **cluster secret**. * **secretArn** *(string) --* The Amazon Resource Name (ARN) of the the shared Slurm key. * **secretVersion** *(string) --* The version of the shared Slurm key. * **accounting** *(dict) --* The accounting configuration includes configurable settings for Slurm accounting. * **mode** *(string) --* The default value for "mode" is "STANDARD". A value of "STANDARD" means Slurm accounting is enabled. * **defaultPurgeTimeInDays** *(integer) --* The default value for all purge settings for "slurmdbd.conf". For more information, see the slurmdbd.conf documentation at SchedMD. The default value for "defaultPurgeTimeInDays" is "-1". A value of "-1" means there is no purge time and records persist as long as the cluster exists. Warning: "0" isn't a valid value. * **networking** *(dict) --* The networking configuration for the cluster's control plane. * **subnetIds** *(list) --* 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" * *(string) --* * **securityGroupIds** *(list) --* 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) or ::/0 (IPv6) * Outbound rule 2 * Protocol: All * Ports: All * Destination: Self * *(string) --* * **networkType** *(string) --* The IP address version the cluster uses. The default is "IPV4". * **endpoints** *(list) --* The list of endpoints available for interaction with the scheduler. * *(dict) --* An endpoint available for interaction with the scheduler. * **type** *(string) --* Indicates the type of endpoint running at the specific IP address. * **privateIpAddress** *(string) --* For clusters that use IPv4, this is the endpoint's private IP address. Example: "10.1.2.3" For clusters configured to use IPv6, this is an empty string. * **publicIpAddress** *(string) --* The endpoint's public IP address. Example: "192.0.2.1" * **ipv6Address** *(string) --* The endpoint's IPv6 address. Example: "2001:db8::1" * **port** *(string) --* The endpoint's connection port number. Example: "1234" * **errorInfo** *(list) --* The list of errors that occurred during cluster provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / create_compute_node_group create_compute_node_group ************************* ParallelComputingService.Client.create_compute_node_group(**kwargs) 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*. See also: AWS API Documentation **Request Syntax** response = client.create_compute_node_group( clusterIdentifier='string', computeNodeGroupName='string', amiId='string', subnetIds=[ 'string', ], purchaseOption='ONDEMAND'|'SPOT', customLaunchTemplate={ 'id': 'string', 'version': 'string' }, iamInstanceProfileArn='string', scalingConfiguration={ 'minInstanceCount': 123, 'maxInstanceCount': 123 }, instanceConfigs=[ { 'instanceType': 'string' }, ], spotOptions={ 'allocationStrategy': 'lowest-price'|'capacity-optimized'|'price-capacity-optimized' }, slurmConfiguration={ 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ] }, clientToken='string', tags={ 'string': 'string' } ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to create a compute node group in. * **computeNodeGroupName** (*string*) -- **[REQUIRED]** A name to identify the cluster. Example: "MyCluster" * **amiId** (*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. * **subnetIds** (*list*) -- **[REQUIRED]** The list of subnet IDs where the compute node group launches instances. Subnets must be in the same VPC as the cluster. * *(string) --* * **purchaseOption** (*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. * **customLaunchTemplate** (*dict*) -- **[REQUIRED]** An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes. * **id** *(string) --* **[REQUIRED]** The ID of the EC2 launch template to use to provision instances. Example: "lt-xxxx" * **version** *(string) --* **[REQUIRED]** The version of the EC2 launch template to use to provision instances. * **iamInstanceProfileArn** (*string*) -- **[REQUIRED]** 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 the "pcs:RegisterComputeNodeGroupInstance" permission. The resource identifier of the ARN must start with "AWSPCS" or it must have "/aws-pcs/" in its path. **Examples** * "arn:aws:iam::111122223333:instance-profile/AWSPCS-example- role-1" * "arn:aws:iam::111122223333:instance-profile/aws-pcs/example- role-2" * **scalingConfiguration** (*dict*) -- **[REQUIRED]** Specifies the boundaries of the compute node group auto scaling. * **minInstanceCount** *(integer) --* **[REQUIRED]** The lower bound of the number of instances allowed in the compute fleet. * **maxInstanceCount** *(integer) --* **[REQUIRED]** The upper bound of the number of instances allowed in the compute fleet. * **instanceConfigs** (*list*) -- **[REQUIRED]** A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group. * *(dict) --* An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes. * **instanceType** *(string) --* The EC2 instance type that Amazon Web Services PCS can provision in the compute node group. Example: "t2.xlarge" * **spotOptions** (*dict*) -- Additional configuration when you specify "SPOT" as the "purchaseOption" for the "CreateComputeNodeGroup" API action. * **allocationStrategy** *(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**. * **slurmConfiguration** (*dict*) -- Additional options related to the Slurm scheduler. * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* **[REQUIRED]** Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* **[REQUIRED]** The values for the configured Slurm settings. * **clientToken** (*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. This field is autopopulated if not provided. * **tags** (*dict*) -- 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. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'computeNodeGroup': { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'DELETED'|'SUSPENDING'|'SUSPENDED', 'amiId': 'string', 'subnetIds': [ 'string', ], 'purchaseOption': 'ONDEMAND'|'SPOT', 'customLaunchTemplate': { 'id': 'string', 'version': 'string' }, 'iamInstanceProfileArn': 'string', 'scalingConfiguration': { 'minInstanceCount': 123, 'maxInstanceCount': 123 }, 'instanceConfigs': [ { 'instanceType': 'string' }, ], 'spotOptions': { 'allocationStrategy': 'lowest-price'|'capacity-optimized'|'price-capacity-optimized' }, 'slurmConfiguration': { 'slurmCustomSettings': [ { 'parameterName': 'string', 'parameterValue': 'string' }, ] }, 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **computeNodeGroup** *(dict) --* A compute node group associated with a cluster. * **name** *(string) --* The name that identifies the compute node group. * **id** *(string) --* The generated unique ID of the compute node group. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the compute node group. * **clusterId** *(string) --* The ID of the cluster of the compute node group. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the compute node group. Note: The provisioning status doesn't indicate the overall health of the compute node group. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **amiId** *(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. * **subnetIds** *(list) --* 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. * *(string) --* * **purchaseOption** *(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. * **customLaunchTemplate** *(dict) --* An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes. * **id** *(string) --* The ID of the EC2 launch template to use to provision instances. Example: "lt-xxxx" * **version** *(string) --* The version of the EC2 launch template to use to provision instances. * **iamInstanceProfileArn** *(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 the "pcs:RegisterComputeNodeGroupInstance" permission. The resource identifier of the ARN must start with "AWSPCS" or it must have "/aws-pcs/" in its path. **Examples** * "arn:aws:iam::111122223333:instance-profile/AWSPCS- example-role-1" * "arn:aws:iam::111122223333:instance-profile/aws-pcs /example-role-2" * **scalingConfiguration** *(dict) --* Specifies the boundaries of the compute node group auto scaling. * **minInstanceCount** *(integer) --* The lower bound of the number of instances allowed in the compute fleet. * **maxInstanceCount** *(integer) --* The upper bound of the number of instances allowed in the compute fleet. * **instanceConfigs** *(list) --* A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group. * *(dict) --* An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes. * **instanceType** *(string) --* The EC2 instance type that Amazon Web Services PCS can provision in the compute node group. Example: "t2.xlarge" * **spotOptions** *(dict) --* Additional configuration when you specify "SPOT" as the "purchaseOption" for the "CreateComputeNodeGroup" API action. * **allocationStrategy** *(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**. * **slurmConfiguration** *(dict) --* Additional options related to the Slurm scheduler. * **slurmCustomSettings** *(list) --* Additional Slurm-specific configuration that directly maps to Slurm settings. * *(dict) --* Additional settings that directly map to Slurm settings. * **parameterName** *(string) --* Amazon Web Services PCS supports configuration of the following Slurm parameters: * For **clusters** * Prolog * Epilog * SelectTypeParameters * For **compute node groups** * Weight * RealMemory * **parameterValue** *(string) --* The values for the configured Slurm settings. * **errorInfo** *(list) --* The list of errors that occurred during compute node group provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ServiceQuotaExceeded Exception" * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / get_queue get_queue ********* ParallelComputingService.Client.get_queue(**kwargs) Returns detailed information about a queue. The information includes the compute node groups that the queue uses to schedule jobs. See also: AWS API Documentation **Request Syntax** response = client.get_queue( clusterIdentifier='string', queueIdentifier='string' ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster of the queue. * **queueIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the queue. Return type: dict Returns: **Response Syntax** { 'queue': { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED', 'computeNodeGroupConfigurations': [ { 'computeNodeGroupId': 'string' }, ], 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **queue** *(dict) --* A queue resource. * **name** *(string) --* The name that identifies the queue. * **id** *(string) --* The generated unique ID of the queue. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the queue. * **clusterId** *(string) --* The ID of the cluster of the queue. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the queue. Note: The provisioning status doesn't indicate the overall health of the queue. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **computeNodeGroupConfigurations** *(list) --* The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. * *(dict) --* The compute node group configuration for a queue. * **computeNodeGroupId** *(string) --* The compute node group ID for the compute node group configuration. * **errorInfo** *(list) --* The list of errors that occurred during queue provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / tag_resource tag_resource ************ ParallelComputingService.Client.tag_resource(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( resourceArn='string', tags={ 'string': 'string' } ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource. * **tags** (*dict*) -- **[REQUIRED]** 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. * *(string) --* * *(string) --* Returns: None **Exceptions** * "ParallelComputingService.Client.exceptions.ServiceQuotaExceeded Exception" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" ParallelComputingService / Client / list_queues list_queues *********** ParallelComputingService.Client.list_queues(**kwargs) Returns a list of all queues associated with a cluster. See also: AWS API Documentation **Request Syntax** response = client.list_queues( clusterIdentifier='string', nextToken='string', maxResults=123 ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster to list queues for. * **nextToken** (*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. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'queues': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **queues** *(list) --* The list of queues associated with the cluster. * *(dict) --* The object returned by the "ListQueues" API action. * **name** *(string) --* The name that identifies the queue. * **id** *(string) --* The generated unique ID of the queue. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the queue. * **clusterId** *(string) --* The ID of the cluster of the queue. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the queue. Note: The provisioning status doesn't indicate the overall health of the queue. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **nextToken** *(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. **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / create_queue create_queue ************ ParallelComputingService.Client.create_queue(**kwargs) 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. See also: AWS API Documentation **Request Syntax** response = client.create_queue( clusterIdentifier='string', queueName='string', computeNodeGroupConfigurations=[ { 'computeNodeGroupId': 'string' }, ], clientToken='string', tags={ 'string': 'string' } ) Parameters: * **clusterIdentifier** (*string*) -- **[REQUIRED]** The name or ID of the cluster for which to create a queue. * **queueName** (*string*) -- **[REQUIRED]** A name to identify the queue. * **computeNodeGroupConfigurations** (*list*) -- The list of compute node group configurations to associate with the queue. Queues assign jobs to associated compute node groups. * *(dict) --* The compute node group configuration for a queue. * **computeNodeGroupId** *(string) --* The compute node group ID for the compute node group configuration. * **clientToken** (*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. This field is autopopulated if not provided. * **tags** (*dict*) -- 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. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'queue': { 'name': 'string', 'id': 'string', 'arn': 'string', 'clusterId': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED', 'computeNodeGroupConfigurations': [ { 'computeNodeGroupId': 'string' }, ], 'errorInfo': [ { 'code': 'string', 'message': 'string' }, ] } } **Response Structure** * *(dict) --* * **queue** *(dict) --* A queue resource. * **name** *(string) --* The name that identifies the queue. * **id** *(string) --* The generated unique ID of the queue. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the queue. * **clusterId** *(string) --* The ID of the cluster of the queue. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the queue. Note: The provisioning status doesn't indicate the overall health of the queue. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **computeNodeGroupConfigurations** *(list) --* The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. * *(dict) --* The compute node group configuration for a queue. * **computeNodeGroupId** *(string) --* The compute node group ID for the compute node group configuration. * **errorInfo** *(list) --* The list of errors that occurred during queue provisioning. * *(dict) --* An error that occurred during resource creation. * **code** *(string) --* The short-form error code. * **message** *(string) --* The detailed error information. **Exceptions** * "ParallelComputingService.Client.exceptions.ServiceQuotaExceeded Exception" * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n" ParallelComputingService / Client / list_clusters list_clusters ************* ParallelComputingService.Client.list_clusters(**kwargs) Returns a list of running clusters in your account. See also: AWS API Documentation **Request Syntax** response = client.list_clusters( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*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. * **maxResults** (*integer*) -- 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. Return type: dict Returns: **Response Syntax** { 'clusters': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'status': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'CREATE_FAILED'|'DELETE_FAILED'|'UPDATE_FAILED'|'SUSPENDING'|'SUSPENDED' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **clusters** *(list) --* The list of clusters. * *(dict) --* The object returned by the "ListClusters" API action. * **name** *(string) --* The name that identifies the cluster. * **id** *(string) --* The generated unique ID of the cluster. * **arn** *(string) --* The unique Amazon Resource Name (ARN) of the cluster. * **createdAt** *(datetime) --* The date and time the resource was created. * **modifiedAt** *(datetime) --* The date and time the resource was modified. * **status** *(string) --* The provisioning status of the cluster. Note: The provisioning status doesn't indicate the overall health of the cluster. Warning: The resource enters the "SUSPENDING" and "SUSPENDED" states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is "SUSPENDED". For more information, see Frequently asked questions about Slurm versions in PCS in the *PCS User Guide*. * **nextToken** *(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. **Exceptions** * "ParallelComputingService.Client.exceptions.ThrottlingException" * "ParallelComputingService.Client.exceptions.ValidationException" * "ParallelComputingService.Client.exceptions.ConflictException" * "ParallelComputingService.Client.exceptions.ResourceNotFoundExce ption" * "ParallelComputingService.Client.exceptions.InternalServerExcept ion" * "ParallelComputingService.Client.exceptions.AccessDeniedExceptio n"