{-# 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.Snowball.CreateCluster
(
CreateCluster (..),
newCreateCluster,
createCluster_description,
createCluster_forwardingAddressId,
createCluster_kmsKeyARN,
createCluster_notification,
createCluster_onDeviceServiceConfiguration,
createCluster_remoteManagement,
createCluster_taxDocuments,
createCluster_jobType,
createCluster_resources,
createCluster_addressId,
createCluster_roleARN,
createCluster_snowballType,
createCluster_shippingOption,
CreateClusterResponse (..),
newCreateClusterResponse,
createClusterResponse_clusterId,
createClusterResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Snowball.Types
data CreateCluster = CreateCluster'
{
CreateCluster -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateCluster -> Maybe Text
forwardingAddressId :: Prelude.Maybe Prelude.Text,
CreateCluster -> Maybe Text
kmsKeyARN :: Prelude.Maybe Prelude.Text,
CreateCluster -> Maybe Notification
notification :: Prelude.Maybe Notification,
CreateCluster -> Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration :: Prelude.Maybe OnDeviceServiceConfiguration,
CreateCluster -> Maybe RemoteManagement
remoteManagement :: Prelude.Maybe RemoteManagement,
CreateCluster -> Maybe TaxDocuments
taxDocuments :: Prelude.Maybe TaxDocuments,
CreateCluster -> JobType
jobType :: JobType,
CreateCluster -> JobResource
resources :: JobResource,
CreateCluster -> Text
addressId :: Prelude.Text,
CreateCluster -> Text
roleARN :: Prelude.Text,
CreateCluster -> SnowballType
snowballType :: SnowballType,
CreateCluster -> ShippingOption
shippingOption :: ShippingOption
}
deriving (CreateCluster -> CreateCluster -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateCluster -> CreateCluster -> Bool
$c/= :: CreateCluster -> CreateCluster -> Bool
== :: CreateCluster -> CreateCluster -> Bool
$c== :: CreateCluster -> CreateCluster -> Bool
Prelude.Eq, ReadPrec [CreateCluster]
ReadPrec CreateCluster
Int -> ReadS CreateCluster
ReadS [CreateCluster]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateCluster]
$creadListPrec :: ReadPrec [CreateCluster]
readPrec :: ReadPrec CreateCluster
$creadPrec :: ReadPrec CreateCluster
readList :: ReadS [CreateCluster]
$creadList :: ReadS [CreateCluster]
readsPrec :: Int -> ReadS CreateCluster
$creadsPrec :: Int -> ReadS CreateCluster
Prelude.Read, Int -> CreateCluster -> ShowS
[CreateCluster] -> ShowS
CreateCluster -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateCluster] -> ShowS
$cshowList :: [CreateCluster] -> ShowS
show :: CreateCluster -> String
$cshow :: CreateCluster -> String
showsPrec :: Int -> CreateCluster -> ShowS
$cshowsPrec :: Int -> CreateCluster -> ShowS
Prelude.Show, forall x. Rep CreateCluster x -> CreateCluster
forall x. CreateCluster -> Rep CreateCluster x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateCluster x -> CreateCluster
$cfrom :: forall x. CreateCluster -> Rep CreateCluster x
Prelude.Generic)
newCreateCluster ::
JobType ->
JobResource ->
Prelude.Text ->
Prelude.Text ->
SnowballType ->
ShippingOption ->
CreateCluster
newCreateCluster :: JobType
-> JobResource
-> Text
-> Text
-> SnowballType
-> ShippingOption
-> CreateCluster
newCreateCluster
JobType
pJobType_
JobResource
pResources_
Text
pAddressId_
Text
pRoleARN_
SnowballType
pSnowballType_
ShippingOption
pShippingOption_ =
CreateCluster'
{ $sel:description:CreateCluster' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:forwardingAddressId:CreateCluster' :: Maybe Text
forwardingAddressId = forall a. Maybe a
Prelude.Nothing,
$sel:kmsKeyARN:CreateCluster' :: Maybe Text
kmsKeyARN = forall a. Maybe a
Prelude.Nothing,
$sel:notification:CreateCluster' :: Maybe Notification
notification = forall a. Maybe a
Prelude.Nothing,
$sel:onDeviceServiceConfiguration:CreateCluster' :: Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:remoteManagement:CreateCluster' :: Maybe RemoteManagement
remoteManagement = forall a. Maybe a
Prelude.Nothing,
$sel:taxDocuments:CreateCluster' :: Maybe TaxDocuments
taxDocuments = forall a. Maybe a
Prelude.Nothing,
$sel:jobType:CreateCluster' :: JobType
jobType = JobType
pJobType_,
$sel:resources:CreateCluster' :: JobResource
resources = JobResource
pResources_,
$sel:addressId:CreateCluster' :: Text
addressId = Text
pAddressId_,
$sel:roleARN:CreateCluster' :: Text
roleARN = Text
pRoleARN_,
$sel:snowballType:CreateCluster' :: SnowballType
snowballType = SnowballType
pSnowballType_,
$sel:shippingOption:CreateCluster' :: ShippingOption
shippingOption = ShippingOption
pShippingOption_
}
createCluster_description :: Lens.Lens' CreateCluster (Prelude.Maybe Prelude.Text)
createCluster_description :: Lens' CreateCluster (Maybe Text)
createCluster_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe Text
description :: Maybe Text
$sel:description:CreateCluster' :: CreateCluster -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateCluster
s@CreateCluster' {} Maybe Text
a -> CreateCluster
s {$sel:description:CreateCluster' :: Maybe Text
description = Maybe Text
a} :: CreateCluster)
createCluster_forwardingAddressId :: Lens.Lens' CreateCluster (Prelude.Maybe Prelude.Text)
createCluster_forwardingAddressId :: Lens' CreateCluster (Maybe Text)
createCluster_forwardingAddressId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe Text
forwardingAddressId :: Maybe Text
$sel:forwardingAddressId:CreateCluster' :: CreateCluster -> Maybe Text
forwardingAddressId} -> Maybe Text
forwardingAddressId) (\s :: CreateCluster
s@CreateCluster' {} Maybe Text
a -> CreateCluster
s {$sel:forwardingAddressId:CreateCluster' :: Maybe Text
forwardingAddressId = Maybe Text
a} :: CreateCluster)
createCluster_kmsKeyARN :: Lens.Lens' CreateCluster (Prelude.Maybe Prelude.Text)
createCluster_kmsKeyARN :: Lens' CreateCluster (Maybe Text)
createCluster_kmsKeyARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe Text
kmsKeyARN :: Maybe Text
$sel:kmsKeyARN:CreateCluster' :: CreateCluster -> Maybe Text
kmsKeyARN} -> Maybe Text
kmsKeyARN) (\s :: CreateCluster
s@CreateCluster' {} Maybe Text
a -> CreateCluster
s {$sel:kmsKeyARN:CreateCluster' :: Maybe Text
kmsKeyARN = Maybe Text
a} :: CreateCluster)
createCluster_notification :: Lens.Lens' CreateCluster (Prelude.Maybe Notification)
createCluster_notification :: Lens' CreateCluster (Maybe Notification)
createCluster_notification = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe Notification
notification :: Maybe Notification
$sel:notification:CreateCluster' :: CreateCluster -> Maybe Notification
notification} -> Maybe Notification
notification) (\s :: CreateCluster
s@CreateCluster' {} Maybe Notification
a -> CreateCluster
s {$sel:notification:CreateCluster' :: Maybe Notification
notification = Maybe Notification
a} :: CreateCluster)
createCluster_onDeviceServiceConfiguration :: Lens.Lens' CreateCluster (Prelude.Maybe OnDeviceServiceConfiguration)
createCluster_onDeviceServiceConfiguration :: Lens' CreateCluster (Maybe OnDeviceServiceConfiguration)
createCluster_onDeviceServiceConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration :: Maybe OnDeviceServiceConfiguration
$sel:onDeviceServiceConfiguration:CreateCluster' :: CreateCluster -> Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration} -> Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration) (\s :: CreateCluster
s@CreateCluster' {} Maybe OnDeviceServiceConfiguration
a -> CreateCluster
s {$sel:onDeviceServiceConfiguration:CreateCluster' :: Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration = Maybe OnDeviceServiceConfiguration
a} :: CreateCluster)
createCluster_remoteManagement :: Lens.Lens' CreateCluster (Prelude.Maybe RemoteManagement)
createCluster_remoteManagement :: Lens' CreateCluster (Maybe RemoteManagement)
createCluster_remoteManagement = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe RemoteManagement
remoteManagement :: Maybe RemoteManagement
$sel:remoteManagement:CreateCluster' :: CreateCluster -> Maybe RemoteManagement
remoteManagement} -> Maybe RemoteManagement
remoteManagement) (\s :: CreateCluster
s@CreateCluster' {} Maybe RemoteManagement
a -> CreateCluster
s {$sel:remoteManagement:CreateCluster' :: Maybe RemoteManagement
remoteManagement = Maybe RemoteManagement
a} :: CreateCluster)
createCluster_taxDocuments :: Lens.Lens' CreateCluster (Prelude.Maybe TaxDocuments)
createCluster_taxDocuments :: Lens' CreateCluster (Maybe TaxDocuments)
createCluster_taxDocuments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Maybe TaxDocuments
taxDocuments :: Maybe TaxDocuments
$sel:taxDocuments:CreateCluster' :: CreateCluster -> Maybe TaxDocuments
taxDocuments} -> Maybe TaxDocuments
taxDocuments) (\s :: CreateCluster
s@CreateCluster' {} Maybe TaxDocuments
a -> CreateCluster
s {$sel:taxDocuments:CreateCluster' :: Maybe TaxDocuments
taxDocuments = Maybe TaxDocuments
a} :: CreateCluster)
createCluster_jobType :: Lens.Lens' CreateCluster JobType
createCluster_jobType :: Lens' CreateCluster JobType
createCluster_jobType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {JobType
jobType :: JobType
$sel:jobType:CreateCluster' :: CreateCluster -> JobType
jobType} -> JobType
jobType) (\s :: CreateCluster
s@CreateCluster' {} JobType
a -> CreateCluster
s {$sel:jobType:CreateCluster' :: JobType
jobType = JobType
a} :: CreateCluster)
createCluster_resources :: Lens.Lens' CreateCluster JobResource
createCluster_resources :: Lens' CreateCluster JobResource
createCluster_resources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {JobResource
resources :: JobResource
$sel:resources:CreateCluster' :: CreateCluster -> JobResource
resources} -> JobResource
resources) (\s :: CreateCluster
s@CreateCluster' {} JobResource
a -> CreateCluster
s {$sel:resources:CreateCluster' :: JobResource
resources = JobResource
a} :: CreateCluster)
createCluster_addressId :: Lens.Lens' CreateCluster Prelude.Text
createCluster_addressId :: Lens' CreateCluster Text
createCluster_addressId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Text
addressId :: Text
$sel:addressId:CreateCluster' :: CreateCluster -> Text
addressId} -> Text
addressId) (\s :: CreateCluster
s@CreateCluster' {} Text
a -> CreateCluster
s {$sel:addressId:CreateCluster' :: Text
addressId = Text
a} :: CreateCluster)
createCluster_roleARN :: Lens.Lens' CreateCluster Prelude.Text
createCluster_roleARN :: Lens' CreateCluster Text
createCluster_roleARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {Text
roleARN :: Text
$sel:roleARN:CreateCluster' :: CreateCluster -> Text
roleARN} -> Text
roleARN) (\s :: CreateCluster
s@CreateCluster' {} Text
a -> CreateCluster
s {$sel:roleARN:CreateCluster' :: Text
roleARN = Text
a} :: CreateCluster)
createCluster_snowballType :: Lens.Lens' CreateCluster SnowballType
createCluster_snowballType :: Lens' CreateCluster SnowballType
createCluster_snowballType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {SnowballType
snowballType :: SnowballType
$sel:snowballType:CreateCluster' :: CreateCluster -> SnowballType
snowballType} -> SnowballType
snowballType) (\s :: CreateCluster
s@CreateCluster' {} SnowballType
a -> CreateCluster
s {$sel:snowballType:CreateCluster' :: SnowballType
snowballType = SnowballType
a} :: CreateCluster)
createCluster_shippingOption :: Lens.Lens' CreateCluster ShippingOption
createCluster_shippingOption :: Lens' CreateCluster ShippingOption
createCluster_shippingOption = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateCluster' {ShippingOption
shippingOption :: ShippingOption
$sel:shippingOption:CreateCluster' :: CreateCluster -> ShippingOption
shippingOption} -> ShippingOption
shippingOption) (\s :: CreateCluster
s@CreateCluster' {} ShippingOption
a -> CreateCluster
s {$sel:shippingOption:CreateCluster' :: ShippingOption
shippingOption = ShippingOption
a} :: CreateCluster)
instance Core.AWSRequest CreateCluster where
type
AWSResponse CreateCluster =
CreateClusterResponse
request :: (Service -> Service) -> CreateCluster -> Request CreateCluster
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 CreateCluster
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateCluster)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text -> Int -> CreateClusterResponse
CreateClusterResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ClusterId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable CreateCluster where
hashWithSalt :: Int -> CreateCluster -> Int
hashWithSalt Int
_salt CreateCluster' {Maybe Text
Maybe Notification
Maybe RemoteManagement
Maybe OnDeviceServiceConfiguration
Maybe TaxDocuments
Text
JobType
ShippingOption
SnowballType
JobResource
shippingOption :: ShippingOption
snowballType :: SnowballType
roleARN :: Text
addressId :: Text
resources :: JobResource
jobType :: JobType
taxDocuments :: Maybe TaxDocuments
remoteManagement :: Maybe RemoteManagement
onDeviceServiceConfiguration :: Maybe OnDeviceServiceConfiguration
notification :: Maybe Notification
kmsKeyARN :: Maybe Text
forwardingAddressId :: Maybe Text
description :: Maybe Text
$sel:shippingOption:CreateCluster' :: CreateCluster -> ShippingOption
$sel:snowballType:CreateCluster' :: CreateCluster -> SnowballType
$sel:roleARN:CreateCluster' :: CreateCluster -> Text
$sel:addressId:CreateCluster' :: CreateCluster -> Text
$sel:resources:CreateCluster' :: CreateCluster -> JobResource
$sel:jobType:CreateCluster' :: CreateCluster -> JobType
$sel:taxDocuments:CreateCluster' :: CreateCluster -> Maybe TaxDocuments
$sel:remoteManagement:CreateCluster' :: CreateCluster -> Maybe RemoteManagement
$sel:onDeviceServiceConfiguration:CreateCluster' :: CreateCluster -> Maybe OnDeviceServiceConfiguration
$sel:notification:CreateCluster' :: CreateCluster -> Maybe Notification
$sel:kmsKeyARN:CreateCluster' :: CreateCluster -> Maybe Text
$sel:forwardingAddressId:CreateCluster' :: CreateCluster -> Maybe Text
$sel:description:CreateCluster' :: CreateCluster -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
forwardingAddressId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Notification
notification
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RemoteManagement
remoteManagement
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TaxDocuments
taxDocuments
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` JobType
jobType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` JobResource
resources
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
addressId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` SnowballType
snowballType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ShippingOption
shippingOption
instance Prelude.NFData CreateCluster where
rnf :: CreateCluster -> ()
rnf CreateCluster' {Maybe Text
Maybe Notification
Maybe RemoteManagement
Maybe OnDeviceServiceConfiguration
Maybe TaxDocuments
Text
JobType
ShippingOption
SnowballType
JobResource
shippingOption :: ShippingOption
snowballType :: SnowballType
roleARN :: Text
addressId :: Text
resources :: JobResource
jobType :: JobType
taxDocuments :: Maybe TaxDocuments
remoteManagement :: Maybe RemoteManagement
onDeviceServiceConfiguration :: Maybe OnDeviceServiceConfiguration
notification :: Maybe Notification
kmsKeyARN :: Maybe Text
forwardingAddressId :: Maybe Text
description :: Maybe Text
$sel:shippingOption:CreateCluster' :: CreateCluster -> ShippingOption
$sel:snowballType:CreateCluster' :: CreateCluster -> SnowballType
$sel:roleARN:CreateCluster' :: CreateCluster -> Text
$sel:addressId:CreateCluster' :: CreateCluster -> Text
$sel:resources:CreateCluster' :: CreateCluster -> JobResource
$sel:jobType:CreateCluster' :: CreateCluster -> JobType
$sel:taxDocuments:CreateCluster' :: CreateCluster -> Maybe TaxDocuments
$sel:remoteManagement:CreateCluster' :: CreateCluster -> Maybe RemoteManagement
$sel:onDeviceServiceConfiguration:CreateCluster' :: CreateCluster -> Maybe OnDeviceServiceConfiguration
$sel:notification:CreateCluster' :: CreateCluster -> Maybe Notification
$sel:kmsKeyARN:CreateCluster' :: CreateCluster -> Maybe Text
$sel:forwardingAddressId:CreateCluster' :: CreateCluster -> Maybe Text
$sel:description:CreateCluster' :: CreateCluster -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
forwardingAddressId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Notification
notification
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OnDeviceServiceConfiguration
onDeviceServiceConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RemoteManagement
remoteManagement
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TaxDocuments
taxDocuments
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JobType
jobType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JobResource
resources
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
addressId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf SnowballType
snowballType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ShippingOption
shippingOption
instance Data.ToHeaders CreateCluster where
toHeaders :: CreateCluster -> ResponseHeaders
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 -> ResponseHeaders
Data.=# ( ByteString
"AWSIESnowballJobManagementService.CreateCluster" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateCluster where
toJSON :: CreateCluster -> Value
toJSON CreateCluster' {Maybe Text
Maybe Notification
Maybe RemoteManagement
Maybe OnDeviceServiceConfiguration
Maybe TaxDocuments
Text
JobType
ShippingOption
SnowballType
JobResource
shippingOption :: ShippingOption
snowballType :: SnowballType
roleARN :: Text
addressId :: Text
resources :: JobResource
jobType :: JobType
taxDocuments :: Maybe TaxDocuments
remoteManagement :: Maybe RemoteManagement
onDeviceServiceConfiguration :: Maybe OnDeviceServiceConfiguration
notification :: Maybe Notification
kmsKeyARN :: Maybe Text
forwardingAddressId :: Maybe Text
description :: Maybe Text
$sel:shippingOption:CreateCluster' :: CreateCluster -> ShippingOption
$sel:snowballType:CreateCluster' :: CreateCluster -> SnowballType
$sel:roleARN:CreateCluster' :: CreateCluster -> Text
$sel:addressId:CreateCluster' :: CreateCluster -> Text
$sel:resources:CreateCluster' :: CreateCluster -> JobResource
$sel:jobType:CreateCluster' :: CreateCluster -> JobType
$sel:taxDocuments:CreateCluster' :: CreateCluster -> Maybe TaxDocuments
$sel:remoteManagement:CreateCluster' :: CreateCluster -> Maybe RemoteManagement
$sel:onDeviceServiceConfiguration:CreateCluster' :: CreateCluster -> Maybe OnDeviceServiceConfiguration
$sel:notification:CreateCluster' :: CreateCluster -> Maybe Notification
$sel:kmsKeyARN:CreateCluster' :: CreateCluster -> Maybe Text
$sel:forwardingAddressId:CreateCluster' :: CreateCluster -> Maybe Text
$sel:description:CreateCluster' :: CreateCluster -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Description" 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
description,
(Key
"ForwardingAddressId" 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
forwardingAddressId,
(Key
"KmsKeyARN" 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
kmsKeyARN,
(Key
"Notification" 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 Notification
notification,
(Key
"OnDeviceServiceConfiguration" 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 OnDeviceServiceConfiguration
onDeviceServiceConfiguration,
(Key
"RemoteManagement" 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 RemoteManagement
remoteManagement,
(Key
"TaxDocuments" 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 TaxDocuments
taxDocuments,
forall a. a -> Maybe a
Prelude.Just (Key
"JobType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= JobType
jobType),
forall a. a -> Maybe a
Prelude.Just (Key
"Resources" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= JobResource
resources),
forall a. a -> Maybe a
Prelude.Just (Key
"AddressId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
addressId),
forall a. a -> Maybe a
Prelude.Just (Key
"RoleARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
roleARN),
forall a. a -> Maybe a
Prelude.Just (Key
"SnowballType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= SnowballType
snowballType),
forall a. a -> Maybe a
Prelude.Just
(Key
"ShippingOption" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ShippingOption
shippingOption)
]
)
instance Data.ToPath CreateCluster where
toPath :: CreateCluster -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateCluster where
toQuery :: CreateCluster -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateClusterResponse = CreateClusterResponse'
{
CreateClusterResponse -> Maybe Text
clusterId :: Prelude.Maybe Prelude.Text,
CreateClusterResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateClusterResponse -> CreateClusterResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateClusterResponse -> CreateClusterResponse -> Bool
$c/= :: CreateClusterResponse -> CreateClusterResponse -> Bool
== :: CreateClusterResponse -> CreateClusterResponse -> Bool
$c== :: CreateClusterResponse -> CreateClusterResponse -> Bool
Prelude.Eq, ReadPrec [CreateClusterResponse]
ReadPrec CreateClusterResponse
Int -> ReadS CreateClusterResponse
ReadS [CreateClusterResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateClusterResponse]
$creadListPrec :: ReadPrec [CreateClusterResponse]
readPrec :: ReadPrec CreateClusterResponse
$creadPrec :: ReadPrec CreateClusterResponse
readList :: ReadS [CreateClusterResponse]
$creadList :: ReadS [CreateClusterResponse]
readsPrec :: Int -> ReadS CreateClusterResponse
$creadsPrec :: Int -> ReadS CreateClusterResponse
Prelude.Read, Int -> CreateClusterResponse -> ShowS
[CreateClusterResponse] -> ShowS
CreateClusterResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateClusterResponse] -> ShowS
$cshowList :: [CreateClusterResponse] -> ShowS
show :: CreateClusterResponse -> String
$cshow :: CreateClusterResponse -> String
showsPrec :: Int -> CreateClusterResponse -> ShowS
$cshowsPrec :: Int -> CreateClusterResponse -> ShowS
Prelude.Show, forall x. Rep CreateClusterResponse x -> CreateClusterResponse
forall x. CreateClusterResponse -> Rep CreateClusterResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateClusterResponse x -> CreateClusterResponse
$cfrom :: forall x. CreateClusterResponse -> Rep CreateClusterResponse x
Prelude.Generic)
newCreateClusterResponse ::
Prelude.Int ->
CreateClusterResponse
newCreateClusterResponse :: Int -> CreateClusterResponse
newCreateClusterResponse Int
pHttpStatus_ =
CreateClusterResponse'
{ $sel:clusterId:CreateClusterResponse' :: Maybe Text
clusterId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateClusterResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createClusterResponse_clusterId :: Lens.Lens' CreateClusterResponse (Prelude.Maybe Prelude.Text)
createClusterResponse_clusterId :: Lens' CreateClusterResponse (Maybe Text)
createClusterResponse_clusterId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateClusterResponse' {Maybe Text
clusterId :: Maybe Text
$sel:clusterId:CreateClusterResponse' :: CreateClusterResponse -> Maybe Text
clusterId} -> Maybe Text
clusterId) (\s :: CreateClusterResponse
s@CreateClusterResponse' {} Maybe Text
a -> CreateClusterResponse
s {$sel:clusterId:CreateClusterResponse' :: Maybe Text
clusterId = Maybe Text
a} :: CreateClusterResponse)
createClusterResponse_httpStatus :: Lens.Lens' CreateClusterResponse Prelude.Int
createClusterResponse_httpStatus :: Lens' CreateClusterResponse Int
createClusterResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateClusterResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateClusterResponse' :: CreateClusterResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateClusterResponse
s@CreateClusterResponse' {} Int
a -> CreateClusterResponse
s {$sel:httpStatus:CreateClusterResponse' :: Int
httpStatus = Int
a} :: CreateClusterResponse)
instance Prelude.NFData CreateClusterResponse where
rnf :: CreateClusterResponse -> ()
rnf CreateClusterResponse' {Int
Maybe Text
httpStatus :: Int
clusterId :: Maybe Text
$sel:httpStatus:CreateClusterResponse' :: CreateClusterResponse -> Int
$sel:clusterId:CreateClusterResponse' :: CreateClusterResponse -> 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 Int
httpStatus