{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EMR.ModifyInstanceGroups
(
ModifyInstanceGroups (..),
newModifyInstanceGroups,
modifyInstanceGroups_clusterId,
modifyInstanceGroups_instanceGroups,
ModifyInstanceGroupsResponse (..),
newModifyInstanceGroupsResponse,
)
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
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ModifyInstanceGroups = ModifyInstanceGroups'
{
ModifyInstanceGroups -> Maybe Text
clusterId :: Prelude.Maybe Prelude.Text,
ModifyInstanceGroups -> Maybe [InstanceGroupModifyConfig]
instanceGroups :: Prelude.Maybe [InstanceGroupModifyConfig]
}
deriving (ModifyInstanceGroups -> ModifyInstanceGroups -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyInstanceGroups -> ModifyInstanceGroups -> Bool
$c/= :: ModifyInstanceGroups -> ModifyInstanceGroups -> Bool
== :: ModifyInstanceGroups -> ModifyInstanceGroups -> Bool
$c== :: ModifyInstanceGroups -> ModifyInstanceGroups -> Bool
Prelude.Eq, ReadPrec [ModifyInstanceGroups]
ReadPrec ModifyInstanceGroups
Int -> ReadS ModifyInstanceGroups
ReadS [ModifyInstanceGroups]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyInstanceGroups]
$creadListPrec :: ReadPrec [ModifyInstanceGroups]
readPrec :: ReadPrec ModifyInstanceGroups
$creadPrec :: ReadPrec ModifyInstanceGroups
readList :: ReadS [ModifyInstanceGroups]
$creadList :: ReadS [ModifyInstanceGroups]
readsPrec :: Int -> ReadS ModifyInstanceGroups
$creadsPrec :: Int -> ReadS ModifyInstanceGroups
Prelude.Read, Int -> ModifyInstanceGroups -> ShowS
[ModifyInstanceGroups] -> ShowS
ModifyInstanceGroups -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyInstanceGroups] -> ShowS
$cshowList :: [ModifyInstanceGroups] -> ShowS
show :: ModifyInstanceGroups -> String
$cshow :: ModifyInstanceGroups -> String
showsPrec :: Int -> ModifyInstanceGroups -> ShowS
$cshowsPrec :: Int -> ModifyInstanceGroups -> ShowS
Prelude.Show, forall x. Rep ModifyInstanceGroups x -> ModifyInstanceGroups
forall x. ModifyInstanceGroups -> Rep ModifyInstanceGroups x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyInstanceGroups x -> ModifyInstanceGroups
$cfrom :: forall x. ModifyInstanceGroups -> Rep ModifyInstanceGroups x
Prelude.Generic)
newModifyInstanceGroups ::
ModifyInstanceGroups
newModifyInstanceGroups :: ModifyInstanceGroups
newModifyInstanceGroups =
ModifyInstanceGroups'
{ $sel:clusterId:ModifyInstanceGroups' :: Maybe Text
clusterId = forall a. Maybe a
Prelude.Nothing,
$sel:instanceGroups:ModifyInstanceGroups' :: Maybe [InstanceGroupModifyConfig]
instanceGroups = forall a. Maybe a
Prelude.Nothing
}
modifyInstanceGroups_clusterId :: Lens.Lens' ModifyInstanceGroups (Prelude.Maybe Prelude.Text)
modifyInstanceGroups_clusterId :: Lens' ModifyInstanceGroups (Maybe Text)
modifyInstanceGroups_clusterId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyInstanceGroups' {Maybe Text
clusterId :: Maybe Text
$sel:clusterId:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe Text
clusterId} -> Maybe Text
clusterId) (\s :: ModifyInstanceGroups
s@ModifyInstanceGroups' {} Maybe Text
a -> ModifyInstanceGroups
s {$sel:clusterId:ModifyInstanceGroups' :: Maybe Text
clusterId = Maybe Text
a} :: ModifyInstanceGroups)
modifyInstanceGroups_instanceGroups :: Lens.Lens' ModifyInstanceGroups (Prelude.Maybe [InstanceGroupModifyConfig])
modifyInstanceGroups_instanceGroups :: Lens' ModifyInstanceGroups (Maybe [InstanceGroupModifyConfig])
modifyInstanceGroups_instanceGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyInstanceGroups' {Maybe [InstanceGroupModifyConfig]
instanceGroups :: Maybe [InstanceGroupModifyConfig]
$sel:instanceGroups:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe [InstanceGroupModifyConfig]
instanceGroups} -> Maybe [InstanceGroupModifyConfig]
instanceGroups) (\s :: ModifyInstanceGroups
s@ModifyInstanceGroups' {} Maybe [InstanceGroupModifyConfig]
a -> ModifyInstanceGroups
s {$sel:instanceGroups:ModifyInstanceGroups' :: Maybe [InstanceGroupModifyConfig]
instanceGroups = Maybe [InstanceGroupModifyConfig]
a} :: ModifyInstanceGroups) 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
instance Core.AWSRequest ModifyInstanceGroups where
type
AWSResponse ModifyInstanceGroups =
ModifyInstanceGroupsResponse
request :: (Service -> Service)
-> ModifyInstanceGroups -> Request ModifyInstanceGroups
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ModifyInstanceGroups
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ModifyInstanceGroups)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull ModifyInstanceGroupsResponse
ModifyInstanceGroupsResponse'
instance Prelude.Hashable ModifyInstanceGroups where
hashWithSalt :: Int -> ModifyInstanceGroups -> Int
hashWithSalt Int
_salt ModifyInstanceGroups' {Maybe [InstanceGroupModifyConfig]
Maybe Text
instanceGroups :: Maybe [InstanceGroupModifyConfig]
clusterId :: Maybe Text
$sel:instanceGroups:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe [InstanceGroupModifyConfig]
$sel:clusterId:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clusterId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [InstanceGroupModifyConfig]
instanceGroups
instance Prelude.NFData ModifyInstanceGroups where
rnf :: ModifyInstanceGroups -> ()
rnf ModifyInstanceGroups' {Maybe [InstanceGroupModifyConfig]
Maybe Text
instanceGroups :: Maybe [InstanceGroupModifyConfig]
clusterId :: Maybe Text
$sel:instanceGroups:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe [InstanceGroupModifyConfig]
$sel:clusterId:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clusterId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [InstanceGroupModifyConfig]
instanceGroups
instance Data.ToHeaders ModifyInstanceGroups where
toHeaders :: ModifyInstanceGroups -> [Header]
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"ElasticMapReduce.ModifyInstanceGroups" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON ModifyInstanceGroups where
toJSON :: ModifyInstanceGroups -> Value
toJSON ModifyInstanceGroups' {Maybe [InstanceGroupModifyConfig]
Maybe Text
instanceGroups :: Maybe [InstanceGroupModifyConfig]
clusterId :: Maybe Text
$sel:instanceGroups:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe [InstanceGroupModifyConfig]
$sel:clusterId:ModifyInstanceGroups' :: ModifyInstanceGroups -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClusterId" 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
clusterId,
(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 [InstanceGroupModifyConfig]
instanceGroups
]
)
instance Data.ToPath ModifyInstanceGroups where
toPath :: ModifyInstanceGroups -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ModifyInstanceGroups where
toQuery :: ModifyInstanceGroups -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ModifyInstanceGroupsResponse = ModifyInstanceGroupsResponse'
{
}
deriving (ModifyInstanceGroupsResponse
-> ModifyInstanceGroupsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyInstanceGroupsResponse
-> ModifyInstanceGroupsResponse -> Bool
$c/= :: ModifyInstanceGroupsResponse
-> ModifyInstanceGroupsResponse -> Bool
== :: ModifyInstanceGroupsResponse
-> ModifyInstanceGroupsResponse -> Bool
$c== :: ModifyInstanceGroupsResponse
-> ModifyInstanceGroupsResponse -> Bool
Prelude.Eq, ReadPrec [ModifyInstanceGroupsResponse]
ReadPrec ModifyInstanceGroupsResponse
Int -> ReadS ModifyInstanceGroupsResponse
ReadS [ModifyInstanceGroupsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyInstanceGroupsResponse]
$creadListPrec :: ReadPrec [ModifyInstanceGroupsResponse]
readPrec :: ReadPrec ModifyInstanceGroupsResponse
$creadPrec :: ReadPrec ModifyInstanceGroupsResponse
readList :: ReadS [ModifyInstanceGroupsResponse]
$creadList :: ReadS [ModifyInstanceGroupsResponse]
readsPrec :: Int -> ReadS ModifyInstanceGroupsResponse
$creadsPrec :: Int -> ReadS ModifyInstanceGroupsResponse
Prelude.Read, Int -> ModifyInstanceGroupsResponse -> ShowS
[ModifyInstanceGroupsResponse] -> ShowS
ModifyInstanceGroupsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyInstanceGroupsResponse] -> ShowS
$cshowList :: [ModifyInstanceGroupsResponse] -> ShowS
show :: ModifyInstanceGroupsResponse -> String
$cshow :: ModifyInstanceGroupsResponse -> String
showsPrec :: Int -> ModifyInstanceGroupsResponse -> ShowS
$cshowsPrec :: Int -> ModifyInstanceGroupsResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyInstanceGroupsResponse x -> ModifyInstanceGroupsResponse
forall x.
ModifyInstanceGroupsResponse -> Rep ModifyInstanceGroupsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyInstanceGroupsResponse x -> ModifyInstanceGroupsResponse
$cfrom :: forall x.
ModifyInstanceGroupsResponse -> Rep ModifyInstanceGroupsResponse x
Prelude.Generic)
newModifyInstanceGroupsResponse ::
ModifyInstanceGroupsResponse
newModifyInstanceGroupsResponse :: ModifyInstanceGroupsResponse
newModifyInstanceGroupsResponse =
ModifyInstanceGroupsResponse
ModifyInstanceGroupsResponse'
instance Prelude.NFData ModifyInstanceGroupsResponse where
rnf :: ModifyInstanceGroupsResponse -> ()
rnf ModifyInstanceGroupsResponse
_ = ()