Class: AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstancesConfigProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstancesConfigProperty
- Defined in:
- step_functions_tasks/emr_create_cluster.rb
Overview
A specification of the number and type of Amazon EC2 instances.
See the RunJobFlow API for complete documentation on input parameters
Instance Attribute Summary collapse
-
#additional_master_security_groups ⇒ Array<String>?
readonly
A list of additional Amazon EC2 security group IDs for the master node.
-
#additional_slave_security_groups ⇒ Array<String>?
readonly
A list of additional Amazon EC2 security group IDs for the core and task nodes.
-
#ec2_key_name ⇒ String?
readonly
The name of the EC2 key pair that can be used to ssh to the master node as the user called "hadoop.".
-
#ec2_subnet_id ⇒ String?
readonly
Applies to clusters that use the uniform instance group configuration.
-
#ec2_subnet_ids ⇒ Array<String>?
readonly
Applies to clusters that use the instance fleet configuration.
-
#emr_managed_master_security_group ⇒ String?
readonly
The identifier of the Amazon EC2 security group for the master node.
-
#emr_managed_slave_security_group ⇒ String?
readonly
The identifier of the Amazon EC2 security group for the core and task nodes.
-
#hadoop_version ⇒ String?
readonly
Applies only to Amazon EMR release versions earlier than 4.0.
-
#instance_count ⇒ Numeric?
readonly
The number of EC2 instances in the cluster.
-
#instance_fleets ⇒ Array<AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceFleetConfigProperty>?
readonly
Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.
-
#instance_groups ⇒ Array<AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceGroupConfigProperty>?
readonly
Configuration for the instance groups in a cluster.
-
#master_instance_type ⇒ String?
readonly
The EC2 instance type of the master node.
-
#placement ⇒ AWSCDK::StepFunctionsTasks::EMRCreateCluster::PlacementTypeProperty?
readonly
The Availability Zone in which the cluster runs.
-
#service_access_security_group ⇒ String?
readonly
The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
-
#slave_instance_type ⇒ String?
readonly
The EC2 instance type of the core and task nodes.
-
#termination_protected ⇒ Boolean?
readonly
Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(additional_master_security_groups: nil, additional_slave_security_groups: nil, ec2_key_name: nil, ec2_subnet_id: nil, ec2_subnet_ids: nil, emr_managed_master_security_group: nil, emr_managed_slave_security_group: nil, hadoop_version: nil, instance_count: nil, instance_fleets: nil, instance_groups: nil, master_instance_type: nil, placement: nil, service_access_security_group: nil, slave_instance_type: nil, termination_protected: nil) ⇒ InstancesConfigProperty
constructor
A new instance of InstancesConfigProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(additional_master_security_groups: nil, additional_slave_security_groups: nil, ec2_key_name: nil, ec2_subnet_id: nil, ec2_subnet_ids: nil, emr_managed_master_security_group: nil, emr_managed_slave_security_group: nil, hadoop_version: nil, instance_count: nil, instance_fleets: nil, instance_groups: nil, master_instance_type: nil, placement: nil, service_access_security_group: nil, slave_instance_type: nil, termination_protected: nil) ⇒ InstancesConfigProperty
Returns a new instance of InstancesConfigProperty.
1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1764 def initialize(additional_master_security_groups: nil, additional_slave_security_groups: nil, ec2_key_name: nil, ec2_subnet_id: nil, ec2_subnet_ids: nil, emr_managed_master_security_group: nil, emr_managed_slave_security_group: nil, hadoop_version: nil, instance_count: nil, instance_fleets: nil, instance_groups: nil, master_instance_type: nil, placement: nil, service_access_security_group: nil, slave_instance_type: nil, termination_protected: nil) @additional_master_security_groups = additional_master_security_groups Jsii::Type.check_type(@additional_master_security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "additionalMasterSecurityGroups") unless @additional_master_security_groups.nil? @additional_slave_security_groups = additional_slave_security_groups Jsii::Type.check_type(@additional_slave_security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "additionalSlaveSecurityGroups") unless @additional_slave_security_groups.nil? @ec2_key_name = ec2_key_name Jsii::Type.check_type(@ec2_key_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ec2KeyName") unless @ec2_key_name.nil? @ec2_subnet_id = ec2_subnet_id Jsii::Type.check_type(@ec2_subnet_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ec2SubnetId") unless @ec2_subnet_id.nil? @ec2_subnet_ids = ec2_subnet_ids Jsii::Type.check_type(@ec2_subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "ec2SubnetIds") unless @ec2_subnet_ids.nil? @emr_managed_master_security_group = emr_managed_master_security_group Jsii::Type.check_type(@emr_managed_master_security_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "emrManagedMasterSecurityGroup") unless @emr_managed_master_security_group.nil? @emr_managed_slave_security_group = emr_managed_slave_security_group Jsii::Type.check_type(@emr_managed_slave_security_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "emrManagedSlaveSecurityGroup") unless @emr_managed_slave_security_group.nil? @hadoop_version = hadoop_version Jsii::Type.check_type(@hadoop_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hadoopVersion") unless @hadoop_version.nil? @instance_count = instance_count Jsii::Type.check_type(@instance_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "instanceCount") unless @instance_count.nil? @instance_fleets = instance_fleets.is_a?(Array) ? instance_fleets.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceFleetConfigProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : instance_fleets Jsii::Type.check_type(@instance_fleets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zX3Rhc2tzLkVtckNyZWF0ZUNsdXN0ZXIuSW5zdGFuY2VGbGVldENvbmZpZ1Byb3BlcnR5In0sImtpbmQiOiJhcnJheSJ9fQ==")), "instanceFleets") unless @instance_fleets.nil? @instance_groups = instance_groups.is_a?(Array) ? instance_groups.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceGroupConfigProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : instance_groups Jsii::Type.check_type(@instance_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zX3Rhc2tzLkVtckNyZWF0ZUNsdXN0ZXIuSW5zdGFuY2VHcm91cENvbmZpZ1Byb3BlcnR5In0sImtpbmQiOiJhcnJheSJ9fQ==")), "instanceGroups") unless @instance_groups.nil? @master_instance_type = master_instance_type Jsii::Type.check_type(@master_instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterInstanceType") unless @master_instance_type.nil? @placement = placement.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::PlacementTypeProperty.new(**placement.transform_keys(&:to_sym)) : placement Jsii::Type.check_type(@placement, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLlBsYWNlbWVudFR5cGVQcm9wZXJ0eSJ9")), "placement") unless @placement.nil? @service_access_security_group = service_access_security_group Jsii::Type.check_type(@service_access_security_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceAccessSecurityGroup") unless @service_access_security_group.nil? @slave_instance_type = slave_instance_type Jsii::Type.check_type(@slave_instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "slaveInstanceType") unless @slave_instance_type.nil? @termination_protected = termination_protected Jsii::Type.check_type(@termination_protected, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "terminationProtected") unless @termination_protected.nil? end |
Instance Attribute Details
#additional_master_security_groups ⇒ Array<String>? (readonly)
Default: - None
A list of additional Amazon EC2 security group IDs for the master node.
1803 1804 1805 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1803 def additional_master_security_groups @additional_master_security_groups end |
#additional_slave_security_groups ⇒ Array<String>? (readonly)
Default: - None
A list of additional Amazon EC2 security group IDs for the core and task nodes.
1808 1809 1810 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1808 def additional_slave_security_groups @additional_slave_security_groups end |
#ec2_key_name ⇒ String? (readonly)
Default: - None
The name of the EC2 key pair that can be used to ssh to the master node as the user called "hadoop.".
1813 1814 1815 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1813 def ec2_key_name @ec2_key_name end |
#ec2_subnet_id ⇒ String? (readonly)
Default: EMR selected default
Applies to clusters that use the uniform instance group configuration.
To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch.
1821 1822 1823 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1821 def ec2_subnet_id @ec2_subnet_id end |
#ec2_subnet_ids ⇒ Array<String>? (readonly)
Default: EMR selected default
Applies to clusters that use the instance fleet configuration.
When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.
1829 1830 1831 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1829 def ec2_subnet_ids @ec2_subnet_ids end |
#emr_managed_master_security_group ⇒ String? (readonly)
Default: - None
The identifier of the Amazon EC2 security group for the master node.
1834 1835 1836 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1834 def emr_managed_master_security_group @emr_managed_master_security_group end |
#emr_managed_slave_security_group ⇒ String? (readonly)
Default: - None
The identifier of the Amazon EC2 security group for the core and task nodes.
1839 1840 1841 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1839 def emr_managed_slave_security_group @emr_managed_slave_security_group end |
#hadoop_version ⇒ String? (readonly)
Default: - 0.18 if the AmiVersion parameter is not set. If AmiVersion is set, the version of Hadoop for that AMI version is used.
Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster.
1844 1845 1846 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1844 def hadoop_version @hadoop_version end |
#instance_count ⇒ Numeric? (readonly)
Default: 0
The number of EC2 instances in the cluster.
1849 1850 1851 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1849 def instance_count @instance_count end |
#instance_fleets ⇒ Array<AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceFleetConfigProperty>? (readonly)
Default: - None
Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.
The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.
1856 1857 1858 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1856 def instance_fleets @instance_fleets end |
#instance_groups ⇒ Array<AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceGroupConfigProperty>? (readonly)
Default: - None
Configuration for the instance groups in a cluster.
1861 1862 1863 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1861 def instance_groups @instance_groups end |
#master_instance_type ⇒ String? (readonly)
Default: - None
The EC2 instance type of the master node.
1866 1867 1868 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1866 def master_instance_type @master_instance_type end |
#placement ⇒ AWSCDK::StepFunctionsTasks::EMRCreateCluster::PlacementTypeProperty? (readonly)
Default: - EMR selected default
The Availability Zone in which the cluster runs.
1871 1872 1873 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1871 def placement @placement end |
#service_access_security_group ⇒ String? (readonly)
Default: - None
The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
1876 1877 1878 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1876 def service_access_security_group @service_access_security_group end |
#slave_instance_type ⇒ String? (readonly)
Default: - None
The EC2 instance type of the core and task nodes.
1881 1882 1883 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1881 def slave_instance_type @slave_instance_type end |
#termination_protected ⇒ Boolean? (readonly)
Default: false
Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.
1886 1887 1888 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1886 def termination_protected @termination_protected end |
Class Method Details
.jsii_properties ⇒ Object
1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1888 def self.jsii_properties { :additional_master_security_groups => "additionalMasterSecurityGroups", :additional_slave_security_groups => "additionalSlaveSecurityGroups", :ec2_key_name => "ec2KeyName", :ec2_subnet_id => "ec2SubnetId", :ec2_subnet_ids => "ec2SubnetIds", :emr_managed_master_security_group => "emrManagedMasterSecurityGroup", :emr_managed_slave_security_group => "emrManagedSlaveSecurityGroup", :hadoop_version => "hadoopVersion", :instance_count => "instanceCount", :instance_fleets => "instanceFleets", :instance_groups => "instanceGroups", :master_instance_type => "masterInstanceType", :placement => "placement", :service_access_security_group => "serviceAccessSecurityGroup", :slave_instance_type => "slaveInstanceType", :termination_protected => "terminationProtected", } end |
Instance Method Details
#to_jsii ⇒ Object
1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 |
# File 'step_functions_tasks/emr_create_cluster.rb', line 1909 def to_jsii result = {} result.merge!({ "additionalMasterSecurityGroups" => @additional_master_security_groups, "additionalSlaveSecurityGroups" => @additional_slave_security_groups, "ec2KeyName" => @ec2_key_name, "ec2SubnetId" => @ec2_subnet_id, "ec2SubnetIds" => @ec2_subnet_ids, "emrManagedMasterSecurityGroup" => @emr_managed_master_security_group, "emrManagedSlaveSecurityGroup" => @emr_managed_slave_security_group, "hadoopVersion" => @hadoop_version, "instanceCount" => @instance_count, "instanceFleets" => @instance_fleets, "instanceGroups" => @instance_groups, "masterInstanceType" => @master_instance_type, "placement" => @placement, "serviceAccessSecurityGroup" => @service_access_security_group, "slaveInstanceType" => @slave_instance_type, "terminationProtected" => @termination_protected, }) result.compact end |