{-# 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.ChimeSdkVoice.CreatePhoneNumberOrder
(
CreatePhoneNumberOrder (..),
newCreatePhoneNumberOrder,
createPhoneNumberOrder_productType,
createPhoneNumberOrder_e164PhoneNumbers,
CreatePhoneNumberOrderResponse (..),
newCreatePhoneNumberOrderResponse,
createPhoneNumberOrderResponse_phoneNumberOrder,
createPhoneNumberOrderResponse_httpStatus,
)
where
import Amazonka.ChimeSdkVoice.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 CreatePhoneNumberOrder = CreatePhoneNumberOrder'
{ CreatePhoneNumberOrder -> PhoneNumberProductType
productType :: PhoneNumberProductType,
CreatePhoneNumberOrder -> [Sensitive Text]
e164PhoneNumbers :: [Data.Sensitive Prelude.Text]
}
deriving (CreatePhoneNumberOrder -> CreatePhoneNumberOrder -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePhoneNumberOrder -> CreatePhoneNumberOrder -> Bool
$c/= :: CreatePhoneNumberOrder -> CreatePhoneNumberOrder -> Bool
== :: CreatePhoneNumberOrder -> CreatePhoneNumberOrder -> Bool
$c== :: CreatePhoneNumberOrder -> CreatePhoneNumberOrder -> Bool
Prelude.Eq, Int -> CreatePhoneNumberOrder -> ShowS
[CreatePhoneNumberOrder] -> ShowS
CreatePhoneNumberOrder -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePhoneNumberOrder] -> ShowS
$cshowList :: [CreatePhoneNumberOrder] -> ShowS
show :: CreatePhoneNumberOrder -> String
$cshow :: CreatePhoneNumberOrder -> String
showsPrec :: Int -> CreatePhoneNumberOrder -> ShowS
$cshowsPrec :: Int -> CreatePhoneNumberOrder -> ShowS
Prelude.Show, forall x. Rep CreatePhoneNumberOrder x -> CreatePhoneNumberOrder
forall x. CreatePhoneNumberOrder -> Rep CreatePhoneNumberOrder x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreatePhoneNumberOrder x -> CreatePhoneNumberOrder
$cfrom :: forall x. CreatePhoneNumberOrder -> Rep CreatePhoneNumberOrder x
Prelude.Generic)
newCreatePhoneNumberOrder ::
PhoneNumberProductType ->
CreatePhoneNumberOrder
newCreatePhoneNumberOrder :: PhoneNumberProductType -> CreatePhoneNumberOrder
newCreatePhoneNumberOrder PhoneNumberProductType
pProductType_ =
CreatePhoneNumberOrder'
{ $sel:productType:CreatePhoneNumberOrder' :: PhoneNumberProductType
productType =
PhoneNumberProductType
pProductType_,
$sel:e164PhoneNumbers:CreatePhoneNumberOrder' :: [Sensitive Text]
e164PhoneNumbers = forall a. Monoid a => a
Prelude.mempty
}
createPhoneNumberOrder_productType :: Lens.Lens' CreatePhoneNumberOrder PhoneNumberProductType
createPhoneNumberOrder_productType :: Lens' CreatePhoneNumberOrder PhoneNumberProductType
createPhoneNumberOrder_productType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePhoneNumberOrder' {PhoneNumberProductType
productType :: PhoneNumberProductType
$sel:productType:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> PhoneNumberProductType
productType} -> PhoneNumberProductType
productType) (\s :: CreatePhoneNumberOrder
s@CreatePhoneNumberOrder' {} PhoneNumberProductType
a -> CreatePhoneNumberOrder
s {$sel:productType:CreatePhoneNumberOrder' :: PhoneNumberProductType
productType = PhoneNumberProductType
a} :: CreatePhoneNumberOrder)
createPhoneNumberOrder_e164PhoneNumbers :: Lens.Lens' CreatePhoneNumberOrder [Prelude.Text]
createPhoneNumberOrder_e164PhoneNumbers :: Lens' CreatePhoneNumberOrder [Text]
createPhoneNumberOrder_e164PhoneNumbers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePhoneNumberOrder' {[Sensitive Text]
e164PhoneNumbers :: [Sensitive Text]
$sel:e164PhoneNumbers:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> [Sensitive Text]
e164PhoneNumbers} -> [Sensitive Text]
e164PhoneNumbers) (\s :: CreatePhoneNumberOrder
s@CreatePhoneNumberOrder' {} [Sensitive Text]
a -> CreatePhoneNumberOrder
s {$sel:e164PhoneNumbers:CreatePhoneNumberOrder' :: [Sensitive Text]
e164PhoneNumbers = [Sensitive Text]
a} :: CreatePhoneNumberOrder) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest CreatePhoneNumberOrder where
type
AWSResponse CreatePhoneNumberOrder =
CreatePhoneNumberOrderResponse
request :: (Service -> Service)
-> CreatePhoneNumberOrder -> Request CreatePhoneNumberOrder
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 CreatePhoneNumberOrder
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreatePhoneNumberOrder)))
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 PhoneNumberOrder -> Int -> CreatePhoneNumberOrderResponse
CreatePhoneNumberOrderResponse'
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
"PhoneNumberOrder")
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 CreatePhoneNumberOrder where
hashWithSalt :: Int -> CreatePhoneNumberOrder -> Int
hashWithSalt Int
_salt CreatePhoneNumberOrder' {[Sensitive Text]
PhoneNumberProductType
e164PhoneNumbers :: [Sensitive Text]
productType :: PhoneNumberProductType
$sel:e164PhoneNumbers:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> [Sensitive Text]
$sel:productType:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> PhoneNumberProductType
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PhoneNumberProductType
productType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Sensitive Text]
e164PhoneNumbers
instance Prelude.NFData CreatePhoneNumberOrder where
rnf :: CreatePhoneNumberOrder -> ()
rnf CreatePhoneNumberOrder' {[Sensitive Text]
PhoneNumberProductType
e164PhoneNumbers :: [Sensitive Text]
productType :: PhoneNumberProductType
$sel:e164PhoneNumbers:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> [Sensitive Text]
$sel:productType:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> PhoneNumberProductType
..} =
forall a. NFData a => a -> ()
Prelude.rnf PhoneNumberProductType
productType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Sensitive Text]
e164PhoneNumbers
instance Data.ToHeaders CreatePhoneNumberOrder where
toHeaders :: CreatePhoneNumberOrder -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON CreatePhoneNumberOrder where
toJSON :: CreatePhoneNumberOrder -> Value
toJSON CreatePhoneNumberOrder' {[Sensitive Text]
PhoneNumberProductType
e164PhoneNumbers :: [Sensitive Text]
productType :: PhoneNumberProductType
$sel:e164PhoneNumbers:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> [Sensitive Text]
$sel:productType:CreatePhoneNumberOrder' :: CreatePhoneNumberOrder -> PhoneNumberProductType
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"ProductType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PhoneNumberProductType
productType),
forall a. a -> Maybe a
Prelude.Just
(Key
"E164PhoneNumbers" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Sensitive Text]
e164PhoneNumbers)
]
)
instance Data.ToPath CreatePhoneNumberOrder where
toPath :: CreatePhoneNumberOrder -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/phone-number-orders"
instance Data.ToQuery CreatePhoneNumberOrder where
toQuery :: CreatePhoneNumberOrder -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreatePhoneNumberOrderResponse = CreatePhoneNumberOrderResponse'
{ CreatePhoneNumberOrderResponse -> Maybe PhoneNumberOrder
phoneNumberOrder :: Prelude.Maybe PhoneNumberOrder,
CreatePhoneNumberOrderResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreatePhoneNumberOrderResponse
-> CreatePhoneNumberOrderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePhoneNumberOrderResponse
-> CreatePhoneNumberOrderResponse -> Bool
$c/= :: CreatePhoneNumberOrderResponse
-> CreatePhoneNumberOrderResponse -> Bool
== :: CreatePhoneNumberOrderResponse
-> CreatePhoneNumberOrderResponse -> Bool
$c== :: CreatePhoneNumberOrderResponse
-> CreatePhoneNumberOrderResponse -> Bool
Prelude.Eq, Int -> CreatePhoneNumberOrderResponse -> ShowS
[CreatePhoneNumberOrderResponse] -> ShowS
CreatePhoneNumberOrderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePhoneNumberOrderResponse] -> ShowS
$cshowList :: [CreatePhoneNumberOrderResponse] -> ShowS
show :: CreatePhoneNumberOrderResponse -> String
$cshow :: CreatePhoneNumberOrderResponse -> String
showsPrec :: Int -> CreatePhoneNumberOrderResponse -> ShowS
$cshowsPrec :: Int -> CreatePhoneNumberOrderResponse -> ShowS
Prelude.Show, forall x.
Rep CreatePhoneNumberOrderResponse x
-> CreatePhoneNumberOrderResponse
forall x.
CreatePhoneNumberOrderResponse
-> Rep CreatePhoneNumberOrderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreatePhoneNumberOrderResponse x
-> CreatePhoneNumberOrderResponse
$cfrom :: forall x.
CreatePhoneNumberOrderResponse
-> Rep CreatePhoneNumberOrderResponse x
Prelude.Generic)
newCreatePhoneNumberOrderResponse ::
Prelude.Int ->
CreatePhoneNumberOrderResponse
newCreatePhoneNumberOrderResponse :: Int -> CreatePhoneNumberOrderResponse
newCreatePhoneNumberOrderResponse Int
pHttpStatus_ =
CreatePhoneNumberOrderResponse'
{ $sel:phoneNumberOrder:CreatePhoneNumberOrderResponse' :: Maybe PhoneNumberOrder
phoneNumberOrder =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreatePhoneNumberOrderResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createPhoneNumberOrderResponse_phoneNumberOrder :: Lens.Lens' CreatePhoneNumberOrderResponse (Prelude.Maybe PhoneNumberOrder)
createPhoneNumberOrderResponse_phoneNumberOrder :: Lens' CreatePhoneNumberOrderResponse (Maybe PhoneNumberOrder)
createPhoneNumberOrderResponse_phoneNumberOrder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePhoneNumberOrderResponse' {Maybe PhoneNumberOrder
phoneNumberOrder :: Maybe PhoneNumberOrder
$sel:phoneNumberOrder:CreatePhoneNumberOrderResponse' :: CreatePhoneNumberOrderResponse -> Maybe PhoneNumberOrder
phoneNumberOrder} -> Maybe PhoneNumberOrder
phoneNumberOrder) (\s :: CreatePhoneNumberOrderResponse
s@CreatePhoneNumberOrderResponse' {} Maybe PhoneNumberOrder
a -> CreatePhoneNumberOrderResponse
s {$sel:phoneNumberOrder:CreatePhoneNumberOrderResponse' :: Maybe PhoneNumberOrder
phoneNumberOrder = Maybe PhoneNumberOrder
a} :: CreatePhoneNumberOrderResponse)
createPhoneNumberOrderResponse_httpStatus :: Lens.Lens' CreatePhoneNumberOrderResponse Prelude.Int
createPhoneNumberOrderResponse_httpStatus :: Lens' CreatePhoneNumberOrderResponse Int
createPhoneNumberOrderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePhoneNumberOrderResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreatePhoneNumberOrderResponse' :: CreatePhoneNumberOrderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreatePhoneNumberOrderResponse
s@CreatePhoneNumberOrderResponse' {} Int
a -> CreatePhoneNumberOrderResponse
s {$sel:httpStatus:CreatePhoneNumberOrderResponse' :: Int
httpStatus = Int
a} :: CreatePhoneNumberOrderResponse)
instance
Prelude.NFData
CreatePhoneNumberOrderResponse
where
rnf :: CreatePhoneNumberOrderResponse -> ()
rnf CreatePhoneNumberOrderResponse' {Int
Maybe PhoneNumberOrder
httpStatus :: Int
phoneNumberOrder :: Maybe PhoneNumberOrder
$sel:httpStatus:CreatePhoneNumberOrderResponse' :: CreatePhoneNumberOrderResponse -> Int
$sel:phoneNumberOrder:CreatePhoneNumberOrderResponse' :: CreatePhoneNumberOrderResponse -> Maybe PhoneNumberOrder
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe PhoneNumberOrder
phoneNumberOrder
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus