Class: AWSCDK::PCS::CfnClusterProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::PCS::CfnClusterProps
- Defined in:
- pcs/cfn_cluster_props.rb
Overview
Properties for defining a CfnCluster.
Instance Attribute Summary collapse
-
#name ⇒ String?
readonly
The name that identifies the cluster.
-
#networking ⇒ AWSCDK::IResolvable, AWSCDK::PCS::CfnCluster::NetworkingProperty
readonly
The networking configuration for the cluster's control plane.
-
#scheduler ⇒ AWSCDK::IResolvable, AWSCDK::PCS::CfnCluster::SchedulerProperty
readonly
The cluster management and job scheduling software associated with the cluster.
-
#size ⇒ String
readonly
The size of the cluster.
-
#slurm_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Additional options related to the Slurm scheduler.
-
#tags ⇒ Hash{String => String}?
readonly
1 or more tags added to the resource.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(networking:, scheduler:, size:, name: nil, slurm_configuration: nil, tags: nil) ⇒ CfnClusterProps
constructor
A new instance of CfnClusterProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(networking:, scheduler:, size:, name: nil, slurm_configuration: nil, tags: nil) ⇒ CfnClusterProps
Returns a new instance of CfnClusterProps.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'pcs/cfn_cluster_props.rb', line 15 def initialize(networking:, scheduler:, size:, name: nil, slurm_configuration: nil, tags: nil) @networking = networking.is_a?(Hash) ? ::AWSCDK::PCS::CfnCluster::NetworkingProperty.new(**networking.transform_keys(&:to_sym)) : networking Jsii::Type.check_type(@networking, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY3MuQ2ZuQ2x1c3Rlci5OZXR3b3JraW5nUHJvcGVydHkifV19fQ==")), "networking") @scheduler = scheduler.is_a?(Hash) ? ::AWSCDK::PCS::CfnCluster::SchedulerProperty.new(**scheduler.transform_keys(&:to_sym)) : scheduler Jsii::Type.check_type(@scheduler, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY3MuQ2ZuQ2x1c3Rlci5TY2hlZHVsZXJQcm9wZXJ0eSJ9XX19")), "scheduler") @size = size Jsii::Type.check_type(@size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "size") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil? @slurm_configuration = slurm_configuration.is_a?(Hash) ? ::AWSCDK::PCS::CfnCluster::SlurmConfigurationProperty.new(**slurm_configuration.transform_keys(&:to_sym)) : slurm_configuration Jsii::Type.check_type(@slurm_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY3MuQ2ZuQ2x1c3Rlci5TbHVybUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "slurmConfiguration") unless @slurm_configuration.nil? @tags = Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil? end |
Instance Attribute Details
#name ⇒ String? (readonly)
The name that identifies the cluster.
53 54 55 |
# File 'pcs/cfn_cluster_props.rb', line 53 def name @name end |
#networking ⇒ AWSCDK::IResolvable, AWSCDK::PCS::CfnCluster::NetworkingProperty (readonly)
The networking configuration for the cluster's control plane.
34 35 36 |
# File 'pcs/cfn_cluster_props.rb', line 34 def networking @networking end |
#scheduler ⇒ AWSCDK::IResolvable, AWSCDK::PCS::CfnCluster::SchedulerProperty (readonly)
The cluster management and job scheduling software associated with the cluster.
39 40 41 |
# File 'pcs/cfn_cluster_props.rb', line 39 def scheduler @scheduler end |
#size ⇒ String (readonly)
The size of the cluster.
SMALL: 32 compute nodes and 256 jobsMEDIUM: 512 compute nodes and 8192 jobsLARGE: 2048 compute nodes and 16,384 jobs
48 49 50 |
# File 'pcs/cfn_cluster_props.rb', line 48 def size @size end |
#slurm_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Additional options related to the Slurm scheduler.
58 59 60 |
# File 'pcs/cfn_cluster_props.rb', line 58 def slurm_configuration @slurm_configuration end |
#tags ⇒ Hash{String => String}? (readonly)
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.
65 66 67 |
# File 'pcs/cfn_cluster_props.rb', line 65 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
67 68 69 70 71 72 73 74 75 76 |
# File 'pcs/cfn_cluster_props.rb', line 67 def self.jsii_properties { :networking => "networking", :scheduler => "scheduler", :size => "size", :name => "name", :slurm_configuration => "slurmConfiguration", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'pcs/cfn_cluster_props.rb', line 78 def to_jsii result = {} result.merge!({ "networking" => @networking, "scheduler" => @scheduler, "size" => @size, "name" => @name, "slurmConfiguration" => @slurm_configuration, "tags" => @tags, }) result.compact end |