amazonka-emr-2.0: Amazon EMR SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.EMR.Types.JobFlowInstancesConfig

Description

 
Synopsis

Documentation

data JobFlowInstancesConfig Source #

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

See: newJobFlowInstancesConfig smart constructor.

Constructors

JobFlowInstancesConfig' 

Fields

  • additionalMasterSecurityGroups :: Maybe [Text]

    A list of additional Amazon EC2 security group IDs for the master node.

  • additionalSlaveSecurityGroups :: Maybe [Text]

    A list of additional Amazon EC2 security group IDs for the core and task nodes.

  • ec2KeyName :: Maybe Text

    The name of the EC2 key pair that can be used to connect to the master node using SSH as the user called "hadoop."

  • ec2SubnetId :: Maybe Text

    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. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

  • ec2SubnetIds :: Maybe [Text]

    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.

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

  • emrManagedMasterSecurityGroup :: Maybe Text

    The identifier of the Amazon EC2 security group for the master node. If you specify EmrManagedMasterSecurityGroup, you must also specify EmrManagedSlaveSecurityGroup.

  • emrManagedSlaveSecurityGroup :: Maybe Text

    The identifier of the Amazon EC2 security group for the core and task nodes. If you specify EmrManagedSlaveSecurityGroup, you must also specify EmrManagedMasterSecurityGroup.

  • hadoopVersion :: Maybe Text

    Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

  • instanceCount :: Maybe Int

    The number of EC2 instances in the cluster.

  • instanceFleets :: Maybe [InstanceFleetConfig]

    The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

    Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

  • instanceGroups :: Maybe [InstanceGroupConfig]

    Configuration for the instance groups in a cluster.

  • keepJobFlowAliveWhenNoSteps :: Maybe Bool

    Specifies whether the cluster should remain available after completing all steps. Defaults to true. For more information about configuring cluster termination, see Control Cluster Termination in the EMR Management Guide.

  • masterInstanceType :: Maybe Text

    The EC2 instance type of the master node.

  • placement :: Maybe PlacementType

    The Availability Zone in which the cluster runs.

  • serviceAccessSecurityGroup :: Maybe Text

    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

  • slaveInstanceType :: Maybe Text

    The EC2 instance type of the core and task nodes.

  • terminationProtected :: Maybe Bool

    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.

Instances

Instances details
ToJSON JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

Generic JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

Associated Types

type Rep JobFlowInstancesConfig :: Type -> Type #

Read JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

Show JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

NFData JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

Methods

rnf :: JobFlowInstancesConfig -> () #

Eq JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

Hashable JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

type Rep JobFlowInstancesConfig Source # 
Instance details

Defined in Amazonka.EMR.Types.JobFlowInstancesConfig

type Rep JobFlowInstancesConfig = D1 ('MetaData "JobFlowInstancesConfig" "Amazonka.EMR.Types.JobFlowInstancesConfig" "amazonka-emr-2.0-B3cWhP6sdymF3IBUMdPGcd" 'False) (C1 ('MetaCons "JobFlowInstancesConfig'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "additionalMasterSecurityGroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 ('MetaSel ('Just "additionalSlaveSecurityGroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text]))) :*: (S1 ('MetaSel ('Just "ec2KeyName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "ec2SubnetId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "ec2SubnetIds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 ('MetaSel ('Just "emrManagedMasterSecurityGroup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "emrManagedSlaveSecurityGroup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "hadoopVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: (((S1 ('MetaSel ('Just "instanceCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "instanceFleets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [InstanceFleetConfig]))) :*: (S1 ('MetaSel ('Just "instanceGroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [InstanceGroupConfig])) :*: S1 ('MetaSel ('Just "keepJobFlowAliveWhenNoSteps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))) :*: ((S1 ('MetaSel ('Just "masterInstanceType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "placement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PlacementType))) :*: (S1 ('MetaSel ('Just "serviceAccessSecurityGroup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "slaveInstanceType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "terminationProtected") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))))))))

newJobFlowInstancesConfig :: JobFlowInstancesConfig Source #

Create a value of JobFlowInstancesConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:additionalMasterSecurityGroups:JobFlowInstancesConfig', jobFlowInstancesConfig_additionalMasterSecurityGroups - A list of additional Amazon EC2 security group IDs for the master node.

$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig', jobFlowInstancesConfig_additionalSlaveSecurityGroups - A list of additional Amazon EC2 security group IDs for the core and task nodes.

$sel:ec2KeyName:JobFlowInstancesConfig', jobFlowInstancesConfig_ec2KeyName - The name of the EC2 key pair that can be used to connect to the master node using SSH as the user called "hadoop."

$sel:ec2SubnetId:JobFlowInstancesConfig', jobFlowInstancesConfig_ec2SubnetId - 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. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

$sel:ec2SubnetIds:JobFlowInstancesConfig', jobFlowInstancesConfig_ec2SubnetIds - 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.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig', jobFlowInstancesConfig_emrManagedMasterSecurityGroup - The identifier of the Amazon EC2 security group for the master node. If you specify EmrManagedMasterSecurityGroup, you must also specify EmrManagedSlaveSecurityGroup.

$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig', jobFlowInstancesConfig_emrManagedSlaveSecurityGroup - The identifier of the Amazon EC2 security group for the core and task nodes. If you specify EmrManagedSlaveSecurityGroup, you must also specify EmrManagedMasterSecurityGroup.

$sel:hadoopVersion:JobFlowInstancesConfig', jobFlowInstancesConfig_hadoopVersion - Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

JobFlowInstancesConfig, jobFlowInstancesConfig_instanceCount - The number of EC2 instances in the cluster.

$sel:instanceFleets:JobFlowInstancesConfig', jobFlowInstancesConfig_instanceFleets - The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

$sel:instanceGroups:JobFlowInstancesConfig', jobFlowInstancesConfig_instanceGroups - Configuration for the instance groups in a cluster.

$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig', jobFlowInstancesConfig_keepJobFlowAliveWhenNoSteps - Specifies whether the cluster should remain available after completing all steps. Defaults to true. For more information about configuring cluster termination, see Control Cluster Termination in the EMR Management Guide.

$sel:masterInstanceType:JobFlowInstancesConfig', jobFlowInstancesConfig_masterInstanceType - The EC2 instance type of the master node.

$sel:placement:JobFlowInstancesConfig', jobFlowInstancesConfig_placement - The Availability Zone in which the cluster runs.

$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig', jobFlowInstancesConfig_serviceAccessSecurityGroup - The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

$sel:slaveInstanceType:JobFlowInstancesConfig', jobFlowInstancesConfig_slaveInstanceType - The EC2 instance type of the core and task nodes.

$sel:terminationProtected:JobFlowInstancesConfig', jobFlowInstancesConfig_terminationProtected - 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.

jobFlowInstancesConfig_additionalMasterSecurityGroups :: Lens' JobFlowInstancesConfig (Maybe [Text]) Source #

A list of additional Amazon EC2 security group IDs for the master node.

jobFlowInstancesConfig_additionalSlaveSecurityGroups :: Lens' JobFlowInstancesConfig (Maybe [Text]) Source #

A list of additional Amazon EC2 security group IDs for the core and task nodes.

jobFlowInstancesConfig_ec2KeyName :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

The name of the EC2 key pair that can be used to connect to the master node using SSH as the user called "hadoop."

jobFlowInstancesConfig_ec2SubnetId :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

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. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

jobFlowInstancesConfig_ec2SubnetIds :: Lens' JobFlowInstancesConfig (Maybe [Text]) Source #

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.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

jobFlowInstancesConfig_emrManagedMasterSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

The identifier of the Amazon EC2 security group for the master node. If you specify EmrManagedMasterSecurityGroup, you must also specify EmrManagedSlaveSecurityGroup.

jobFlowInstancesConfig_emrManagedSlaveSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

The identifier of the Amazon EC2 security group for the core and task nodes. If you specify EmrManagedSlaveSecurityGroup, you must also specify EmrManagedMasterSecurityGroup.

jobFlowInstancesConfig_hadoopVersion :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

jobFlowInstancesConfig_instanceCount :: Lens' JobFlowInstancesConfig (Maybe Int) Source #

The number of EC2 instances in the cluster.

jobFlowInstancesConfig_instanceFleets :: Lens' JobFlowInstancesConfig (Maybe [InstanceFleetConfig]) Source #

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

jobFlowInstancesConfig_instanceGroups :: Lens' JobFlowInstancesConfig (Maybe [InstanceGroupConfig]) Source #

Configuration for the instance groups in a cluster.

jobFlowInstancesConfig_keepJobFlowAliveWhenNoSteps :: Lens' JobFlowInstancesConfig (Maybe Bool) Source #

Specifies whether the cluster should remain available after completing all steps. Defaults to true. For more information about configuring cluster termination, see Control Cluster Termination in the EMR Management Guide.

jobFlowInstancesConfig_placement :: Lens' JobFlowInstancesConfig (Maybe PlacementType) Source #

The Availability Zone in which the cluster runs.

jobFlowInstancesConfig_serviceAccessSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

jobFlowInstancesConfig_slaveInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text) Source #

The EC2 instance type of the core and task nodes.

jobFlowInstancesConfig_terminationProtected :: Lens' JobFlowInstancesConfig (Maybe Bool) Source #

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.