Module Smaws_Client_PCS.Types

type nonrec validation_exception_reason =
  1. | OTHER
  2. | FIELD_VALIDATION_FAILED
  3. | CANNOT_PARSE
  4. | UNKNOWN_OPERATION
type nonrec validation_exception_field = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The message body of the exception.

    *)
  2. name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name of the exception.

    *)
}

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

type nonrec validation_exception_field_list = validation_exception_field list
type nonrec validation_exception = {
  1. field_list : validation_exception_field_list option;
    (*

    A list of fields or properties that failed validation.

    *)
  2. reason : validation_exception_reason;
    (*

    The specific reason or cause of the validation error.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
}

The request isn't valid.

Examples

  • Your request contains malformed JSON or unsupported characters.
  • The scheduler version isn't supported.
  • There are networking related errors, such as network validation failure.
  • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.
type nonrec slurm_rest_mode =
  1. | NONE
  2. | STANDARD
type nonrec update_slurm_rest_request = {
  1. mode : slurm_rest_mode option;
    (*

    The default value for mode is NONE. A value of STANDARD means the Slurm REST API is enabled.

    *)
}

The Slurm REST API configuration includes settings for enabling and configuring the Slurm REST API.

type nonrec update_scheduler_request = {
  1. version : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The Slurm version to upgrade the cluster to. You can only upgrade to a newer version. For more information about supported versions and upgrade paths, see Upgrading the Slurm version on a cluster in the PCS User Guide.

    Valid Values: 24.05 | 24.11 | 25.05 | 25.11

    *)
}

The scheduler configuration for updating a cluster. Use this to specify the Slurm version to upgrade to.

type nonrec slurm_custom_setting = {
  1. parameter_value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The values for the configured Slurm settings.

    *)
  2. parameter_name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    PCS supports custom Slurm settings for clusters, compute node groups, and queues. For more information, see Configuring custom Slurm settings in PCS in the PCS User Guide.

    *)
}

Additional settings that directly map to Slurm settings.

PCS supports a subset of Slurm settings. For more information, see Configuring custom Slurm settings in PCS in the PCS User Guide.

type nonrec slurm_custom_settings = slurm_custom_setting list
type nonrec update_queue_slurm_configuration_request = {
  1. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
}

Additional options related to the Slurm scheduler.

type nonrec queue_name = string
type nonrec queue_status =
  1. | RESUMING
  2. | SUSPENDED
  3. | SUSPENDING
  4. | UPDATE_FAILED
  5. | DELETE_FAILED
  6. | CREATE_FAILED
  7. | DELETING
  8. | UPDATING
  9. | ACTIVE
  10. | CREATING
type nonrec compute_node_group_configuration = {
  1. compute_node_group_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
}

The compute node group configuration for a queue.

type nonrec compute_node_group_configuration_list = compute_node_group_configuration list
type nonrec queue_slurm_configuration = {
  1. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
}

Additional options related to the Slurm scheduler.

type nonrec error_info = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The detailed error information.

    *)
  2. code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The short-form error code.

    *)
}

An error that occurred during resource creation.

type nonrec error_info_list = error_info list
type nonrec queue = {
  1. error_info : error_info_list option;
    (*

    The list of errors that occurred during queue provisioning.

    *)
  2. slurm_configuration : queue_slurm_configuration option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  3. compute_node_group_configurations : compute_node_group_configuration_list;
    (*

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

    *)
  4. status : queue_status;
    (*

    The provisioning status of the queue.

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

    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.

    *)
  5. modified_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was modified.

    *)
  6. created_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was created.

    *)
  7. cluster_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The ID of the cluster of the queue.

    *)
  8. arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  9. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The generated unique ID of the queue.

    *)
  10. name : queue_name;
    (*

    The name that identifies the queue.

    *)
}

A queue resource.

type nonrec update_queue_response = {
  1. queue : queue option;
}
type nonrec cluster_identifier = string
type nonrec queue_identifier = string
type nonrec sb_client_token = string
type nonrec update_queue_request = {
  1. client_token : sb_client_token option;
    (*

    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.

    *)
  2. slurm_configuration : update_queue_slurm_configuration_request option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  3. compute_node_group_configurations : compute_node_group_configuration_list option;
    (*

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

    *)
  4. queue_identifier : queue_identifier;
    (*

    The name or ID of the queue.

    *)
  5. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster of the queue.

    *)
}
type nonrec throttling_exception = {
  1. retry_after_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The number of seconds to wait before retrying the request.

    *)
  2. message : Smaws_Lib.Smithy_api.Types.string_;
}

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

type nonrec service_quota_exceeded_exception = {
  1. quota_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The quota code of the service quota that was exceeded.

    *)
  2. resource_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  3. resource_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  4. service_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The service code associated with the quota that was exceeded.

    *)
  5. message : Smaws_Lib.Smithy_api.Types.string_;
}

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

Examples

  • The max number of clusters or queues has been reached for the account.
  • The max number of compute node groups has been reached for the associated cluster.
  • The total of maxInstances across all compute node groups has been reached for associated cluster.
type nonrec resource_not_found_exception = {
  1. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  2. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The unique identifier of the resource that was not found.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
}

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

Examples

type nonrec internal_server_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
}

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

type nonrec conflict_exception = {
  1. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  2. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
}

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

Examples

  • A cluster with the same name already exists.
  • A cluster isn't in ACTIVE status.
  • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.
  • A queue already exists in a cluster.
type nonrec access_denied_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
}

You don't have permission to perform the action.

Examples

  • The launch template instance profile doesn't pass iam:PassRole verification.
  • There is a mismatch between the account ID and cluster ID.
  • The cluster ID doesn't exist.
  • The EC2 instance isn't present.
type nonrec update_compute_node_group_slurm_configuration_request = {
  1. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
  2. scale_down_idle_time_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time (in seconds) before an idle node is scaled down. If not specified, the cluster-level setting applies. This overrides the cluster-level scaleDownIdleTimeInSeconds setting. A value of -1 removes the override and applies the cluster-level setting to this compute node group. Requires Slurm version 25.11 or later.

    *)
}

Additional options related to the Slurm scheduler.

type nonrec compute_node_group_name = string
type nonrec compute_node_group_status =
  1. | RESUMING
  2. | SUSPENDED
  3. | SUSPENDING
  4. | DELETED
  5. | UPDATE_FAILED
  6. | DELETE_FAILED
  7. | CREATE_FAILED
  8. | DELETING
  9. | UPDATING
  10. | ACTIVE
  11. | CREATING
type nonrec ami_id = string
type nonrec subnet_id = string
type nonrec subnet_id_list = subnet_id list
type nonrec purchase_option =
  1. | INTERRUPTIBLE_CAPACITY_RESERVATION
  2. | CAPACITY_BLOCK
  3. | SPOT
  4. | ONDEMAND
type nonrec custom_launch_template = {
  1. version : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  2. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    Example: lt-xxxx

    *)
}

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

type nonrec instance_profile_arn = string
type nonrec scaling_configuration = {
  1. max_instance_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

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

    *)
  2. min_instance_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

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

    *)
}

Specifies the boundaries of the compute node group auto scaling.

type nonrec instance_config = {
  1. instance_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    Example: t2.xlarge

    *)
}

An EC2 instance configuration PCS uses to launch compute nodes.

type nonrec instance_list = instance_config list
type nonrec spot_allocation_strategy =
  1. | PRICE_CAPACITY_OPTIMIZED
  2. | CAPACITY_OPTIMIZED
  3. | LOWEST_PRICE
type nonrec spot_options = {
  1. allocation_strategy : spot_allocation_strategy option;
    (*

    The Amazon EC2 allocation strategy PCS uses to provision EC2 instances. 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.

    *)
}

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

type nonrec compute_node_group_slurm_configuration = {
  1. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
  2. scale_down_idle_time_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time (in seconds) before an idle node is scaled down. If not specified, the cluster-level setting applies. This overrides the cluster-level scaleDownIdleTimeInSeconds setting. A value of -1 removes the override and applies the cluster-level setting to this compute node group. Requires Slurm version 25.11 or later.

    *)
}

Additional options related to the Slurm scheduler.

type nonrec compute_node_group = {
  1. error_info : error_info_list option;
    (*

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

    *)
  2. slurm_configuration : compute_node_group_slurm_configuration option;
  3. spot_options : spot_options option;
  4. instance_configs : instance_list;
    (*

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

    *)
  5. scaling_configuration : scaling_configuration;
  6. iam_instance_profile_arn : instance_profile_arn;
    (*

    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 and the role name must start with AWSPCS or must have the path /aws-pcs/. For more information, see IAM instance profiles for PCS in the PCS User Guide.

    *)
  7. custom_launch_template : custom_launch_template;
  8. purchase_option : purchase_option option;
    (*

    Specifies how EC2 instances are purchased on your behalf. PCS supports On-Demand Instances, Spot Instances, Interruptible Capacity Reservations, On-Demand Capacity Reservations, and Amazon EC2 Capacity Blocks for ML. For more information, see Amazon EC2 billing and purchasing options in the Amazon Elastic Compute Cloud User Guide. For more information about PCS support for Capacity Blocks, see Using Amazon EC2 Capacity Blocks for ML with PCS in the PCS User Guide. For more information about PCS support for interruptible capacity reservations, see Using I-ODCRs with PCS in the PCS User Guide. Choose On-Demand if you plan to use an On-Demand Capacity Reservation (ODCR). For more information, see Using ODCRs with PCS. If you don't provide this option, it defaults to On-Demand.

    *)
  9. subnet_ids : subnet_id_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.

    *)
  10. ami_id : ami_id option;
    (*

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

    *)
  11. status : compute_node_group_status;
    (*

    The provisioning status of the compute node group.

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

    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.

    *)
  12. modified_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was modified.

    *)
  13. created_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was created.

    *)
  14. cluster_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The ID of the cluster of the compute node group.

    *)
  15. arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  16. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The generated unique ID of the compute node group.

    *)
  17. name : compute_node_group_name;
    (*

    The name that identifies the compute node group.

    *)
}

A compute node group associated with a cluster.

type nonrec update_compute_node_group_response = {
  1. compute_node_group : compute_node_group option;
}
type nonrec compute_node_group_identifier = string
type nonrec string_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec scaling_configuration_request = {
  1. max_instance_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

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

    *)
  2. min_instance_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

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

    *)
}

Specifies the boundaries of the compute node group auto scaling.

type nonrec update_compute_node_group_request = {
  1. client_token : sb_client_token option;
    (*

    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.

    *)
  2. slurm_configuration : update_compute_node_group_slurm_configuration_request option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  3. iam_instance_profile_arn : instance_profile_arn option;
    (*

    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 and the role name must start with AWSPCS or must have the path /aws-pcs/. For more information, see IAM instance profiles for PCS in the PCS User Guide.

    *)
  4. scaling_configuration : scaling_configuration_request option;
    (*

    Specifies the boundaries of the compute node group auto scaling.

    *)
  5. spot_options : spot_options option;
  6. purchase_option : purchase_option option;
    (*

    Specifies how EC2 instances are purchased on your behalf. PCS supports On-Demand Instances, Spot Instances, Interruptible Capacity Reservations, On-Demand Capacity Reservations, and Amazon EC2 Capacity Blocks for ML. For more information, see Amazon EC2 billing and purchasing options in the Amazon Elastic Compute Cloud User Guide. For more information about PCS support for Capacity Blocks, see Using Amazon EC2 Capacity Blocks for ML with PCS in the PCS User Guide. For more information about PCS support for interruptible capacity reservations, see Using I-ODCRs with PCS in the PCS User Guide. Choose On-Demand if you plan to use an On-Demand Capacity Reservation (ODCR). For more information, see Using ODCRs with PCS. If you don't provide this option, it defaults to On-Demand.

    *)
  7. custom_launch_template : custom_launch_template option;
  8. subnet_ids : string_list option;
    (*

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

    *)
  9. ami_id : ami_id option;
    (*

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

    *)
  10. compute_node_group_identifier : compute_node_group_identifier;
    (*

    The name or ID of the compute node group.

    *)
  11. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec slurmdbd_custom_setting = {
  1. parameter_value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The values for the configured SlurmDBD settings.

    *)
  2. parameter_name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    PCS supports custom SlurmDBD settings for clusters. For more information, see Configuring custom SlurmDBD settings in PCS in the PCS User Guide.

    *)
}

Additional settings that directly map to SlurmDBD settings.

PCS supports a subset of SlurmDBD settings. For more information, see Configuring custom SlurmDBD settings in PCS in the PCS User Guide.

type nonrec slurmdbd_custom_settings = slurmdbd_custom_setting list
type nonrec cgroup_custom_setting = {
  1. parameter_value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The values for the configured Cgroup settings.

    *)
  2. parameter_name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    PCS supports custom Cgroup settings for clusters. For more information, see Configuring custom Cgroup settings in PCS in the PCS User Guide.

    *)
}

Additional settings that directly map to Cgroup settings.

PCS supports a subset of Cgroup settings. For more information, see Configuring custom Cgroup settings in PCS in the PCS User Guide.

type nonrec cgroup_custom_settings = cgroup_custom_setting list
type nonrec accounting_mode =
  1. | NONE
  2. | STANDARD
type nonrec update_accounting_request = {
  1. mode : accounting_mode option;
    (*

    The default value for mode is NONE. A value of STANDARD means Slurm accounting is enabled.

    *)
  2. default_purge_time_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    0 isn't a valid value.

    *)
}

The accounting configuration includes configurable settings for Slurm accounting.

type nonrec update_cluster_slurm_configuration_request = {
  1. slurm_rest : update_slurm_rest_request option;
    (*

    The Slurm REST API configuration for the cluster.

    *)
  2. accounting : update_accounting_request option;
    (*

    The accounting configuration includes configurable settings for Slurm accounting.

    *)
  3. cgroup_custom_settings : cgroup_custom_settings option;
    (*

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

    *)
  4. slurmdbd_custom_settings : slurmdbd_custom_settings option;
    (*

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

    *)
  5. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
  6. scale_down_idle_time_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time (in seconds) before an idle node is scaled down.

    Default: 600

    *)
}

Additional options related to the Slurm scheduler.

type nonrec cluster_status =
  1. | RESUMING
  2. | SUSPENDED
  3. | SUSPENDING
  4. | UPDATE_FAILED
  5. | DELETE_FAILED
  6. | CREATE_FAILED
  7. | DELETING
  8. | UPDATING
  9. | ACTIVE
  10. | CREATING
type nonrec scheduler_type =
  1. | SLURM
type nonrec scheduler = {
  1. version : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The version of the specified scheduling software that PCS uses to manage cluster scaling and job scheduling. You can upgrade this version using the UpdateCluster API action. For more information, see Upgrading the Slurm version on a cluster and Slurm versions in PCS in the PCS User Guide.

    Valid Values: 23.11 | 24.05 | 24.11 | 25.05 | 25.11

    *)
  2. type_ : scheduler_type;
    (*

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

    *)
}

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

type nonrec size =
  1. | LARGE
  2. | MEDIUM
  3. | SMALL
type nonrec slurm_auth_key = {
  1. secret_version : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The version of the shared Slurm key.

    *)
  2. secret_arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
}

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

type nonrec jwt_key = {
  1. secret_version : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The version of the Amazon Web Services Secrets Manager secret containing the JWT key.

    *)
  2. secret_arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret containing the JWT key.

    *)
}

The JWT key stored in Amazon Web Services Secrets Manager for Slurm REST API authentication.

type nonrec jwt_auth = {
  1. jwt_key : jwt_key option;
    (*

    The JWT key for Slurm REST API authentication.

    *)
}

The JWT authentication configuration for Slurm REST API access.

type nonrec accounting = {
  1. mode : accounting_mode;
    (*

    The default value for mode is NONE. A value of STANDARD means Slurm accounting is enabled.

    *)
  2. default_purge_time_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    0 isn't a valid value.

    *)
}

The accounting configuration includes configurable settings for Slurm accounting. It's a property of the ClusterSlurmConfiguration object.

type nonrec slurm_rest = {
  1. mode : slurm_rest_mode;
    (*

    The default value for mode is NONE. A value of STANDARD means the Slurm REST API is enabled.

    *)
}

The Slurm REST API configuration includes settings for enabling and configuring the Slurm REST API. It's a property of the ClusterSlurmConfiguration object.

type nonrec cluster_slurm_configuration = {
  1. slurm_rest : slurm_rest option;
    (*

    The Slurm REST API configuration for the cluster.

    *)
  2. accounting : accounting option;
    (*

    The accounting configuration includes configurable settings for Slurm accounting.

    *)
  3. jwt_auth : jwt_auth option;
    (*

    The JWT authentication configuration for Slurm REST API access.

    *)
  4. auth_key : slurm_auth_key option;
    (*

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

    *)
  5. cgroup_custom_settings : cgroup_custom_settings option;
    (*

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

    *)
  6. slurmdbd_custom_settings : slurmdbd_custom_settings option;
    (*

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

    *)
  7. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
  8. scale_down_idle_time_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time (in seconds) before an idle node is scaled down.

    Default: 600

    *)
}

Additional options related to the Slurm scheduler.

type nonrec security_group_id = string
type nonrec security_group_id_list = security_group_id list
type nonrec network_type =
  1. | IPV6
  2. | IPV4
type nonrec networking = {
  1. network_type : network_type option;
    (*

    The IP address version the cluster uses. The default is IPV4.

    *)
  2. security_group_ids : security_group_id_list option;
    (*

    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
    *)
  3. subnet_ids : subnet_id_list option;
    (*

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

    Example: subnet-abcd1234

    *)
}

The networking configuration for the cluster's control plane.

type nonrec endpoint_type =
  1. | SLURMRESTD
  2. | SLURMDBD
  3. | SLURMCTLD
type nonrec endpoint = {
  1. port : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The endpoint's connection port number.

    Example: 1234

    *)
  2. ipv6_address : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The endpoint's IPv6 address.

    Example: 2001:db8::1

    *)
  3. public_ip_address : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The endpoint's public IP address.

    Example: 192.0.2.1

    *)
  4. private_ip_address : Smaws_Lib.Smithy_api.Types.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.

    *)
  5. type_ : endpoint_type;
    (*

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

    *)
}

An endpoint available for interaction with the scheduler.

type nonrec endpoints = endpoint list
type nonrec cluster = {
  1. error_info : error_info_list option;
    (*

    The list of errors that occurred during cluster provisioning.

    *)
  2. endpoints : endpoints option;
    (*

    The list of endpoints available for interaction with the scheduler.

    *)
  3. networking : networking;
  4. slurm_configuration : cluster_slurm_configuration option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  5. size : size;
    (*

    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
    *)
  6. scheduler : scheduler;
  7. modified_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was modified.

    *)
  8. created_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was created.

    *)
  9. status : cluster_status;
    (*

    The provisioning status of the cluster.

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

    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.

    *)
  10. arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  11. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The generated unique ID of the cluster.

    *)
  12. name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name that identifies the cluster.

    *)
}

The cluster resource and configuration.

type nonrec update_cluster_response = {
  1. cluster : cluster option;
}
type nonrec update_cluster_request = {
  1. scheduler : update_scheduler_request option;
    (*

    The scheduler configuration to update for the cluster. Use this to upgrade the Slurm version. For more information, see Upgrading the Slurm version on a cluster in the PCS User Guide.

    *)
  2. slurm_configuration : update_cluster_slurm_configuration_request option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  3. client_token : sb_client_token option;
    (*

    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.

    *)
  4. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster to update.

    *)
}
type nonrec untag_resource_response = unit
type nonrec arn = string
type nonrec tag_key = string
type nonrec tag_keys = tag_key list
type nonrec untag_resource_request = {
  1. tag_keys : tag_keys;
    (*

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

    *)
  2. resource_arn : arn;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
}
type nonrec tag_value = string
type nonrec tag_resource_response = unit
type nonrec request_tag_map = (tag_key * tag_value) list
type nonrec tag_resource_request = {
  1. tags : request_tag_map;
    (*

    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.

    *)
  2. resource_arn : arn;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
}
type nonrec slurm_rest_request = {
  1. mode : slurm_rest_mode;
    (*

    The default value for mode is NONE. A value of STANDARD means the Slurm REST API is enabled.

    *)
}

The Slurm REST API configuration includes settings for enabling and configuring the Slurm REST API. It's a property of the ClusterSlurmConfiguration object.

type nonrec shared_secret = string
type nonrec scheduler_request = {
  1. version : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The version of the specified scheduling software that PCS uses to manage cluster scaling and job scheduling. For more information, see Slurm versions in PCS in the PCS User Guide.

    Valid Values: 24.11 | 25.05 | 25.11

    *)
  2. type_ : scheduler_type;
    (*

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

    *)
}

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

type nonrec response_tag_map = (tag_key * tag_value) list
type nonrec register_compute_node_group_instance_response = {
  1. endpoints : endpoints;
    (*

    The list of endpoints available for interaction with the scheduler.

    *)
  2. shared_secret : shared_secret;
    (*

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

    *)
  3. node_i_d : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The scheduler node ID for this instance.

    *)
}
type nonrec bootstrap_id = string
type nonrec register_compute_node_group_instance_request = {
  1. bootstrap_id : bootstrap_id;
    (*

    The client-generated token to allow for retries.

    *)
  2. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec queue_summary = {
  1. status : queue_status;
    (*

    The provisioning status of the queue.

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

    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.

    *)
  2. modified_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was modified.

    *)
  3. created_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was created.

    *)
  4. cluster_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The ID of the cluster of the queue.

    *)
  5. arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  6. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The generated unique ID of the queue.

    *)
  7. name : queue_name;
    (*

    The name that identifies the queue.

    *)
}

The object returned by the ListQueues API action.

type nonrec queue_slurm_configuration_request = {
  1. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
}

Additional options related to the Slurm scheduler.

type nonrec queue_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec queue_list = queue_summary list
type nonrec networking_request = {
  1. network_type : network_type option;
    (*

    The IP address version the cluster uses. The default is IPV4.

    *)
  2. security_group_ids : security_group_id_list option;
    (*

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

    *)
  3. subnet_ids : subnet_id_list option;
    (*

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

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

    PCS currently supports only 1 subnet in this list.

    *)
}

The networking configuration for the cluster's control plane.

type nonrec max_results = int
type nonrec list_tags_for_resource_response = {
  1. tags : response_tag_map option;
    (*

    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.

    *)
}
type nonrec list_tags_for_resource_request = {
  1. resource_arn : arn;
    (*

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

    *)
}
type nonrec list_queues_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. queues : queue_list;
    (*

    The list of queues associated with the cluster.

    *)
}
type nonrec list_queues_request = {
  1. max_results : max_results option;
    (*

    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.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  3. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec compute_node_group_summary = {
  1. status : compute_node_group_status;
    (*

    The provisioning status of the compute node group.

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

    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.

    *)
  2. modified_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was modified.

    *)
  3. created_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was created.

    *)
  4. cluster_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The ID of the cluster of the compute node group.

    *)
  5. arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  6. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The generated unique ID of the compute node group.

    *)
  7. name : compute_node_group_name;
    (*

    The name that identifies the compute node group.

    *)
}

The object returned by the ListComputeNodeGroups API action.

type nonrec compute_node_group_list = compute_node_group_summary list
type nonrec list_compute_node_groups_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. compute_node_groups : compute_node_group_list;
    (*

    The list of compute node groups for the cluster.

    *)
}
type nonrec list_compute_node_groups_request = {
  1. max_results : max_results option;
    (*

    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.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  3. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec cluster_summary = {
  1. status : cluster_status;
    (*

    The provisioning status of the cluster.

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

    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.

    *)
  2. modified_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was modified.

    *)
  3. created_at : Smaws_Lib.Smithy_api.Types.timestamp;
    (*

    The date and time the resource was created.

    *)
  4. arn : Smaws_Lib.Smithy_api.Types.string_;
    (*

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

    *)
  5. id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The generated unique ID of the cluster.

    *)
  6. name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name that identifies the cluster.

    *)
}

The object returned by the ListClusters API action.

type nonrec cluster_list = cluster_summary list
type nonrec list_clusters_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. clusters : cluster_list;
    (*

    The list of clusters.

    *)
}
type nonrec list_clusters_request = {
  1. max_results : max_results option;
    (*

    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.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
}
type nonrec get_queue_response = {
  1. queue : queue option;
}
type nonrec get_queue_request = {
  1. queue_identifier : queue_identifier;
    (*

    The name or ID of the queue.

    *)
  2. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster of the queue.

    *)
}
type nonrec get_compute_node_group_response = {
  1. compute_node_group : compute_node_group option;
}
type nonrec get_compute_node_group_request = {
  1. compute_node_group_identifier : compute_node_group_identifier;
    (*

    The name or ID of the compute node group.

    *)
  2. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster.

    *)
}
type nonrec get_cluster_response = {
  1. cluster : cluster option;
    (*

    The cluster resource.

    *)
}
type nonrec get_cluster_request = {
  1. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster.

    *)
}
type nonrec delete_queue_response = unit
type nonrec delete_queue_request = {
  1. client_token : sb_client_token option;
    (*

    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.

    *)
  2. queue_identifier : queue_identifier;
    (*

    The name or ID of the queue to delete.

    *)
  3. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster of the queue.

    *)
}
type nonrec delete_compute_node_group_response = unit
type nonrec delete_compute_node_group_request = {
  1. client_token : sb_client_token option;
    (*

    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.

    *)
  2. compute_node_group_identifier : compute_node_group_identifier;
    (*

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

    *)
  3. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec delete_cluster_response = unit
type nonrec delete_cluster_request = {
  1. client_token : sb_client_token option;
    (*

    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.

    *)
  2. cluster_identifier : cluster_identifier;
    (*

    The name or ID of the cluster to delete.

    *)
}
type nonrec create_queue_response = {
  1. queue : queue option;
}
type nonrec create_queue_request = {
  1. tags : request_tag_map option;
    (*

    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.

    *)
  2. client_token : sb_client_token option;
    (*

    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.

    *)
  3. slurm_configuration : queue_slurm_configuration_request option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  4. compute_node_group_configurations : compute_node_group_configuration_list option;
    (*

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

    *)
  5. queue_name : queue_name;
    (*

    A name to identify the queue.

    *)
  6. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec create_compute_node_group_response = {
  1. compute_node_group : compute_node_group option;
}
type nonrec compute_node_group_slurm_configuration_request = {
  1. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
  2. scale_down_idle_time_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time (in seconds) before an idle node is scaled down. If not specified, the cluster-level setting applies. This overrides the cluster-level scaleDownIdleTimeInSeconds setting. A value of -1 removes the override and applies the cluster-level setting to this compute node group. Requires Slurm version 25.11 or later.

    *)
}

Additional options related to the Slurm scheduler.

type nonrec create_compute_node_group_request = {
  1. tags : request_tag_map option;
    (*

    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.

    *)
  2. client_token : sb_client_token option;
    (*

    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.

    *)
  3. slurm_configuration : compute_node_group_slurm_configuration_request option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  4. spot_options : spot_options option;
  5. instance_configs : instance_list;
    (*

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

    *)
  6. scaling_configuration : scaling_configuration_request;
    (*

    Specifies the boundaries of the compute node group auto scaling.

    *)
  7. iam_instance_profile_arn : instance_profile_arn;
    (*

    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 and the role name must start with AWSPCS or must have the path /aws-pcs/. For more information, see IAM instance profiles for PCS in the PCS User Guide.

    *)
  8. custom_launch_template : custom_launch_template;
  9. purchase_option : purchase_option option;
    (*

    Specifies how EC2 instances are purchased on your behalf. PCS supports On-Demand Instances, Spot Instances, Interruptible Capacity Reservations, On-Demand Capacity Reservations, and Amazon EC2 Capacity Blocks for ML. For more information, see Amazon EC2 billing and purchasing options in the Amazon Elastic Compute Cloud User Guide. For more information about PCS support for Capacity Blocks, see Using Amazon EC2 Capacity Blocks for ML with PCS in the PCS User Guide. For more information about PCS support for interruptible capacity reservations, see Using I-ODCRs with PCS in the PCS User Guide. Choose On-Demand if you plan to use an On-Demand Capacity Reservation (ODCR). For more information, see Using ODCRs with PCS. If you don't provide this option, it defaults to On-Demand.

    *)
  10. subnet_ids : string_list;
    (*

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

    *)
  11. ami_id : ami_id option;
    (*

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

    *)
  12. compute_node_group_name : compute_node_group_name;
    (*

    A name to identify the cluster. Example: MyCluster

    *)
  13. cluster_identifier : cluster_identifier;
    (*

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

    *)
}
type nonrec create_cluster_response = {
  1. cluster : cluster option;
    (*

    The cluster resource.

    *)
}
type nonrec cluster_name = string
type nonrec accounting_request = {
  1. mode : accounting_mode;
    (*

    The default value for mode is NONE. A value of STANDARD means Slurm accounting is enabled.

    *)
  2. default_purge_time_in_days : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    0 isn't a valid value.

    *)
}

The accounting configuration includes configurable settings for Slurm accounting. It's a property of the ClusterSlurmConfiguration object.

type nonrec cluster_slurm_configuration_request = {
  1. slurm_rest : slurm_rest_request option;
    (*

    The Slurm REST API configuration for the cluster.

    *)
  2. accounting : accounting_request option;
    (*

    The accounting configuration includes configurable settings for Slurm accounting.

    *)
  3. cgroup_custom_settings : cgroup_custom_settings option;
    (*

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

    *)
  4. slurmdbd_custom_settings : slurmdbd_custom_settings option;
    (*

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

    *)
  5. slurm_custom_settings : slurm_custom_settings option;
    (*

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

    *)
  6. scale_down_idle_time_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The time (in seconds) before an idle node is scaled down.

    Default: 600

    *)
}

Additional options related to the Slurm scheduler.

type nonrec create_cluster_request = {
  1. tags : request_tag_map option;
    (*

    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.

    *)
  2. client_token : sb_client_token option;
    (*

    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.

    *)
  3. slurm_configuration : cluster_slurm_configuration_request option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  4. networking : networking_request;
    (*

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

    *)
  5. size : size;
    (*

    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
    *)
  6. scheduler : scheduler_request;
    (*

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

    *)
  7. cluster_name : cluster_name;
    (*

    A name to identify the cluster. Example: MyCluster

    *)
}
type nonrec compute_node_group_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec cluster_resource = Smaws_Lib.CoreTypes.Resource.t