{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EMR.Types.JobFlowInstancesConfig where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EMR.Types.InstanceFleetConfig
import Amazonka.EMR.Types.InstanceGroupConfig
import Amazonka.EMR.Types.PlacementType
import qualified Amazonka.Prelude as Prelude
data JobFlowInstancesConfig = JobFlowInstancesConfig'
{
JobFlowInstancesConfig -> Maybe [Text]
additionalMasterSecurityGroups :: Prelude.Maybe [Prelude.Text],
JobFlowInstancesConfig -> Maybe [Text]
additionalSlaveSecurityGroups :: Prelude.Maybe [Prelude.Text],
JobFlowInstancesConfig -> Maybe Text
ec2KeyName :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe Text
ec2SubnetId :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe [Text]
ec2SubnetIds :: Prelude.Maybe [Prelude.Text],
JobFlowInstancesConfig -> Maybe Text
emrManagedMasterSecurityGroup :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe Text
emrManagedSlaveSecurityGroup :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe Text
hadoopVersion :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe Int
instanceCount :: Prelude.Maybe Prelude.Int,
JobFlowInstancesConfig -> Maybe [InstanceFleetConfig]
instanceFleets :: Prelude.Maybe [InstanceFleetConfig],
JobFlowInstancesConfig -> Maybe [InstanceGroupConfig]
instanceGroups :: Prelude.Maybe [InstanceGroupConfig],
JobFlowInstancesConfig -> Maybe Bool
keepJobFlowAliveWhenNoSteps :: Prelude.Maybe Prelude.Bool,
JobFlowInstancesConfig -> Maybe Text
masterInstanceType :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe PlacementType
placement :: Prelude.Maybe PlacementType,
JobFlowInstancesConfig -> Maybe Text
serviceAccessSecurityGroup :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe Text
slaveInstanceType :: Prelude.Maybe Prelude.Text,
JobFlowInstancesConfig -> Maybe Bool
terminationProtected :: Prelude.Maybe Prelude.Bool
}
deriving (JobFlowInstancesConfig -> JobFlowInstancesConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JobFlowInstancesConfig -> JobFlowInstancesConfig -> Bool
$c/= :: JobFlowInstancesConfig -> JobFlowInstancesConfig -> Bool
== :: JobFlowInstancesConfig -> JobFlowInstancesConfig -> Bool
$c== :: JobFlowInstancesConfig -> JobFlowInstancesConfig -> Bool
Prelude.Eq, ReadPrec [JobFlowInstancesConfig]
ReadPrec JobFlowInstancesConfig
Int -> ReadS JobFlowInstancesConfig
ReadS [JobFlowInstancesConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [JobFlowInstancesConfig]
$creadListPrec :: ReadPrec [JobFlowInstancesConfig]
readPrec :: ReadPrec JobFlowInstancesConfig
$creadPrec :: ReadPrec JobFlowInstancesConfig
readList :: ReadS [JobFlowInstancesConfig]
$creadList :: ReadS [JobFlowInstancesConfig]
readsPrec :: Int -> ReadS JobFlowInstancesConfig
$creadsPrec :: Int -> ReadS JobFlowInstancesConfig
Prelude.Read, Int -> JobFlowInstancesConfig -> ShowS
[JobFlowInstancesConfig] -> ShowS
JobFlowInstancesConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JobFlowInstancesConfig] -> ShowS
$cshowList :: [JobFlowInstancesConfig] -> ShowS
show :: JobFlowInstancesConfig -> String
$cshow :: JobFlowInstancesConfig -> String
showsPrec :: Int -> JobFlowInstancesConfig -> ShowS
$cshowsPrec :: Int -> JobFlowInstancesConfig -> ShowS
Prelude.Show, forall x. Rep JobFlowInstancesConfig x -> JobFlowInstancesConfig
forall x. JobFlowInstancesConfig -> Rep JobFlowInstancesConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep JobFlowInstancesConfig x -> JobFlowInstancesConfig
$cfrom :: forall x. JobFlowInstancesConfig -> Rep JobFlowInstancesConfig x
Prelude.Generic)
newJobFlowInstancesConfig ::
JobFlowInstancesConfig
newJobFlowInstancesConfig :: JobFlowInstancesConfig
newJobFlowInstancesConfig =
JobFlowInstancesConfig'
{ $sel:additionalMasterSecurityGroups:JobFlowInstancesConfig' :: Maybe [Text]
additionalMasterSecurityGroups =
forall a. Maybe a
Prelude.Nothing,
$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig' :: Maybe [Text]
additionalSlaveSecurityGroups = forall a. Maybe a
Prelude.Nothing,
$sel:ec2KeyName:JobFlowInstancesConfig' :: Maybe Text
ec2KeyName = forall a. Maybe a
Prelude.Nothing,
$sel:ec2SubnetId:JobFlowInstancesConfig' :: Maybe Text
ec2SubnetId = forall a. Maybe a
Prelude.Nothing,
$sel:ec2SubnetIds:JobFlowInstancesConfig' :: Maybe [Text]
ec2SubnetIds = forall a. Maybe a
Prelude.Nothing,
$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig' :: Maybe Text
emrManagedMasterSecurityGroup = forall a. Maybe a
Prelude.Nothing,
$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig' :: Maybe Text
emrManagedSlaveSecurityGroup = forall a. Maybe a
Prelude.Nothing,
$sel:hadoopVersion:JobFlowInstancesConfig' :: Maybe Text
hadoopVersion = forall a. Maybe a
Prelude.Nothing,
$sel:instanceCount:JobFlowInstancesConfig' :: Maybe Int
instanceCount = forall a. Maybe a
Prelude.Nothing,
$sel:instanceFleets:JobFlowInstancesConfig' :: Maybe [InstanceFleetConfig]
instanceFleets = forall a. Maybe a
Prelude.Nothing,
$sel:instanceGroups:JobFlowInstancesConfig' :: Maybe [InstanceGroupConfig]
instanceGroups = forall a. Maybe a
Prelude.Nothing,
$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig' :: Maybe Bool
keepJobFlowAliveWhenNoSteps = forall a. Maybe a
Prelude.Nothing,
$sel:masterInstanceType:JobFlowInstancesConfig' :: Maybe Text
masterInstanceType = forall a. Maybe a
Prelude.Nothing,
$sel:placement:JobFlowInstancesConfig' :: Maybe PlacementType
placement = forall a. Maybe a
Prelude.Nothing,
$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig' :: Maybe Text
serviceAccessSecurityGroup = forall a. Maybe a
Prelude.Nothing,
$sel:slaveInstanceType:JobFlowInstancesConfig' :: Maybe Text
slaveInstanceType = forall a. Maybe a
Prelude.Nothing,
$sel:terminationProtected:JobFlowInstancesConfig' :: Maybe Bool
terminationProtected = forall a. Maybe a
Prelude.Nothing
}
jobFlowInstancesConfig_additionalMasterSecurityGroups :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe [Prelude.Text])
jobFlowInstancesConfig_additionalMasterSecurityGroups :: Lens' JobFlowInstancesConfig (Maybe [Text])
jobFlowInstancesConfig_additionalMasterSecurityGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe [Text]
additionalMasterSecurityGroups :: Maybe [Text]
$sel:additionalMasterSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
additionalMasterSecurityGroups} -> Maybe [Text]
additionalMasterSecurityGroups) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe [Text]
a -> JobFlowInstancesConfig
s {$sel:additionalMasterSecurityGroups:JobFlowInstancesConfig' :: Maybe [Text]
additionalMasterSecurityGroups = Maybe [Text]
a} :: JobFlowInstancesConfig) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobFlowInstancesConfig_additionalSlaveSecurityGroups :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe [Prelude.Text])
jobFlowInstancesConfig_additionalSlaveSecurityGroups :: Lens' JobFlowInstancesConfig (Maybe [Text])
jobFlowInstancesConfig_additionalSlaveSecurityGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe [Text]
additionalSlaveSecurityGroups :: Maybe [Text]
$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
additionalSlaveSecurityGroups} -> Maybe [Text]
additionalSlaveSecurityGroups) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe [Text]
a -> JobFlowInstancesConfig
s {$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig' :: Maybe [Text]
additionalSlaveSecurityGroups = Maybe [Text]
a} :: JobFlowInstancesConfig) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobFlowInstancesConfig_ec2KeyName :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_ec2KeyName :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_ec2KeyName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
ec2KeyName :: Maybe Text
$sel:ec2KeyName:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
ec2KeyName} -> Maybe Text
ec2KeyName) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:ec2KeyName:JobFlowInstancesConfig' :: Maybe Text
ec2KeyName = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_ec2SubnetId :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_ec2SubnetId :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_ec2SubnetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
ec2SubnetId :: Maybe Text
$sel:ec2SubnetId:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
ec2SubnetId} -> Maybe Text
ec2SubnetId) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:ec2SubnetId:JobFlowInstancesConfig' :: Maybe Text
ec2SubnetId = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_ec2SubnetIds :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe [Prelude.Text])
jobFlowInstancesConfig_ec2SubnetIds :: Lens' JobFlowInstancesConfig (Maybe [Text])
jobFlowInstancesConfig_ec2SubnetIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe [Text]
ec2SubnetIds :: Maybe [Text]
$sel:ec2SubnetIds:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
ec2SubnetIds} -> Maybe [Text]
ec2SubnetIds) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe [Text]
a -> JobFlowInstancesConfig
s {$sel:ec2SubnetIds:JobFlowInstancesConfig' :: Maybe [Text]
ec2SubnetIds = Maybe [Text]
a} :: JobFlowInstancesConfig) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobFlowInstancesConfig_emrManagedMasterSecurityGroup :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_emrManagedMasterSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_emrManagedMasterSecurityGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
emrManagedMasterSecurityGroup :: Maybe Text
$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
emrManagedMasterSecurityGroup} -> Maybe Text
emrManagedMasterSecurityGroup) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig' :: Maybe Text
emrManagedMasterSecurityGroup = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_emrManagedSlaveSecurityGroup :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_emrManagedSlaveSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_emrManagedSlaveSecurityGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
emrManagedSlaveSecurityGroup :: Maybe Text
$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
emrManagedSlaveSecurityGroup} -> Maybe Text
emrManagedSlaveSecurityGroup) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig' :: Maybe Text
emrManagedSlaveSecurityGroup = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_hadoopVersion :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_hadoopVersion :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_hadoopVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
hadoopVersion :: Maybe Text
$sel:hadoopVersion:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
hadoopVersion} -> Maybe Text
hadoopVersion) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:hadoopVersion:JobFlowInstancesConfig' :: Maybe Text
hadoopVersion = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_instanceCount :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Int)
jobFlowInstancesConfig_instanceCount :: Lens' JobFlowInstancesConfig (Maybe Int)
jobFlowInstancesConfig_instanceCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Int
instanceCount :: Maybe Int
$sel:instanceCount:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Int
instanceCount} -> Maybe Int
instanceCount) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Int
a -> JobFlowInstancesConfig
s {$sel:instanceCount:JobFlowInstancesConfig' :: Maybe Int
instanceCount = Maybe Int
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_instanceFleets :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe [InstanceFleetConfig])
jobFlowInstancesConfig_instanceFleets :: Lens' JobFlowInstancesConfig (Maybe [InstanceFleetConfig])
jobFlowInstancesConfig_instanceFleets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe [InstanceFleetConfig]
instanceFleets :: Maybe [InstanceFleetConfig]
$sel:instanceFleets:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceFleetConfig]
instanceFleets} -> Maybe [InstanceFleetConfig]
instanceFleets) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe [InstanceFleetConfig]
a -> JobFlowInstancesConfig
s {$sel:instanceFleets:JobFlowInstancesConfig' :: Maybe [InstanceFleetConfig]
instanceFleets = Maybe [InstanceFleetConfig]
a} :: JobFlowInstancesConfig) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobFlowInstancesConfig_instanceGroups :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe [InstanceGroupConfig])
jobFlowInstancesConfig_instanceGroups :: Lens' JobFlowInstancesConfig (Maybe [InstanceGroupConfig])
jobFlowInstancesConfig_instanceGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe [InstanceGroupConfig]
instanceGroups :: Maybe [InstanceGroupConfig]
$sel:instanceGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceGroupConfig]
instanceGroups} -> Maybe [InstanceGroupConfig]
instanceGroups) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe [InstanceGroupConfig]
a -> JobFlowInstancesConfig
s {$sel:instanceGroups:JobFlowInstancesConfig' :: Maybe [InstanceGroupConfig]
instanceGroups = Maybe [InstanceGroupConfig]
a} :: JobFlowInstancesConfig) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobFlowInstancesConfig_keepJobFlowAliveWhenNoSteps :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Bool)
jobFlowInstancesConfig_keepJobFlowAliveWhenNoSteps :: Lens' JobFlowInstancesConfig (Maybe Bool)
jobFlowInstancesConfig_keepJobFlowAliveWhenNoSteps = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Bool
keepJobFlowAliveWhenNoSteps :: Maybe Bool
$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
keepJobFlowAliveWhenNoSteps} -> Maybe Bool
keepJobFlowAliveWhenNoSteps) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Bool
a -> JobFlowInstancesConfig
s {$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig' :: Maybe Bool
keepJobFlowAliveWhenNoSteps = Maybe Bool
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_masterInstanceType :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_masterInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_masterInstanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
masterInstanceType :: Maybe Text
$sel:masterInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
masterInstanceType} -> Maybe Text
masterInstanceType) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:masterInstanceType:JobFlowInstancesConfig' :: Maybe Text
masterInstanceType = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_placement :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe PlacementType)
jobFlowInstancesConfig_placement :: Lens' JobFlowInstancesConfig (Maybe PlacementType)
jobFlowInstancesConfig_placement = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe PlacementType
placement :: Maybe PlacementType
$sel:placement:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe PlacementType
placement} -> Maybe PlacementType
placement) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe PlacementType
a -> JobFlowInstancesConfig
s {$sel:placement:JobFlowInstancesConfig' :: Maybe PlacementType
placement = Maybe PlacementType
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_serviceAccessSecurityGroup :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_serviceAccessSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_serviceAccessSecurityGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
serviceAccessSecurityGroup :: Maybe Text
$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
serviceAccessSecurityGroup} -> Maybe Text
serviceAccessSecurityGroup) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig' :: Maybe Text
serviceAccessSecurityGroup = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_slaveInstanceType :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Text)
jobFlowInstancesConfig_slaveInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text)
jobFlowInstancesConfig_slaveInstanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Text
slaveInstanceType :: Maybe Text
$sel:slaveInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
slaveInstanceType} -> Maybe Text
slaveInstanceType) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Text
a -> JobFlowInstancesConfig
s {$sel:slaveInstanceType:JobFlowInstancesConfig' :: Maybe Text
slaveInstanceType = Maybe Text
a} :: JobFlowInstancesConfig)
jobFlowInstancesConfig_terminationProtected :: Lens.Lens' JobFlowInstancesConfig (Prelude.Maybe Prelude.Bool)
jobFlowInstancesConfig_terminationProtected :: Lens' JobFlowInstancesConfig (Maybe Bool)
jobFlowInstancesConfig_terminationProtected = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobFlowInstancesConfig' {Maybe Bool
terminationProtected :: Maybe Bool
$sel:terminationProtected:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
terminationProtected} -> Maybe Bool
terminationProtected) (\s :: JobFlowInstancesConfig
s@JobFlowInstancesConfig' {} Maybe Bool
a -> JobFlowInstancesConfig
s {$sel:terminationProtected:JobFlowInstancesConfig' :: Maybe Bool
terminationProtected = Maybe Bool
a} :: JobFlowInstancesConfig)
instance Prelude.Hashable JobFlowInstancesConfig where
hashWithSalt :: Int -> JobFlowInstancesConfig -> Int
hashWithSalt Int
_salt JobFlowInstancesConfig' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [InstanceFleetConfig]
Maybe [InstanceGroupConfig]
Maybe Text
Maybe PlacementType
terminationProtected :: Maybe Bool
slaveInstanceType :: Maybe Text
serviceAccessSecurityGroup :: Maybe Text
placement :: Maybe PlacementType
masterInstanceType :: Maybe Text
keepJobFlowAliveWhenNoSteps :: Maybe Bool
instanceGroups :: Maybe [InstanceGroupConfig]
instanceFleets :: Maybe [InstanceFleetConfig]
instanceCount :: Maybe Int
hadoopVersion :: Maybe Text
emrManagedSlaveSecurityGroup :: Maybe Text
emrManagedMasterSecurityGroup :: Maybe Text
ec2SubnetIds :: Maybe [Text]
ec2SubnetId :: Maybe Text
ec2KeyName :: Maybe Text
additionalSlaveSecurityGroups :: Maybe [Text]
additionalMasterSecurityGroups :: Maybe [Text]
$sel:terminationProtected:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
$sel:slaveInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:placement:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe PlacementType
$sel:masterInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
$sel:instanceGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceGroupConfig]
$sel:instanceFleets:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceFleetConfig]
$sel:instanceCount:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Int
$sel:hadoopVersion:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:ec2SubnetIds:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
$sel:ec2SubnetId:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:ec2KeyName:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
$sel:additionalMasterSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
additionalMasterSecurityGroups
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
additionalSlaveSecurityGroups
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ec2KeyName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ec2SubnetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
ec2SubnetIds
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
emrManagedMasterSecurityGroup
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
emrManagedSlaveSecurityGroup
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
hadoopVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
instanceCount
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [InstanceFleetConfig]
instanceFleets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [InstanceGroupConfig]
instanceGroups
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
keepJobFlowAliveWhenNoSteps
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
masterInstanceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PlacementType
placement
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serviceAccessSecurityGroup
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
slaveInstanceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
terminationProtected
instance Prelude.NFData JobFlowInstancesConfig where
rnf :: JobFlowInstancesConfig -> ()
rnf JobFlowInstancesConfig' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [InstanceFleetConfig]
Maybe [InstanceGroupConfig]
Maybe Text
Maybe PlacementType
terminationProtected :: Maybe Bool
slaveInstanceType :: Maybe Text
serviceAccessSecurityGroup :: Maybe Text
placement :: Maybe PlacementType
masterInstanceType :: Maybe Text
keepJobFlowAliveWhenNoSteps :: Maybe Bool
instanceGroups :: Maybe [InstanceGroupConfig]
instanceFleets :: Maybe [InstanceFleetConfig]
instanceCount :: Maybe Int
hadoopVersion :: Maybe Text
emrManagedSlaveSecurityGroup :: Maybe Text
emrManagedMasterSecurityGroup :: Maybe Text
ec2SubnetIds :: Maybe [Text]
ec2SubnetId :: Maybe Text
ec2KeyName :: Maybe Text
additionalSlaveSecurityGroups :: Maybe [Text]
additionalMasterSecurityGroups :: Maybe [Text]
$sel:terminationProtected:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
$sel:slaveInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:placement:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe PlacementType
$sel:masterInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
$sel:instanceGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceGroupConfig]
$sel:instanceFleets:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceFleetConfig]
$sel:instanceCount:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Int
$sel:hadoopVersion:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:ec2SubnetIds:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
$sel:ec2SubnetId:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:ec2KeyName:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
$sel:additionalMasterSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
additionalMasterSecurityGroups
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
additionalSlaveSecurityGroups
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ec2KeyName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ec2SubnetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
ec2SubnetIds
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
emrManagedMasterSecurityGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
emrManagedSlaveSecurityGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
hadoopVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instanceCount
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [InstanceFleetConfig]
instanceFleets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [InstanceGroupConfig]
instanceGroups
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
keepJobFlowAliveWhenNoSteps
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
masterInstanceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PlacementType
placement
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serviceAccessSecurityGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
slaveInstanceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
terminationProtected
instance Data.ToJSON JobFlowInstancesConfig where
toJSON :: JobFlowInstancesConfig -> Value
toJSON JobFlowInstancesConfig' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [InstanceFleetConfig]
Maybe [InstanceGroupConfig]
Maybe Text
Maybe PlacementType
terminationProtected :: Maybe Bool
slaveInstanceType :: Maybe Text
serviceAccessSecurityGroup :: Maybe Text
placement :: Maybe PlacementType
masterInstanceType :: Maybe Text
keepJobFlowAliveWhenNoSteps :: Maybe Bool
instanceGroups :: Maybe [InstanceGroupConfig]
instanceFleets :: Maybe [InstanceFleetConfig]
instanceCount :: Maybe Int
hadoopVersion :: Maybe Text
emrManagedSlaveSecurityGroup :: Maybe Text
emrManagedMasterSecurityGroup :: Maybe Text
ec2SubnetIds :: Maybe [Text]
ec2SubnetId :: Maybe Text
ec2KeyName :: Maybe Text
additionalSlaveSecurityGroups :: Maybe [Text]
additionalMasterSecurityGroups :: Maybe [Text]
$sel:terminationProtected:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
$sel:slaveInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:serviceAccessSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:placement:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe PlacementType
$sel:masterInstanceType:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:keepJobFlowAliveWhenNoSteps:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Bool
$sel:instanceGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceGroupConfig]
$sel:instanceFleets:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [InstanceFleetConfig]
$sel:instanceCount:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Int
$sel:hadoopVersion:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:emrManagedSlaveSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:emrManagedMasterSecurityGroup:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:ec2SubnetIds:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
$sel:ec2SubnetId:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:ec2KeyName:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe Text
$sel:additionalSlaveSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
$sel:additionalMasterSecurityGroups:JobFlowInstancesConfig' :: JobFlowInstancesConfig -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AdditionalMasterSecurityGroups" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
additionalMasterSecurityGroups,
(Key
"AdditionalSlaveSecurityGroups" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
additionalSlaveSecurityGroups,
(Key
"Ec2KeyName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ec2KeyName,
(Key
"Ec2SubnetId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ec2SubnetId,
(Key
"Ec2SubnetIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
ec2SubnetIds,
(Key
"EmrManagedMasterSecurityGroup" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
emrManagedMasterSecurityGroup,
(Key
"EmrManagedSlaveSecurityGroup" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
emrManagedSlaveSecurityGroup,
(Key
"HadoopVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
hadoopVersion,
(Key
"InstanceCount" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
instanceCount,
(Key
"InstanceFleets" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InstanceFleetConfig]
instanceFleets,
(Key
"InstanceGroups" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InstanceGroupConfig]
instanceGroups,
(Key
"KeepJobFlowAliveWhenNoSteps" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
keepJobFlowAliveWhenNoSteps,
(Key
"MasterInstanceType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
masterInstanceType,
(Key
"Placement" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PlacementType
placement,
(Key
"ServiceAccessSecurityGroup" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
serviceAccessSecurityGroup,
(Key
"SlaveInstanceType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
slaveInstanceType,
(Key
"TerminationProtected" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
terminationProtected
]
)