{-# 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.ConnectCampaigns.StartInstanceOnboardingJob
(
StartInstanceOnboardingJob (..),
newStartInstanceOnboardingJob,
startInstanceOnboardingJob_connectInstanceId,
startInstanceOnboardingJob_encryptionConfig,
StartInstanceOnboardingJobResponse (..),
newStartInstanceOnboardingJobResponse,
startInstanceOnboardingJobResponse_connectInstanceOnboardingJobStatus,
startInstanceOnboardingJobResponse_httpStatus,
)
where
import Amazonka.ConnectCampaigns.Types
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
data StartInstanceOnboardingJob = StartInstanceOnboardingJob'
{ StartInstanceOnboardingJob -> Text
connectInstanceId :: Prelude.Text,
StartInstanceOnboardingJob -> EncryptionConfig
encryptionConfig :: EncryptionConfig
}
deriving (StartInstanceOnboardingJob -> StartInstanceOnboardingJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartInstanceOnboardingJob -> StartInstanceOnboardingJob -> Bool
$c/= :: StartInstanceOnboardingJob -> StartInstanceOnboardingJob -> Bool
== :: StartInstanceOnboardingJob -> StartInstanceOnboardingJob -> Bool
$c== :: StartInstanceOnboardingJob -> StartInstanceOnboardingJob -> Bool
Prelude.Eq, ReadPrec [StartInstanceOnboardingJob]
ReadPrec StartInstanceOnboardingJob
Int -> ReadS StartInstanceOnboardingJob
ReadS [StartInstanceOnboardingJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartInstanceOnboardingJob]
$creadListPrec :: ReadPrec [StartInstanceOnboardingJob]
readPrec :: ReadPrec StartInstanceOnboardingJob
$creadPrec :: ReadPrec StartInstanceOnboardingJob
readList :: ReadS [StartInstanceOnboardingJob]
$creadList :: ReadS [StartInstanceOnboardingJob]
readsPrec :: Int -> ReadS StartInstanceOnboardingJob
$creadsPrec :: Int -> ReadS StartInstanceOnboardingJob
Prelude.Read, Int -> StartInstanceOnboardingJob -> ShowS
[StartInstanceOnboardingJob] -> ShowS
StartInstanceOnboardingJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartInstanceOnboardingJob] -> ShowS
$cshowList :: [StartInstanceOnboardingJob] -> ShowS
show :: StartInstanceOnboardingJob -> String
$cshow :: StartInstanceOnboardingJob -> String
showsPrec :: Int -> StartInstanceOnboardingJob -> ShowS
$cshowsPrec :: Int -> StartInstanceOnboardingJob -> ShowS
Prelude.Show, forall x.
Rep StartInstanceOnboardingJob x -> StartInstanceOnboardingJob
forall x.
StartInstanceOnboardingJob -> Rep StartInstanceOnboardingJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartInstanceOnboardingJob x -> StartInstanceOnboardingJob
$cfrom :: forall x.
StartInstanceOnboardingJob -> Rep StartInstanceOnboardingJob x
Prelude.Generic)
newStartInstanceOnboardingJob ::
Prelude.Text ->
EncryptionConfig ->
StartInstanceOnboardingJob
newStartInstanceOnboardingJob :: Text -> EncryptionConfig -> StartInstanceOnboardingJob
newStartInstanceOnboardingJob
Text
pConnectInstanceId_
EncryptionConfig
pEncryptionConfig_ =
StartInstanceOnboardingJob'
{ $sel:connectInstanceId:StartInstanceOnboardingJob' :: Text
connectInstanceId =
Text
pConnectInstanceId_,
$sel:encryptionConfig:StartInstanceOnboardingJob' :: EncryptionConfig
encryptionConfig = EncryptionConfig
pEncryptionConfig_
}
startInstanceOnboardingJob_connectInstanceId :: Lens.Lens' StartInstanceOnboardingJob Prelude.Text
startInstanceOnboardingJob_connectInstanceId :: Lens' StartInstanceOnboardingJob Text
startInstanceOnboardingJob_connectInstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartInstanceOnboardingJob' {Text
connectInstanceId :: Text
$sel:connectInstanceId:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> Text
connectInstanceId} -> Text
connectInstanceId) (\s :: StartInstanceOnboardingJob
s@StartInstanceOnboardingJob' {} Text
a -> StartInstanceOnboardingJob
s {$sel:connectInstanceId:StartInstanceOnboardingJob' :: Text
connectInstanceId = Text
a} :: StartInstanceOnboardingJob)
startInstanceOnboardingJob_encryptionConfig :: Lens.Lens' StartInstanceOnboardingJob EncryptionConfig
startInstanceOnboardingJob_encryptionConfig :: Lens' StartInstanceOnboardingJob EncryptionConfig
startInstanceOnboardingJob_encryptionConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartInstanceOnboardingJob' {EncryptionConfig
encryptionConfig :: EncryptionConfig
$sel:encryptionConfig:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> EncryptionConfig
encryptionConfig} -> EncryptionConfig
encryptionConfig) (\s :: StartInstanceOnboardingJob
s@StartInstanceOnboardingJob' {} EncryptionConfig
a -> StartInstanceOnboardingJob
s {$sel:encryptionConfig:StartInstanceOnboardingJob' :: EncryptionConfig
encryptionConfig = EncryptionConfig
a} :: StartInstanceOnboardingJob)
instance Core.AWSRequest StartInstanceOnboardingJob where
type
AWSResponse StartInstanceOnboardingJob =
StartInstanceOnboardingJobResponse
request :: (Service -> Service)
-> StartInstanceOnboardingJob -> Request StartInstanceOnboardingJob
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy StartInstanceOnboardingJob
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartInstanceOnboardingJob)))
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 InstanceOnboardingJobStatus
-> Int -> StartInstanceOnboardingJobResponse
StartInstanceOnboardingJobResponse'
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
"connectInstanceOnboardingJobStatus")
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 StartInstanceOnboardingJob where
hashWithSalt :: Int -> StartInstanceOnboardingJob -> Int
hashWithSalt Int
_salt StartInstanceOnboardingJob' {Text
EncryptionConfig
encryptionConfig :: EncryptionConfig
connectInstanceId :: Text
$sel:encryptionConfig:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> EncryptionConfig
$sel:connectInstanceId:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
connectInstanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` EncryptionConfig
encryptionConfig
instance Prelude.NFData StartInstanceOnboardingJob where
rnf :: StartInstanceOnboardingJob -> ()
rnf StartInstanceOnboardingJob' {Text
EncryptionConfig
encryptionConfig :: EncryptionConfig
connectInstanceId :: Text
$sel:encryptionConfig:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> EncryptionConfig
$sel:connectInstanceId:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
connectInstanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EncryptionConfig
encryptionConfig
instance Data.ToHeaders StartInstanceOnboardingJob where
toHeaders :: StartInstanceOnboardingJob -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON StartInstanceOnboardingJob where
toJSON :: StartInstanceOnboardingJob -> Value
toJSON StartInstanceOnboardingJob' {Text
EncryptionConfig
encryptionConfig :: EncryptionConfig
connectInstanceId :: Text
$sel:encryptionConfig:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> EncryptionConfig
$sel:connectInstanceId:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"encryptionConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= EncryptionConfig
encryptionConfig)
]
)
instance Data.ToPath StartInstanceOnboardingJob where
toPath :: StartInstanceOnboardingJob -> ByteString
toPath StartInstanceOnboardingJob' {Text
EncryptionConfig
encryptionConfig :: EncryptionConfig
connectInstanceId :: Text
$sel:encryptionConfig:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> EncryptionConfig
$sel:connectInstanceId:StartInstanceOnboardingJob' :: StartInstanceOnboardingJob -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/connect-instance/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
connectInstanceId,
ByteString
"/onboarding"
]
instance Data.ToQuery StartInstanceOnboardingJob where
toQuery :: StartInstanceOnboardingJob -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartInstanceOnboardingJobResponse = StartInstanceOnboardingJobResponse'
{ StartInstanceOnboardingJobResponse
-> Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus :: Prelude.Maybe InstanceOnboardingJobStatus,
StartInstanceOnboardingJobResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartInstanceOnboardingJobResponse
-> StartInstanceOnboardingJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartInstanceOnboardingJobResponse
-> StartInstanceOnboardingJobResponse -> Bool
$c/= :: StartInstanceOnboardingJobResponse
-> StartInstanceOnboardingJobResponse -> Bool
== :: StartInstanceOnboardingJobResponse
-> StartInstanceOnboardingJobResponse -> Bool
$c== :: StartInstanceOnboardingJobResponse
-> StartInstanceOnboardingJobResponse -> Bool
Prelude.Eq, ReadPrec [StartInstanceOnboardingJobResponse]
ReadPrec StartInstanceOnboardingJobResponse
Int -> ReadS StartInstanceOnboardingJobResponse
ReadS [StartInstanceOnboardingJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartInstanceOnboardingJobResponse]
$creadListPrec :: ReadPrec [StartInstanceOnboardingJobResponse]
readPrec :: ReadPrec StartInstanceOnboardingJobResponse
$creadPrec :: ReadPrec StartInstanceOnboardingJobResponse
readList :: ReadS [StartInstanceOnboardingJobResponse]
$creadList :: ReadS [StartInstanceOnboardingJobResponse]
readsPrec :: Int -> ReadS StartInstanceOnboardingJobResponse
$creadsPrec :: Int -> ReadS StartInstanceOnboardingJobResponse
Prelude.Read, Int -> StartInstanceOnboardingJobResponse -> ShowS
[StartInstanceOnboardingJobResponse] -> ShowS
StartInstanceOnboardingJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartInstanceOnboardingJobResponse] -> ShowS
$cshowList :: [StartInstanceOnboardingJobResponse] -> ShowS
show :: StartInstanceOnboardingJobResponse -> String
$cshow :: StartInstanceOnboardingJobResponse -> String
showsPrec :: Int -> StartInstanceOnboardingJobResponse -> ShowS
$cshowsPrec :: Int -> StartInstanceOnboardingJobResponse -> ShowS
Prelude.Show, forall x.
Rep StartInstanceOnboardingJobResponse x
-> StartInstanceOnboardingJobResponse
forall x.
StartInstanceOnboardingJobResponse
-> Rep StartInstanceOnboardingJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartInstanceOnboardingJobResponse x
-> StartInstanceOnboardingJobResponse
$cfrom :: forall x.
StartInstanceOnboardingJobResponse
-> Rep StartInstanceOnboardingJobResponse x
Prelude.Generic)
newStartInstanceOnboardingJobResponse ::
Prelude.Int ->
StartInstanceOnboardingJobResponse
newStartInstanceOnboardingJobResponse :: Int -> StartInstanceOnboardingJobResponse
newStartInstanceOnboardingJobResponse Int
pHttpStatus_ =
StartInstanceOnboardingJobResponse'
{ $sel:connectInstanceOnboardingJobStatus:StartInstanceOnboardingJobResponse' :: Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartInstanceOnboardingJobResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startInstanceOnboardingJobResponse_connectInstanceOnboardingJobStatus :: Lens.Lens' StartInstanceOnboardingJobResponse (Prelude.Maybe InstanceOnboardingJobStatus)
startInstanceOnboardingJobResponse_connectInstanceOnboardingJobStatus :: Lens'
StartInstanceOnboardingJobResponse
(Maybe InstanceOnboardingJobStatus)
startInstanceOnboardingJobResponse_connectInstanceOnboardingJobStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartInstanceOnboardingJobResponse' {Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus :: Maybe InstanceOnboardingJobStatus
$sel:connectInstanceOnboardingJobStatus:StartInstanceOnboardingJobResponse' :: StartInstanceOnboardingJobResponse
-> Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus} -> Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus) (\s :: StartInstanceOnboardingJobResponse
s@StartInstanceOnboardingJobResponse' {} Maybe InstanceOnboardingJobStatus
a -> StartInstanceOnboardingJobResponse
s {$sel:connectInstanceOnboardingJobStatus:StartInstanceOnboardingJobResponse' :: Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus = Maybe InstanceOnboardingJobStatus
a} :: StartInstanceOnboardingJobResponse)
startInstanceOnboardingJobResponse_httpStatus :: Lens.Lens' StartInstanceOnboardingJobResponse Prelude.Int
startInstanceOnboardingJobResponse_httpStatus :: Lens' StartInstanceOnboardingJobResponse Int
startInstanceOnboardingJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartInstanceOnboardingJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartInstanceOnboardingJobResponse' :: StartInstanceOnboardingJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartInstanceOnboardingJobResponse
s@StartInstanceOnboardingJobResponse' {} Int
a -> StartInstanceOnboardingJobResponse
s {$sel:httpStatus:StartInstanceOnboardingJobResponse' :: Int
httpStatus = Int
a} :: StartInstanceOnboardingJobResponse)
instance
Prelude.NFData
StartInstanceOnboardingJobResponse
where
rnf :: StartInstanceOnboardingJobResponse -> ()
rnf StartInstanceOnboardingJobResponse' {Int
Maybe InstanceOnboardingJobStatus
httpStatus :: Int
connectInstanceOnboardingJobStatus :: Maybe InstanceOnboardingJobStatus
$sel:httpStatus:StartInstanceOnboardingJobResponse' :: StartInstanceOnboardingJobResponse -> Int
$sel:connectInstanceOnboardingJobStatus:StartInstanceOnboardingJobResponse' :: StartInstanceOnboardingJobResponse
-> Maybe InstanceOnboardingJobStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceOnboardingJobStatus
connectInstanceOnboardingJobStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus