Pcs class
Parallel Computing Service (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 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 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 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 PCS compute node is an Amazon EC2 instance. You don't launch compute nodes directly. 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. PCS automatically terminates your compute nodes when you delete the PCS resources related to those compute nodes.
Constructors
- Pcs({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
close(
) → void - Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
-
createCluster(
{required String clusterName, required NetworkingRequest networking, required SchedulerRequest scheduler, required Size size, String? clientToken, ClusterSlurmConfigurationRequest? slurmConfiguration, Map< String, String> ? tags}) → Future<CreateClusterResponse> - Creates a cluster in your account. 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.
-
createComputeNodeGroup(
{required String clusterIdentifier, required String computeNodeGroupName, required CustomLaunchTemplate customLaunchTemplate, required String iamInstanceProfileArn, required List< InstanceConfig> instanceConfigs, required ScalingConfigurationRequest scalingConfiguration, required List<String> subnetIds, String? amiId, String? clientToken, PurchaseOption? purchaseOption, ComputeNodeGroupSlurmConfigurationRequest? slurmConfiguration, SpotOptions? spotOptions, Map<String, String> ? tags}) → Future<CreateComputeNodeGroupResponse> - Creates a managed set of compute nodes. You associate a compute node group with a cluster through 1 or more PCS queues or as part of the login fleet. A compute node group includes the definition of the compute properties and lifecycle management. 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 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.
-
createQueue(
{required String clusterIdentifier, required String queueName, String? clientToken, List< ComputeNodeGroupConfiguration> ? computeNodeGroupConfigurations, QueueSlurmConfigurationRequest? slurmConfiguration, Map<String, String> ? tags}) → Future<CreateQueueResponse> - 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.
-
deleteCluster(
{required String clusterIdentifier, String? clientToken}) → Future< void> - 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.
-
deleteComputeNodeGroup(
{required String clusterIdentifier, required String computeNodeGroupIdentifier, String? clientToken}) → Future< void> - Deletes a compute node group. You must delete all queues associated with the compute node group first.
-
deleteQueue(
{required String clusterIdentifier, required String queueIdentifier, String? clientToken}) → Future< void> - Deletes a job queue. If the compute node group associated with this queue isn't associated with any other queues, PCS terminates all the compute nodes for this queue.
-
getCluster(
{required String clusterIdentifier}) → Future< GetClusterResponse> - 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.
-
getComputeNodeGroup(
{required String clusterIdentifier, required String computeNodeGroupIdentifier}) → Future< GetComputeNodeGroupResponse> - 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.
-
getQueue(
{required String clusterIdentifier, required String queueIdentifier}) → Future< GetQueueResponse> - Returns detailed information about a queue. The information includes the compute node groups that the queue uses to schedule jobs.
-
listClusters(
{int? maxResults, String? nextToken}) → Future< ListClustersResponse> - Returns a list of running clusters in your account.
-
listComputeNodeGroups(
{required String clusterIdentifier, int? maxResults, String? nextToken}) → Future< ListComputeNodeGroupsResponse> - Returns a list of all compute node groups associated with a cluster.
-
listQueues(
{required String clusterIdentifier, int? maxResults, String? nextToken}) → Future< ListQueuesResponse> - Returns a list of all queues associated with a cluster.
-
listTagsForResource(
{required String resourceArn}) → Future< ListTagsForResourceResponse> - Returns a list of all tags on an PCS resource.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerComputeNodeGroupInstance(
{required String bootstrapId, required String clusterIdentifier}) → Future< RegisterComputeNodeGroupInstanceResponse> -
May throw
AccessDeniedException. May throwInternalServerException. -
tagResource(
{required String resourceArn, required Map< String, String> tags}) → Future<void> - Adds or edits tags on an 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.
-
toString(
) → String -
A string representation of this object.
inherited
-
untagResource(
{required String resourceArn, required List< String> tagKeys}) → Future<void> - Deletes tags from an PCS resource. To delete a tag, specify the tag key and the Amazon Resource Name (ARN) of the PCS resource.
-
updateCluster(
{required String clusterIdentifier, String? clientToken, UpdateClusterSlurmConfigurationRequest? slurmConfiguration}) → Future< UpdateClusterResponse> - Updates a cluster configuration. You can modify Slurm scheduler settings, accounting configuration, and security groups for an existing cluster.
-
updateComputeNodeGroup(
{required String clusterIdentifier, required String computeNodeGroupIdentifier, String? amiId, String? clientToken, CustomLaunchTemplate? customLaunchTemplate, String? iamInstanceProfileArn, PurchaseOption? purchaseOption, ScalingConfigurationRequest? scalingConfiguration, UpdateComputeNodeGroupSlurmConfigurationRequest? slurmConfiguration, SpotOptions? spotOptions, List< String> ? subnetIds}) → Future<UpdateComputeNodeGroupResponse> - 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).
-
updateQueue(
{required String clusterIdentifier, required String queueIdentifier, String? clientToken, List< ComputeNodeGroupConfiguration> ? computeNodeGroupConfigurations, UpdateQueueSlurmConfigurationRequest? slurmConfiguration}) → Future<UpdateQueueResponse> - 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.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited