{-# 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.SMS.GenerateChangeSet
(
GenerateChangeSet (..),
newGenerateChangeSet,
generateChangeSet_appId,
generateChangeSet_changesetFormat,
GenerateChangeSetResponse (..),
newGenerateChangeSetResponse,
generateChangeSetResponse_s3Location,
generateChangeSetResponse_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.SMS.Types
data GenerateChangeSet = GenerateChangeSet'
{
GenerateChangeSet -> Maybe Text
appId :: Prelude.Maybe Prelude.Text,
GenerateChangeSet -> Maybe OutputFormat
changesetFormat :: Prelude.Maybe OutputFormat
}
deriving (GenerateChangeSet -> GenerateChangeSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GenerateChangeSet -> GenerateChangeSet -> Bool
$c/= :: GenerateChangeSet -> GenerateChangeSet -> Bool
== :: GenerateChangeSet -> GenerateChangeSet -> Bool
$c== :: GenerateChangeSet -> GenerateChangeSet -> Bool
Prelude.Eq, ReadPrec [GenerateChangeSet]
ReadPrec GenerateChangeSet
Int -> ReadS GenerateChangeSet
ReadS [GenerateChangeSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GenerateChangeSet]
$creadListPrec :: ReadPrec [GenerateChangeSet]
readPrec :: ReadPrec GenerateChangeSet
$creadPrec :: ReadPrec GenerateChangeSet
readList :: ReadS [GenerateChangeSet]
$creadList :: ReadS [GenerateChangeSet]
readsPrec :: Int -> ReadS GenerateChangeSet
$creadsPrec :: Int -> ReadS GenerateChangeSet
Prelude.Read, Int -> GenerateChangeSet -> ShowS
[GenerateChangeSet] -> ShowS
GenerateChangeSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GenerateChangeSet] -> ShowS
$cshowList :: [GenerateChangeSet] -> ShowS
show :: GenerateChangeSet -> String
$cshow :: GenerateChangeSet -> String
showsPrec :: Int -> GenerateChangeSet -> ShowS
$cshowsPrec :: Int -> GenerateChangeSet -> ShowS
Prelude.Show, forall x. Rep GenerateChangeSet x -> GenerateChangeSet
forall x. GenerateChangeSet -> Rep GenerateChangeSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GenerateChangeSet x -> GenerateChangeSet
$cfrom :: forall x. GenerateChangeSet -> Rep GenerateChangeSet x
Prelude.Generic)
newGenerateChangeSet ::
GenerateChangeSet
newGenerateChangeSet :: GenerateChangeSet
newGenerateChangeSet =
GenerateChangeSet'
{ $sel:appId:GenerateChangeSet' :: Maybe Text
appId = forall a. Maybe a
Prelude.Nothing,
$sel:changesetFormat:GenerateChangeSet' :: Maybe OutputFormat
changesetFormat = forall a. Maybe a
Prelude.Nothing
}
generateChangeSet_appId :: Lens.Lens' GenerateChangeSet (Prelude.Maybe Prelude.Text)
generateChangeSet_appId :: Lens' GenerateChangeSet (Maybe Text)
generateChangeSet_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateChangeSet' {Maybe Text
appId :: Maybe Text
$sel:appId:GenerateChangeSet' :: GenerateChangeSet -> Maybe Text
appId} -> Maybe Text
appId) (\s :: GenerateChangeSet
s@GenerateChangeSet' {} Maybe Text
a -> GenerateChangeSet
s {$sel:appId:GenerateChangeSet' :: Maybe Text
appId = Maybe Text
a} :: GenerateChangeSet)
generateChangeSet_changesetFormat :: Lens.Lens' GenerateChangeSet (Prelude.Maybe OutputFormat)
generateChangeSet_changesetFormat :: Lens' GenerateChangeSet (Maybe OutputFormat)
generateChangeSet_changesetFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateChangeSet' {Maybe OutputFormat
changesetFormat :: Maybe OutputFormat
$sel:changesetFormat:GenerateChangeSet' :: GenerateChangeSet -> Maybe OutputFormat
changesetFormat} -> Maybe OutputFormat
changesetFormat) (\s :: GenerateChangeSet
s@GenerateChangeSet' {} Maybe OutputFormat
a -> GenerateChangeSet
s {$sel:changesetFormat:GenerateChangeSet' :: Maybe OutputFormat
changesetFormat = Maybe OutputFormat
a} :: GenerateChangeSet)
instance Core.AWSRequest GenerateChangeSet where
type
AWSResponse GenerateChangeSet =
GenerateChangeSetResponse
request :: (Service -> Service)
-> GenerateChangeSet -> Request GenerateChangeSet
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 GenerateChangeSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GenerateChangeSet)))
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 S3Location -> Int -> GenerateChangeSetResponse
GenerateChangeSetResponse'
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
"s3Location")
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 GenerateChangeSet where
hashWithSalt :: Int -> GenerateChangeSet -> Int
hashWithSalt Int
_salt GenerateChangeSet' {Maybe Text
Maybe OutputFormat
changesetFormat :: Maybe OutputFormat
appId :: Maybe Text
$sel:changesetFormat:GenerateChangeSet' :: GenerateChangeSet -> Maybe OutputFormat
$sel:appId:GenerateChangeSet' :: GenerateChangeSet -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
appId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OutputFormat
changesetFormat
instance Prelude.NFData GenerateChangeSet where
rnf :: GenerateChangeSet -> ()
rnf GenerateChangeSet' {Maybe Text
Maybe OutputFormat
changesetFormat :: Maybe OutputFormat
appId :: Maybe Text
$sel:changesetFormat:GenerateChangeSet' :: GenerateChangeSet -> Maybe OutputFormat
$sel:appId:GenerateChangeSet' :: GenerateChangeSet -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
appId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OutputFormat
changesetFormat
instance Data.ToHeaders GenerateChangeSet where
toHeaders :: GenerateChangeSet -> 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
"AWSServerMigrationService_V2016_10_24.GenerateChangeSet" ::
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 GenerateChangeSet where
toJSON :: GenerateChangeSet -> Value
toJSON GenerateChangeSet' {Maybe Text
Maybe OutputFormat
changesetFormat :: Maybe OutputFormat
appId :: Maybe Text
$sel:changesetFormat:GenerateChangeSet' :: GenerateChangeSet -> Maybe OutputFormat
$sel:appId:GenerateChangeSet' :: GenerateChangeSet -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"appId" 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
appId,
(Key
"changesetFormat" 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 OutputFormat
changesetFormat
]
)
instance Data.ToPath GenerateChangeSet where
toPath :: GenerateChangeSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GenerateChangeSet where
toQuery :: GenerateChangeSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GenerateChangeSetResponse = GenerateChangeSetResponse'
{
GenerateChangeSetResponse -> Maybe S3Location
s3Location :: Prelude.Maybe S3Location,
GenerateChangeSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GenerateChangeSetResponse -> GenerateChangeSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GenerateChangeSetResponse -> GenerateChangeSetResponse -> Bool
$c/= :: GenerateChangeSetResponse -> GenerateChangeSetResponse -> Bool
== :: GenerateChangeSetResponse -> GenerateChangeSetResponse -> Bool
$c== :: GenerateChangeSetResponse -> GenerateChangeSetResponse -> Bool
Prelude.Eq, ReadPrec [GenerateChangeSetResponse]
ReadPrec GenerateChangeSetResponse
Int -> ReadS GenerateChangeSetResponse
ReadS [GenerateChangeSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GenerateChangeSetResponse]
$creadListPrec :: ReadPrec [GenerateChangeSetResponse]
readPrec :: ReadPrec GenerateChangeSetResponse
$creadPrec :: ReadPrec GenerateChangeSetResponse
readList :: ReadS [GenerateChangeSetResponse]
$creadList :: ReadS [GenerateChangeSetResponse]
readsPrec :: Int -> ReadS GenerateChangeSetResponse
$creadsPrec :: Int -> ReadS GenerateChangeSetResponse
Prelude.Read, Int -> GenerateChangeSetResponse -> ShowS
[GenerateChangeSetResponse] -> ShowS
GenerateChangeSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GenerateChangeSetResponse] -> ShowS
$cshowList :: [GenerateChangeSetResponse] -> ShowS
show :: GenerateChangeSetResponse -> String
$cshow :: GenerateChangeSetResponse -> String
showsPrec :: Int -> GenerateChangeSetResponse -> ShowS
$cshowsPrec :: Int -> GenerateChangeSetResponse -> ShowS
Prelude.Show, forall x.
Rep GenerateChangeSetResponse x -> GenerateChangeSetResponse
forall x.
GenerateChangeSetResponse -> Rep GenerateChangeSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GenerateChangeSetResponse x -> GenerateChangeSetResponse
$cfrom :: forall x.
GenerateChangeSetResponse -> Rep GenerateChangeSetResponse x
Prelude.Generic)
newGenerateChangeSetResponse ::
Prelude.Int ->
GenerateChangeSetResponse
newGenerateChangeSetResponse :: Int -> GenerateChangeSetResponse
newGenerateChangeSetResponse Int
pHttpStatus_ =
GenerateChangeSetResponse'
{ $sel:s3Location:GenerateChangeSetResponse' :: Maybe S3Location
s3Location =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GenerateChangeSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
generateChangeSetResponse_s3Location :: Lens.Lens' GenerateChangeSetResponse (Prelude.Maybe S3Location)
generateChangeSetResponse_s3Location :: Lens' GenerateChangeSetResponse (Maybe S3Location)
generateChangeSetResponse_s3Location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateChangeSetResponse' {Maybe S3Location
s3Location :: Maybe S3Location
$sel:s3Location:GenerateChangeSetResponse' :: GenerateChangeSetResponse -> Maybe S3Location
s3Location} -> Maybe S3Location
s3Location) (\s :: GenerateChangeSetResponse
s@GenerateChangeSetResponse' {} Maybe S3Location
a -> GenerateChangeSetResponse
s {$sel:s3Location:GenerateChangeSetResponse' :: Maybe S3Location
s3Location = Maybe S3Location
a} :: GenerateChangeSetResponse)
generateChangeSetResponse_httpStatus :: Lens.Lens' GenerateChangeSetResponse Prelude.Int
generateChangeSetResponse_httpStatus :: Lens' GenerateChangeSetResponse Int
generateChangeSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateChangeSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:GenerateChangeSetResponse' :: GenerateChangeSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GenerateChangeSetResponse
s@GenerateChangeSetResponse' {} Int
a -> GenerateChangeSetResponse
s {$sel:httpStatus:GenerateChangeSetResponse' :: Int
httpStatus = Int
a} :: GenerateChangeSetResponse)
instance Prelude.NFData GenerateChangeSetResponse where
rnf :: GenerateChangeSetResponse -> ()
rnf GenerateChangeSetResponse' {Int
Maybe S3Location
httpStatus :: Int
s3Location :: Maybe S3Location
$sel:httpStatus:GenerateChangeSetResponse' :: GenerateChangeSetResponse -> Int
$sel:s3Location:GenerateChangeSetResponse' :: GenerateChangeSetResponse -> Maybe S3Location
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe S3Location
s3Location
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus