Class: Aws::PCS::Types::CreateComputeNodeGroupRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb

Overview

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#ami_id ⇒ String

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

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#client_token ⇒ 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 one for you.

A suitable default value is auto-generated. You should normally not need to pass this option.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#cluster_identifier ⇒ String

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

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#compute_node_group_name ⇒ String

A name to identify the cluster. Example: MyCluster

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#custom_launch_template ⇒ Types::CustomLaunchTemplate

The custom Amazon EC2 launch template to associate with the compute node group. Specify the launch template id and version when launchTemplateMode is CUSTOM. Don't specify this value when launchTemplateMode is MANAGED.



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#iam_instance_profile_arn ⇒ 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 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.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#instance_configs ⇒ Array<Types::InstanceConfig>

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

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#launch_template_mode ⇒ String

Specifies whether the compute node group uses a custom launch template or a launch template that PCS manages. The default value is CUSTOM.

If the value is CUSTOM, provide customLaunchTemplate. If the value is MANAGED, omit customLaunchTemplate and provide amiId and securityGroupIds.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#node_lifecycle_actions ⇒ Types::NodeLifecycleActionsRequest

The lifecycle actions to run on compute nodes in the compute node group. Use lifecycle actions to run custom scripts at defined stages of a compute node's lifecycle, such as when a compute node finishes bootstrapping or becomes ready to accept jobs.



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#purchase_option ⇒ String

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.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#scaling_configuration ⇒ Types::ScalingConfigurationRequest

Specifies the boundaries of the compute node group auto scaling.



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#security_group_ids ⇒ Array<String>

The IDs of the EC2 security groups to configure directly on the compute node group. The security groups must be in the same VPC as the cluster. PCS uses these security groups instead of the security groups in the custom launch template. You can't specify this value if the custom launch template defines network interfaces. If you don't provide this value, PCS uses the security groups in the custom launch template. You must provide this value if launchTemplateMode is MANAGED. For more information, see Configuring instance settings for compute node groups in PCS in the PCS User Guide.

Returns:

  • (Array<String>)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#slurm_configuration ⇒ Types::ComputeNodeGroupSlurmConfigurationRequest

Additional options related to the Slurm scheduler.



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#spot_options ⇒ Types::SpotOptions

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

Returns:



990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#ssh_key_name ⇒ String

The name of the EC2 key pair to configure directly on the compute node group. The key pair must exist in your account and Amazon Web Services Region. PCS uses this key pair instead of the key pair in the custom launch template. If you don't provide this value, PCS uses the key pair in the custom launch template, if one is specified. You must have permission for ec2:DescribeKeyPairs. If you delete the key pair later, future instance launches can fail. For more information, see Configuring instance settings for compute node groups in PCS in the PCS User Guide.

Returns:

  • (String)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#subnet_ids ⇒ Array<String>

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

Returns:

  • (Array<String>)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tags ⇒ Hash<String,String>

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.

Returns:

  • (Hash<String,String>)


990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'gems/aws-sdk-pcs/lib/aws-sdk-pcs/types.rb', line 990

class CreateComputeNodeGroupRequest < Struct.new(
  :ami_id,
  :security_group_ids,
  :ssh_key_name,
  :cluster_identifier,
  :compute_node_group_name,
  :subnet_ids,
  :purchase_option,
  :launch_template_mode,
  :custom_launch_template,
  :iam_instance_profile_arn,
  :scaling_configuration,
  :instance_configs,
  :spot_options,
  :slurm_configuration,
  :node_lifecycle_actions,
  :client_token,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end