Module Values.CreateComputeNodeGroupRequestSource

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.

Sourcetype nonrec t = {
  1. clusterIdentifier : ClusterIdentifier.t;
    (*

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

    *)
  2. computeNodeGroupName : ComputeNodeGroupName.t;
    (*

    A name to identify the cluster. Example: MyCluster

    *)
  3. amiId : AmiId.t 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.

    *)
  4. subnetIds : StringList.t;
    (*

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

    *)
  5. purchaseOption : PurchaseOption.t 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.

    *)
  6. customLaunchTemplate : CustomLaunchTemplate.t;
  7. iamInstanceProfileArn : InstanceProfileArn.t;
    (*

    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. scalingConfiguration : ScalingConfigurationRequest.t;
    (*

    Specifies the boundaries of the compute node group auto scaling.

    *)
  9. instanceConfigs : InstanceList.t;
    (*

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

    *)
  10. spotOptions : SpotOptions.t option;
  11. slurmConfiguration : ComputeNodeGroupSlurmConfigurationRequest.t option;
    (*

    Additional options related to the Slurm scheduler.

    *)
  12. clientToken : SBClientToken.t 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.

    *)
  13. tags : RequestTagMap.t 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.

    *)
}
Sourceval context_ : string
Sourceval make : ?amiId:??? -> ?purchaseOption:??? -> ?spotOptions:??? -> ?slurmConfiguration:??? -> ?clientToken:??? -> ?tags:??? -> clusterIdentifier:ClusterIdentifier.t -> computeNodeGroupName:ComputeNodeGroupName.t -> subnetIds:StringList.t -> customLaunchTemplate:CustomLaunchTemplate.t -> iamInstanceProfileArn:InstanceProfileArn.t -> scalingConfiguration:ScalingConfigurationRequest.t -> instanceConfigs:InstanceList.t -> unit -> t
Sourceval to_value : t -> [> `Structure of (string * [> `Enum of string | `List of [> `String of String_.t | `Structure of (string * [> `String of String_.t ]) list ] list | `Map of ([> `String of TagKey.t ] * [> `String of TagValue.t ]) list | `String of ClusterIdentifier.t | `Structure of (string * [> `Enum of string | `Integer of ScalingConfigurationRequestMinInstanceCountInteger.t | `List of [> `Structure of (string * [> `String of String_.t ]) list ] list | `String of String_.t ]) list ]) list ]
Sourceval to_query : t -> Awso.Client.Query.t
Sourceval of_xml : Awso.Xml.t -> t
Sourceval of_string : string -> t
Sourceval of_json : Yojson.Safe.t -> t
Sourceval to_json : t -> Yojson.Safe.t