{-# 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.PinpointSmsVoiceV2.SetDefaultMessageType
(
SetDefaultMessageType (..),
newSetDefaultMessageType,
setDefaultMessageType_configurationSetName,
setDefaultMessageType_messageType,
SetDefaultMessageTypeResponse (..),
newSetDefaultMessageTypeResponse,
setDefaultMessageTypeResponse_configurationSetArn,
setDefaultMessageTypeResponse_configurationSetName,
setDefaultMessageTypeResponse_messageType,
setDefaultMessageTypeResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.PinpointSmsVoiceV2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data SetDefaultMessageType = SetDefaultMessageType'
{
SetDefaultMessageType -> Text
configurationSetName :: Prelude.Text,
SetDefaultMessageType -> MessageType
messageType :: MessageType
}
deriving (SetDefaultMessageType -> SetDefaultMessageType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetDefaultMessageType -> SetDefaultMessageType -> Bool
$c/= :: SetDefaultMessageType -> SetDefaultMessageType -> Bool
== :: SetDefaultMessageType -> SetDefaultMessageType -> Bool
$c== :: SetDefaultMessageType -> SetDefaultMessageType -> Bool
Prelude.Eq, ReadPrec [SetDefaultMessageType]
ReadPrec SetDefaultMessageType
Int -> ReadS SetDefaultMessageType
ReadS [SetDefaultMessageType]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetDefaultMessageType]
$creadListPrec :: ReadPrec [SetDefaultMessageType]
readPrec :: ReadPrec SetDefaultMessageType
$creadPrec :: ReadPrec SetDefaultMessageType
readList :: ReadS [SetDefaultMessageType]
$creadList :: ReadS [SetDefaultMessageType]
readsPrec :: Int -> ReadS SetDefaultMessageType
$creadsPrec :: Int -> ReadS SetDefaultMessageType
Prelude.Read, Int -> SetDefaultMessageType -> ShowS
[SetDefaultMessageType] -> ShowS
SetDefaultMessageType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetDefaultMessageType] -> ShowS
$cshowList :: [SetDefaultMessageType] -> ShowS
show :: SetDefaultMessageType -> String
$cshow :: SetDefaultMessageType -> String
showsPrec :: Int -> SetDefaultMessageType -> ShowS
$cshowsPrec :: Int -> SetDefaultMessageType -> ShowS
Prelude.Show, forall x. Rep SetDefaultMessageType x -> SetDefaultMessageType
forall x. SetDefaultMessageType -> Rep SetDefaultMessageType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SetDefaultMessageType x -> SetDefaultMessageType
$cfrom :: forall x. SetDefaultMessageType -> Rep SetDefaultMessageType x
Prelude.Generic)
newSetDefaultMessageType ::
Prelude.Text ->
MessageType ->
SetDefaultMessageType
newSetDefaultMessageType :: Text -> MessageType -> SetDefaultMessageType
newSetDefaultMessageType
Text
pConfigurationSetName_
MessageType
pMessageType_ =
SetDefaultMessageType'
{ $sel:configurationSetName:SetDefaultMessageType' :: Text
configurationSetName =
Text
pConfigurationSetName_,
$sel:messageType:SetDefaultMessageType' :: MessageType
messageType = MessageType
pMessageType_
}
setDefaultMessageType_configurationSetName :: Lens.Lens' SetDefaultMessageType Prelude.Text
setDefaultMessageType_configurationSetName :: Lens' SetDefaultMessageType Text
setDefaultMessageType_configurationSetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDefaultMessageType' {Text
configurationSetName :: Text
$sel:configurationSetName:SetDefaultMessageType' :: SetDefaultMessageType -> Text
configurationSetName} -> Text
configurationSetName) (\s :: SetDefaultMessageType
s@SetDefaultMessageType' {} Text
a -> SetDefaultMessageType
s {$sel:configurationSetName:SetDefaultMessageType' :: Text
configurationSetName = Text
a} :: SetDefaultMessageType)
setDefaultMessageType_messageType :: Lens.Lens' SetDefaultMessageType MessageType
setDefaultMessageType_messageType :: Lens' SetDefaultMessageType MessageType
setDefaultMessageType_messageType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDefaultMessageType' {MessageType
messageType :: MessageType
$sel:messageType:SetDefaultMessageType' :: SetDefaultMessageType -> MessageType
messageType} -> MessageType
messageType) (\s :: SetDefaultMessageType
s@SetDefaultMessageType' {} MessageType
a -> SetDefaultMessageType
s {$sel:messageType:SetDefaultMessageType' :: MessageType
messageType = MessageType
a} :: SetDefaultMessageType)
instance Core.AWSRequest SetDefaultMessageType where
type
AWSResponse SetDefaultMessageType =
SetDefaultMessageTypeResponse
request :: (Service -> Service)
-> SetDefaultMessageType -> Request SetDefaultMessageType
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 SetDefaultMessageType
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse SetDefaultMessageType)))
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
-> Maybe Text
-> Maybe MessageType
-> Int
-> SetDefaultMessageTypeResponse
SetDefaultMessageTypeResponse'
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
"ConfigurationSetArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ConfigurationSetName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"MessageType")
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 SetDefaultMessageType where
hashWithSalt :: Int -> SetDefaultMessageType -> Int
hashWithSalt Int
_salt SetDefaultMessageType' {Text
MessageType
messageType :: MessageType
configurationSetName :: Text
$sel:messageType:SetDefaultMessageType' :: SetDefaultMessageType -> MessageType
$sel:configurationSetName:SetDefaultMessageType' :: SetDefaultMessageType -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
configurationSetName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MessageType
messageType
instance Prelude.NFData SetDefaultMessageType where
rnf :: SetDefaultMessageType -> ()
rnf SetDefaultMessageType' {Text
MessageType
messageType :: MessageType
configurationSetName :: Text
$sel:messageType:SetDefaultMessageType' :: SetDefaultMessageType -> MessageType
$sel:configurationSetName:SetDefaultMessageType' :: SetDefaultMessageType -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
configurationSetName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MessageType
messageType
instance Data.ToHeaders SetDefaultMessageType where
toHeaders :: SetDefaultMessageType -> 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
"PinpointSMSVoiceV2.SetDefaultMessageType" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON SetDefaultMessageType where
toJSON :: SetDefaultMessageType -> Value
toJSON SetDefaultMessageType' {Text
MessageType
messageType :: MessageType
configurationSetName :: Text
$sel:messageType:SetDefaultMessageType' :: SetDefaultMessageType -> MessageType
$sel:configurationSetName:SetDefaultMessageType' :: SetDefaultMessageType -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"ConfigurationSetName"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
configurationSetName
),
forall a. a -> Maybe a
Prelude.Just (Key
"MessageType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MessageType
messageType)
]
)
instance Data.ToPath SetDefaultMessageType where
toPath :: SetDefaultMessageType -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery SetDefaultMessageType where
toQuery :: SetDefaultMessageType -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SetDefaultMessageTypeResponse = SetDefaultMessageTypeResponse'
{
SetDefaultMessageTypeResponse -> Maybe Text
configurationSetArn :: Prelude.Maybe Prelude.Text,
SetDefaultMessageTypeResponse -> Maybe Text
configurationSetName :: Prelude.Maybe Prelude.Text,
SetDefaultMessageTypeResponse -> Maybe MessageType
messageType :: Prelude.Maybe MessageType,
SetDefaultMessageTypeResponse -> Int
httpStatus :: Prelude.Int
}
deriving (SetDefaultMessageTypeResponse
-> SetDefaultMessageTypeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetDefaultMessageTypeResponse
-> SetDefaultMessageTypeResponse -> Bool
$c/= :: SetDefaultMessageTypeResponse
-> SetDefaultMessageTypeResponse -> Bool
== :: SetDefaultMessageTypeResponse
-> SetDefaultMessageTypeResponse -> Bool
$c== :: SetDefaultMessageTypeResponse
-> SetDefaultMessageTypeResponse -> Bool
Prelude.Eq, ReadPrec [SetDefaultMessageTypeResponse]
ReadPrec SetDefaultMessageTypeResponse
Int -> ReadS SetDefaultMessageTypeResponse
ReadS [SetDefaultMessageTypeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetDefaultMessageTypeResponse]
$creadListPrec :: ReadPrec [SetDefaultMessageTypeResponse]
readPrec :: ReadPrec SetDefaultMessageTypeResponse
$creadPrec :: ReadPrec SetDefaultMessageTypeResponse
readList :: ReadS [SetDefaultMessageTypeResponse]
$creadList :: ReadS [SetDefaultMessageTypeResponse]
readsPrec :: Int -> ReadS SetDefaultMessageTypeResponse
$creadsPrec :: Int -> ReadS SetDefaultMessageTypeResponse
Prelude.Read, Int -> SetDefaultMessageTypeResponse -> ShowS
[SetDefaultMessageTypeResponse] -> ShowS
SetDefaultMessageTypeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetDefaultMessageTypeResponse] -> ShowS
$cshowList :: [SetDefaultMessageTypeResponse] -> ShowS
show :: SetDefaultMessageTypeResponse -> String
$cshow :: SetDefaultMessageTypeResponse -> String
showsPrec :: Int -> SetDefaultMessageTypeResponse -> ShowS
$cshowsPrec :: Int -> SetDefaultMessageTypeResponse -> ShowS
Prelude.Show, forall x.
Rep SetDefaultMessageTypeResponse x
-> SetDefaultMessageTypeResponse
forall x.
SetDefaultMessageTypeResponse
-> Rep SetDefaultMessageTypeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SetDefaultMessageTypeResponse x
-> SetDefaultMessageTypeResponse
$cfrom :: forall x.
SetDefaultMessageTypeResponse
-> Rep SetDefaultMessageTypeResponse x
Prelude.Generic)
newSetDefaultMessageTypeResponse ::
Prelude.Int ->
SetDefaultMessageTypeResponse
newSetDefaultMessageTypeResponse :: Int -> SetDefaultMessageTypeResponse
newSetDefaultMessageTypeResponse Int
pHttpStatus_ =
SetDefaultMessageTypeResponse'
{ $sel:configurationSetArn:SetDefaultMessageTypeResponse' :: Maybe Text
configurationSetArn =
forall a. Maybe a
Prelude.Nothing,
$sel:configurationSetName:SetDefaultMessageTypeResponse' :: Maybe Text
configurationSetName = forall a. Maybe a
Prelude.Nothing,
$sel:messageType:SetDefaultMessageTypeResponse' :: Maybe MessageType
messageType = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:SetDefaultMessageTypeResponse' :: Int
httpStatus = Int
pHttpStatus_
}
setDefaultMessageTypeResponse_configurationSetArn :: Lens.Lens' SetDefaultMessageTypeResponse (Prelude.Maybe Prelude.Text)
setDefaultMessageTypeResponse_configurationSetArn :: Lens' SetDefaultMessageTypeResponse (Maybe Text)
setDefaultMessageTypeResponse_configurationSetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDefaultMessageTypeResponse' {Maybe Text
configurationSetArn :: Maybe Text
$sel:configurationSetArn:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Maybe Text
configurationSetArn} -> Maybe Text
configurationSetArn) (\s :: SetDefaultMessageTypeResponse
s@SetDefaultMessageTypeResponse' {} Maybe Text
a -> SetDefaultMessageTypeResponse
s {$sel:configurationSetArn:SetDefaultMessageTypeResponse' :: Maybe Text
configurationSetArn = Maybe Text
a} :: SetDefaultMessageTypeResponse)
setDefaultMessageTypeResponse_configurationSetName :: Lens.Lens' SetDefaultMessageTypeResponse (Prelude.Maybe Prelude.Text)
setDefaultMessageTypeResponse_configurationSetName :: Lens' SetDefaultMessageTypeResponse (Maybe Text)
setDefaultMessageTypeResponse_configurationSetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDefaultMessageTypeResponse' {Maybe Text
configurationSetName :: Maybe Text
$sel:configurationSetName:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Maybe Text
configurationSetName} -> Maybe Text
configurationSetName) (\s :: SetDefaultMessageTypeResponse
s@SetDefaultMessageTypeResponse' {} Maybe Text
a -> SetDefaultMessageTypeResponse
s {$sel:configurationSetName:SetDefaultMessageTypeResponse' :: Maybe Text
configurationSetName = Maybe Text
a} :: SetDefaultMessageTypeResponse)
setDefaultMessageTypeResponse_messageType :: Lens.Lens' SetDefaultMessageTypeResponse (Prelude.Maybe MessageType)
setDefaultMessageTypeResponse_messageType :: Lens' SetDefaultMessageTypeResponse (Maybe MessageType)
setDefaultMessageTypeResponse_messageType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDefaultMessageTypeResponse' {Maybe MessageType
messageType :: Maybe MessageType
$sel:messageType:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Maybe MessageType
messageType} -> Maybe MessageType
messageType) (\s :: SetDefaultMessageTypeResponse
s@SetDefaultMessageTypeResponse' {} Maybe MessageType
a -> SetDefaultMessageTypeResponse
s {$sel:messageType:SetDefaultMessageTypeResponse' :: Maybe MessageType
messageType = Maybe MessageType
a} :: SetDefaultMessageTypeResponse)
setDefaultMessageTypeResponse_httpStatus :: Lens.Lens' SetDefaultMessageTypeResponse Prelude.Int
setDefaultMessageTypeResponse_httpStatus :: Lens' SetDefaultMessageTypeResponse Int
setDefaultMessageTypeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDefaultMessageTypeResponse' {Int
httpStatus :: Int
$sel:httpStatus:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: SetDefaultMessageTypeResponse
s@SetDefaultMessageTypeResponse' {} Int
a -> SetDefaultMessageTypeResponse
s {$sel:httpStatus:SetDefaultMessageTypeResponse' :: Int
httpStatus = Int
a} :: SetDefaultMessageTypeResponse)
instance Prelude.NFData SetDefaultMessageTypeResponse where
rnf :: SetDefaultMessageTypeResponse -> ()
rnf SetDefaultMessageTypeResponse' {Int
Maybe Text
Maybe MessageType
httpStatus :: Int
messageType :: Maybe MessageType
configurationSetName :: Maybe Text
configurationSetArn :: Maybe Text
$sel:httpStatus:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Int
$sel:messageType:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Maybe MessageType
$sel:configurationSetName:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Maybe Text
$sel:configurationSetArn:SetDefaultMessageTypeResponse' :: SetDefaultMessageTypeResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
configurationSetArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
configurationSetName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MessageType
messageType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus