Class: AWSCDK::EMR::CfnClusterProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_cluster_props.rb

Overview

Properties for defining a CfnCluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instances:, job_flow_role:, name:, service_role:, additional_info: nil, applications: nil, auto_scaling_role: nil, auto_termination_policy: nil, bootstrap_actions: nil, configurations: nil, custom_ami_id: nil, ebs_root_volume_iops: nil, ebs_root_volume_size: nil, ebs_root_volume_throughput: nil, kerberos_attributes: nil, log_encryption_kms_key_id: nil, log_uri: nil, managed_scaling_policy: nil, os_release_label: nil, placement_group_configs: nil, release_label: nil, scale_down_behavior: nil, security_configuration: nil, step_concurrency_level: nil, steps: nil, tags: nil, visible_to_all_users: nil) ⇒ CfnClusterProps

Returns a new instance of CfnClusterProps.

Parameters:

  • instances (AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::JobFlowInstancesConfigProperty)

    A specification of the number and type of Amazon EC2 instances.

  • job_flow_role (String)

    Also called instance profile and Amazon EC2 role.

  • name (String)

    The name of the cluster.

  • service_role (String)

    The IAM role that Amazon EMR assumes in order to access AWS resources on your behalf.

  • additional_info (Object, nil) (defaults to: nil)

    A JSON string for selecting additional features.

  • applications (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::ApplicationProperty>, nil) (defaults to: nil)

    The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on.

  • auto_scaling_role (String, nil) (defaults to: nil)

    An IAM role for automatic scaling policies.

  • auto_termination_policy (AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::AutoTerminationPolicyProperty, nil) (defaults to: nil)

    An auto-termination policy for an Amazon EMR cluster.

  • bootstrap_actions (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::BootstrapActionConfigProperty>, nil) (defaults to: nil)

    A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

  • configurations (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::ConfigurationProperty>, nil) (defaults to: nil)

    Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.

  • custom_ami_id (String, nil) (defaults to: nil)

    Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

  • ebs_root_volume_iops (Numeric, nil) (defaults to: nil)

    The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.

  • ebs_root_volume_size (Numeric, nil) (defaults to: nil)

    The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.

  • ebs_root_volume_throughput (Numeric, nil) (defaults to: nil)

    The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.

  • kerberos_attributes (AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::KerberosAttributesProperty, nil) (defaults to: nil)

    Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.

  • log_encryption_kms_key_id (String, nil) (defaults to: nil)

    The AWS KMS key used for encrypting log files.

  • log_uri (String, nil) (defaults to: nil)

    The path to the Amazon S3 location where logs for this cluster are stored.

  • managed_scaling_policy (AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::ManagedScalingPolicyProperty, nil) (defaults to: nil)

    Creates or updates a managed scaling policy for an Amazon EMR cluster.

  • os_release_label (String, nil) (defaults to: nil)

    The Amazon Linux release specified in a cluster launch RunJobFlow request.

  • placement_group_configs (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::PlacementGroupConfigProperty>, nil) (defaults to: nil)
  • release_label (String, nil) (defaults to: nil)

    The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.

  • scale_down_behavior (String, nil) (defaults to: nil)

    The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.

  • security_configuration (String, nil) (defaults to: nil)

    The name of the security configuration applied to the cluster.

  • step_concurrency_level (Numeric, nil) (defaults to: nil)

    Specifies the number of steps that can be executed concurrently.

  • steps (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::StepConfigProperty>, nil) (defaults to: nil)

    A list of steps to run.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    A list of tags associated with a cluster.

  • visible_to_all_users (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster.



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'emr/cfn_cluster_props.rb', line 36

def initialize(instances:, job_flow_role:, name:, service_role:, additional_info: nil, applications: nil, auto_scaling_role: nil, auto_termination_policy: nil, bootstrap_actions: nil, configurations: nil, custom_ami_id: nil, ebs_root_volume_iops: nil, ebs_root_volume_size: nil, ebs_root_volume_throughput: nil, kerberos_attributes: nil, log_encryption_kms_key_id: nil, log_uri: nil, managed_scaling_policy: nil, os_release_label: nil, placement_group_configs: nil, release_label: nil, scale_down_behavior: nil, security_configuration: nil, step_concurrency_level: nil, steps: nil, tags: nil, visible_to_all_users: nil)
  @instances = instances.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::JobFlowInstancesConfigProperty.new(**instances.transform_keys(&:to_sym)) : instances
  Jsii::Type.check_type(@instances, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5Kb2JGbG93SW5zdGFuY2VzQ29uZmlnUHJvcGVydHkifV19fQ==")), "instances")
  @job_flow_role = job_flow_role
  Jsii::Type.check_type(@job_flow_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jobFlowRole")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @service_role = service_role
  Jsii::Type.check_type(@service_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceRole")
  @additional_info = additional_info
  Jsii::Type.check_type(@additional_info, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "additionalInfo") unless @additional_info.nil?
  @applications = applications
  Jsii::Type.check_type(@applications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yLkNmbkNsdXN0ZXIuQXBwbGljYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "applications") unless @applications.nil?
  @auto_scaling_role = auto_scaling_role
  Jsii::Type.check_type(@auto_scaling_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "autoScalingRole") unless @auto_scaling_role.nil?
  @auto_termination_policy = auto_termination_policy.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::AutoTerminationPolicyProperty.new(**auto_termination_policy.transform_keys(&:to_sym)) : auto_termination_policy
  Jsii::Type.check_type(@auto_termination_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5BdXRvVGVybWluYXRpb25Qb2xpY3lQcm9wZXJ0eSJ9XX19")), "autoTerminationPolicy") unless @auto_termination_policy.nil?
  @bootstrap_actions = bootstrap_actions
  Jsii::Type.check_type(@bootstrap_actions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yLkNmbkNsdXN0ZXIuQm9vdHN0cmFwQWN0aW9uQ29uZmlnUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "bootstrapActions") unless @bootstrap_actions.nil?
  @configurations = configurations
  Jsii::Type.check_type(@configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yLkNmbkNsdXN0ZXIuQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "configurations") unless @configurations.nil?
  @custom_ami_id = custom_ami_id
  Jsii::Type.check_type(@custom_ami_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customAmiId") unless @custom_ami_id.nil?
  @ebs_root_volume_iops = ebs_root_volume_iops
  Jsii::Type.check_type(@ebs_root_volume_iops, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ebsRootVolumeIops") unless @ebs_root_volume_iops.nil?
  @ebs_root_volume_size = ebs_root_volume_size
  Jsii::Type.check_type(@ebs_root_volume_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ebsRootVolumeSize") unless @ebs_root_volume_size.nil?
  @ebs_root_volume_throughput = ebs_root_volume_throughput
  Jsii::Type.check_type(@ebs_root_volume_throughput, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ebsRootVolumeThroughput") unless @ebs_root_volume_throughput.nil?
  @kerberos_attributes = kerberos_attributes.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::KerberosAttributesProperty.new(**kerberos_attributes.transform_keys(&:to_sym)) : kerberos_attributes
  Jsii::Type.check_type(@kerberos_attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5LZXJiZXJvc0F0dHJpYnV0ZXNQcm9wZXJ0eSJ9XX19")), "kerberosAttributes") unless @kerberos_attributes.nil?
  @log_encryption_kms_key_id = log_encryption_kms_key_id
  Jsii::Type.check_type(@log_encryption_kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logEncryptionKmsKeyId") unless @log_encryption_kms_key_id.nil?
  @log_uri = log_uri
  Jsii::Type.check_type(@log_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logUri") unless @log_uri.nil?
  @managed_scaling_policy = managed_scaling_policy.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::ManagedScalingPolicyProperty.new(**managed_scaling_policy.transform_keys(&:to_sym)) : managed_scaling_policy
  Jsii::Type.check_type(@managed_scaling_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5NYW5hZ2VkU2NhbGluZ1BvbGljeVByb3BlcnR5In1dfX0=")), "managedScalingPolicy") unless @managed_scaling_policy.nil?
  @os_release_label = os_release_label
  Jsii::Type.check_type(@os_release_label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "osReleaseLabel") unless @os_release_label.nil?
  @placement_group_configs = placement_group_configs
  Jsii::Type.check_type(@placement_group_configs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yLkNmbkNsdXN0ZXIuUGxhY2VtZW50R3JvdXBDb25maWdQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "placementGroupConfigs") unless @placement_group_configs.nil?
  @release_label = release_label
  Jsii::Type.check_type(@release_label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "releaseLabel") unless @release_label.nil?
  @scale_down_behavior = scale_down_behavior
  Jsii::Type.check_type(@scale_down_behavior, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scaleDownBehavior") unless @scale_down_behavior.nil?
  @security_configuration = security_configuration
  Jsii::Type.check_type(@security_configuration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityConfiguration") unless @security_configuration.nil?
  @step_concurrency_level = step_concurrency_level
  Jsii::Type.check_type(@step_concurrency_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "stepConcurrencyLevel") unless @step_concurrency_level.nil?
  @steps = steps
  Jsii::Type.check_type(@steps, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yLkNmbkNsdXN0ZXIuU3RlcENvbmZpZ1Byb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "steps") unless @steps.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @visible_to_all_users = visible_to_all_users
  Jsii::Type.check_type(@visible_to_all_users, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "visibleToAllUsers") unless @visible_to_all_users.nil?
end

Instance Attribute Details

#additional_infoObject? (readonly)

A JSON string for selecting additional features.



121
122
123
# File 'emr/cfn_cluster_props.rb', line 121

def additional_info
  @additional_info
end

#applicationsAWSCDK::IResolvable, ... (readonly)

The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on.



126
127
128
# File 'emr/cfn_cluster_props.rb', line 126

def applications
  @applications
end

#auto_scaling_roleString? (readonly)

An IAM role for automatic scaling policies.

The default role is EMR_AutoScaling_DefaultRole . The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.



133
134
135
# File 'emr/cfn_cluster_props.rb', line 133

def auto_scaling_role
  @auto_scaling_role
end

#auto_termination_policyAWSCDK::IResolvable, ... (readonly)

An auto-termination policy for an Amazon EMR cluster.

An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination .



140
141
142
# File 'emr/cfn_cluster_props.rb', line 140

def auto_termination_policy
  @auto_termination_policy
end

#bootstrap_actionsAWSCDK::IResolvable, ... (readonly)

A list of bootstrap actions to run before Hadoop starts on the cluster nodes.



145
146
147
# File 'emr/cfn_cluster_props.rb', line 145

def bootstrap_actions
  @bootstrap_actions
end

#configurationsAWSCDK::IResolvable, ... (readonly)

Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.



150
151
152
# File 'emr/cfn_cluster_props.rb', line 150

def configurations
  @configurations
end

#custom_ami_idString? (readonly)

Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.



155
156
157
# File 'emr/cfn_cluster_props.rb', line 155

def custom_ami_id
  @custom_ami_id
end

#ebs_root_volume_iopsNumeric? (readonly)

The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.

Available in Amazon EMR releases 6.15.0 and later.



162
163
164
# File 'emr/cfn_cluster_props.rb', line 162

def ebs_root_volume_iops
  @ebs_root_volume_iops
end

#ebs_root_volume_sizeNumeric? (readonly)

The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.

Available in Amazon EMR releases 4.x and later.



169
170
171
# File 'emr/cfn_cluster_props.rb', line 169

def ebs_root_volume_size
  @ebs_root_volume_size
end

#ebs_root_volume_throughputNumeric? (readonly)

The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.

Available in Amazon EMR releases 6.15.0 and later.



176
177
178
# File 'emr/cfn_cluster_props.rb', line 176

def ebs_root_volume_throughput
  @ebs_root_volume_throughput
end

#instancesAWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::JobFlowInstancesConfigProperty (readonly)

A specification of the number and type of Amazon EC2 instances.



97
98
99
# File 'emr/cfn_cluster_props.rb', line 97

def instances
  @instances
end

#job_flow_roleString (readonly)

Also called instance profile and Amazon EC2 role.

An IAM role for an Amazon EMR cluster. The Amazon EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole . In order to use the default role, you must have already created it using the AWS CLI or console.



104
105
106
# File 'emr/cfn_cluster_props.rb', line 104

def job_flow_role
  @job_flow_role
end

#kerberos_attributesAWSCDK::IResolvable, ... (readonly)

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.

For more information see Use Kerberos Authentication in the Amazon EMR Management Guide .



183
184
185
# File 'emr/cfn_cluster_props.rb', line 183

def kerberos_attributes
  @kerberos_attributes
end

#log_encryption_kms_key_idString? (readonly)

The AWS KMS key used for encrypting log files.

This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.



190
191
192
# File 'emr/cfn_cluster_props.rb', line 190

def log_encryption_kms_key_id
  @log_encryption_kms_key_id
end

#log_uriString? (readonly)

The path to the Amazon S3 location where logs for this cluster are stored.



195
196
197
# File 'emr/cfn_cluster_props.rb', line 195

def log_uri
  @log_uri
end

#managed_scaling_policyAWSCDK::IResolvable, ... (readonly)

Creates or updates a managed scaling policy for an Amazon EMR cluster.

The managed scaling policy defines the limits for resources, such as Amazon EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.



202
203
204
# File 'emr/cfn_cluster_props.rb', line 202

def managed_scaling_policy
  @managed_scaling_policy
end

#nameString (readonly)

The name of the cluster.

This parameter can't contain the characters <, >, $, |, or ` (backtick).



111
112
113
# File 'emr/cfn_cluster_props.rb', line 111

def name
  @name
end

#os_release_labelString? (readonly)

The Amazon Linux release specified in a cluster launch RunJobFlow request.

If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.



209
210
211
# File 'emr/cfn_cluster_props.rb', line 209

def os_release_label
  @os_release_label
end

#placement_group_configsAWSCDK::IResolvable, ... (readonly)



212
213
214
# File 'emr/cfn_cluster_props.rb', line 212

def placement_group_configs
  @placement_group_configs
end

#release_labelString? (readonly)

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.

Release labels are in the form emr-x.x.x , where x.x.x is an Amazon EMR release version such as emr-5.14.0 . For more information about Amazon EMR release versions and included application versions and features, see . The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion .



219
220
221
# File 'emr/cfn_cluster_props.rb', line 219

def release_label
  @release_label
end

#scale_down_behaviorString? (readonly)

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.

TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.



226
227
228
# File 'emr/cfn_cluster_props.rb', line 226

def scale_down_behavior
  @scale_down_behavior
end

#security_configurationString? (readonly)

The name of the security configuration applied to the cluster.



231
232
233
# File 'emr/cfn_cluster_props.rb', line 231

def security_configuration
  @security_configuration
end

#service_roleString (readonly)

The IAM role that Amazon EMR assumes in order to access AWS resources on your behalf.



116
117
118
# File 'emr/cfn_cluster_props.rb', line 116

def service_role
  @service_role
end

#step_concurrency_levelNumeric? (readonly)

Specifies the number of steps that can be executed concurrently.

The default value is 1 . The maximum value is 256 .



238
239
240
# File 'emr/cfn_cluster_props.rb', line 238

def step_concurrency_level
  @step_concurrency_level
end

#stepsAWSCDK::IResolvable, ... (readonly)

A list of steps to run.



243
244
245
# File 'emr/cfn_cluster_props.rb', line 243

def steps
  @steps
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

A list of tags associated with a cluster.



248
249
250
# File 'emr/cfn_cluster_props.rb', line 248

def tags
  @tags
end

#visible_to_all_usersBoolean, ... (readonly)

Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster.

If this value is set to true , all IAM users of that AWS account can view and manage the cluster if they have the proper policy permissions set. If this value is false , only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

When you create clusters directly through the EMR console or API, this value is set to true by default. However, for AWS::EMR::Cluster resources in CloudFormation, the default is false .



257
258
259
# File 'emr/cfn_cluster_props.rb', line 257

def visible_to_all_users
  @visible_to_all_users
end

Class Method Details

.jsii_propertiesObject



259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
# File 'emr/cfn_cluster_props.rb', line 259

def self.jsii_properties
  {
    :instances => "instances",
    :job_flow_role => "jobFlowRole",
    :name => "name",
    :service_role => "serviceRole",
    :additional_info => "additionalInfo",
    :applications => "applications",
    :auto_scaling_role => "autoScalingRole",
    :auto_termination_policy => "autoTerminationPolicy",
    :bootstrap_actions => "bootstrapActions",
    :configurations => "configurations",
    :custom_ami_id => "customAmiId",
    :ebs_root_volume_iops => "ebsRootVolumeIops",
    :ebs_root_volume_size => "ebsRootVolumeSize",
    :ebs_root_volume_throughput => "ebsRootVolumeThroughput",
    :kerberos_attributes => "kerberosAttributes",
    :log_encryption_kms_key_id => "logEncryptionKmsKeyId",
    :log_uri => "logUri",
    :managed_scaling_policy => "managedScalingPolicy",
    :os_release_label => "osReleaseLabel",
    :placement_group_configs => "placementGroupConfigs",
    :release_label => "releaseLabel",
    :scale_down_behavior => "scaleDownBehavior",
    :security_configuration => "securityConfiguration",
    :step_concurrency_level => "stepConcurrencyLevel",
    :steps => "steps",
    :tags => "tags",
    :visible_to_all_users => "visibleToAllUsers",
  }
end

Instance Method Details

#to_jsiiObject



291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# File 'emr/cfn_cluster_props.rb', line 291

def to_jsii
  result = {}
  result.merge!({
    "instances" => @instances,
    "jobFlowRole" => @job_flow_role,
    "name" => @name,
    "serviceRole" => @service_role,
    "additionalInfo" => @additional_info,
    "applications" => @applications,
    "autoScalingRole" => @auto_scaling_role,
    "autoTerminationPolicy" => @auto_termination_policy,
    "bootstrapActions" => @bootstrap_actions,
    "configurations" => @configurations,
    "customAmiId" => @custom_ami_id,
    "ebsRootVolumeIops" => @ebs_root_volume_iops,
    "ebsRootVolumeSize" => @ebs_root_volume_size,
    "ebsRootVolumeThroughput" => @ebs_root_volume_throughput,
    "kerberosAttributes" => @kerberos_attributes,
    "logEncryptionKmsKeyId" => @log_encryption_kms_key_id,
    "logUri" => @log_uri,
    "managedScalingPolicy" => @managed_scaling_policy,
    "osReleaseLabel" => @os_release_label,
    "placementGroupConfigs" => @placement_group_configs,
    "releaseLabel" => @release_label,
    "scaleDownBehavior" => @scale_down_behavior,
    "securityConfiguration" => @security_configuration,
    "stepConcurrencyLevel" => @step_concurrency_level,
    "steps" => @steps,
    "tags" => @tags,
    "visibleToAllUsers" => @visible_to_all_users,
  })
  result.compact
end