{-# 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.GlobalAccelerator.ProvisionByoipCidr
(
ProvisionByoipCidr (..),
newProvisionByoipCidr,
provisionByoipCidr_cidr,
provisionByoipCidr_cidrAuthorizationContext,
ProvisionByoipCidrResponse (..),
newProvisionByoipCidrResponse,
provisionByoipCidrResponse_byoipCidr,
provisionByoipCidrResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GlobalAccelerator.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ProvisionByoipCidr = ProvisionByoipCidr'
{
ProvisionByoipCidr -> Text
cidr :: Prelude.Text,
ProvisionByoipCidr -> CidrAuthorizationContext
cidrAuthorizationContext :: CidrAuthorizationContext
}
deriving (ProvisionByoipCidr -> ProvisionByoipCidr -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvisionByoipCidr -> ProvisionByoipCidr -> Bool
$c/= :: ProvisionByoipCidr -> ProvisionByoipCidr -> Bool
== :: ProvisionByoipCidr -> ProvisionByoipCidr -> Bool
$c== :: ProvisionByoipCidr -> ProvisionByoipCidr -> Bool
Prelude.Eq, ReadPrec [ProvisionByoipCidr]
ReadPrec ProvisionByoipCidr
Int -> ReadS ProvisionByoipCidr
ReadS [ProvisionByoipCidr]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProvisionByoipCidr]
$creadListPrec :: ReadPrec [ProvisionByoipCidr]
readPrec :: ReadPrec ProvisionByoipCidr
$creadPrec :: ReadPrec ProvisionByoipCidr
readList :: ReadS [ProvisionByoipCidr]
$creadList :: ReadS [ProvisionByoipCidr]
readsPrec :: Int -> ReadS ProvisionByoipCidr
$creadsPrec :: Int -> ReadS ProvisionByoipCidr
Prelude.Read, Int -> ProvisionByoipCidr -> ShowS
[ProvisionByoipCidr] -> ShowS
ProvisionByoipCidr -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProvisionByoipCidr] -> ShowS
$cshowList :: [ProvisionByoipCidr] -> ShowS
show :: ProvisionByoipCidr -> String
$cshow :: ProvisionByoipCidr -> String
showsPrec :: Int -> ProvisionByoipCidr -> ShowS
$cshowsPrec :: Int -> ProvisionByoipCidr -> ShowS
Prelude.Show, forall x. Rep ProvisionByoipCidr x -> ProvisionByoipCidr
forall x. ProvisionByoipCidr -> Rep ProvisionByoipCidr x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProvisionByoipCidr x -> ProvisionByoipCidr
$cfrom :: forall x. ProvisionByoipCidr -> Rep ProvisionByoipCidr x
Prelude.Generic)
newProvisionByoipCidr ::
Prelude.Text ->
CidrAuthorizationContext ->
ProvisionByoipCidr
newProvisionByoipCidr :: Text -> CidrAuthorizationContext -> ProvisionByoipCidr
newProvisionByoipCidr
Text
pCidr_
CidrAuthorizationContext
pCidrAuthorizationContext_ =
ProvisionByoipCidr'
{ $sel:cidr:ProvisionByoipCidr' :: Text
cidr = Text
pCidr_,
$sel:cidrAuthorizationContext:ProvisionByoipCidr' :: CidrAuthorizationContext
cidrAuthorizationContext =
CidrAuthorizationContext
pCidrAuthorizationContext_
}
provisionByoipCidr_cidr :: Lens.Lens' ProvisionByoipCidr Prelude.Text
provisionByoipCidr_cidr :: Lens' ProvisionByoipCidr Text
provisionByoipCidr_cidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionByoipCidr' {Text
cidr :: Text
$sel:cidr:ProvisionByoipCidr' :: ProvisionByoipCidr -> Text
cidr} -> Text
cidr) (\s :: ProvisionByoipCidr
s@ProvisionByoipCidr' {} Text
a -> ProvisionByoipCidr
s {$sel:cidr:ProvisionByoipCidr' :: Text
cidr = Text
a} :: ProvisionByoipCidr)
provisionByoipCidr_cidrAuthorizationContext :: Lens.Lens' ProvisionByoipCidr CidrAuthorizationContext
provisionByoipCidr_cidrAuthorizationContext :: Lens' ProvisionByoipCidr CidrAuthorizationContext
provisionByoipCidr_cidrAuthorizationContext = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionByoipCidr' {CidrAuthorizationContext
cidrAuthorizationContext :: CidrAuthorizationContext
$sel:cidrAuthorizationContext:ProvisionByoipCidr' :: ProvisionByoipCidr -> CidrAuthorizationContext
cidrAuthorizationContext} -> CidrAuthorizationContext
cidrAuthorizationContext) (\s :: ProvisionByoipCidr
s@ProvisionByoipCidr' {} CidrAuthorizationContext
a -> ProvisionByoipCidr
s {$sel:cidrAuthorizationContext:ProvisionByoipCidr' :: CidrAuthorizationContext
cidrAuthorizationContext = CidrAuthorizationContext
a} :: ProvisionByoipCidr)
instance Core.AWSRequest ProvisionByoipCidr where
type
AWSResponse ProvisionByoipCidr =
ProvisionByoipCidrResponse
request :: (Service -> Service)
-> ProvisionByoipCidr -> Request ProvisionByoipCidr
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 ProvisionByoipCidr
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ProvisionByoipCidr)))
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 ByoipCidr -> Int -> ProvisionByoipCidrResponse
ProvisionByoipCidrResponse'
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
"ByoipCidr")
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 ProvisionByoipCidr where
hashWithSalt :: Int -> ProvisionByoipCidr -> Int
hashWithSalt Int
_salt ProvisionByoipCidr' {Text
CidrAuthorizationContext
cidrAuthorizationContext :: CidrAuthorizationContext
cidr :: Text
$sel:cidrAuthorizationContext:ProvisionByoipCidr' :: ProvisionByoipCidr -> CidrAuthorizationContext
$sel:cidr:ProvisionByoipCidr' :: ProvisionByoipCidr -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
cidr
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CidrAuthorizationContext
cidrAuthorizationContext
instance Prelude.NFData ProvisionByoipCidr where
rnf :: ProvisionByoipCidr -> ()
rnf ProvisionByoipCidr' {Text
CidrAuthorizationContext
cidrAuthorizationContext :: CidrAuthorizationContext
cidr :: Text
$sel:cidrAuthorizationContext:ProvisionByoipCidr' :: ProvisionByoipCidr -> CidrAuthorizationContext
$sel:cidr:ProvisionByoipCidr' :: ProvisionByoipCidr -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
cidr
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CidrAuthorizationContext
cidrAuthorizationContext
instance Data.ToHeaders ProvisionByoipCidr where
toHeaders :: ProvisionByoipCidr -> 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
"GlobalAccelerator_V20180706.ProvisionByoipCidr" ::
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 ProvisionByoipCidr where
toJSON :: ProvisionByoipCidr -> Value
toJSON ProvisionByoipCidr' {Text
CidrAuthorizationContext
cidrAuthorizationContext :: CidrAuthorizationContext
cidr :: Text
$sel:cidrAuthorizationContext:ProvisionByoipCidr' :: ProvisionByoipCidr -> CidrAuthorizationContext
$sel:cidr:ProvisionByoipCidr' :: ProvisionByoipCidr -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"Cidr" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
cidr),
forall a. a -> Maybe a
Prelude.Just
( Key
"CidrAuthorizationContext"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= CidrAuthorizationContext
cidrAuthorizationContext
)
]
)
instance Data.ToPath ProvisionByoipCidr where
toPath :: ProvisionByoipCidr -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ProvisionByoipCidr where
toQuery :: ProvisionByoipCidr -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ProvisionByoipCidrResponse = ProvisionByoipCidrResponse'
{
ProvisionByoipCidrResponse -> Maybe ByoipCidr
byoipCidr :: Prelude.Maybe ByoipCidr,
ProvisionByoipCidrResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ProvisionByoipCidrResponse -> ProvisionByoipCidrResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvisionByoipCidrResponse -> ProvisionByoipCidrResponse -> Bool
$c/= :: ProvisionByoipCidrResponse -> ProvisionByoipCidrResponse -> Bool
== :: ProvisionByoipCidrResponse -> ProvisionByoipCidrResponse -> Bool
$c== :: ProvisionByoipCidrResponse -> ProvisionByoipCidrResponse -> Bool
Prelude.Eq, ReadPrec [ProvisionByoipCidrResponse]
ReadPrec ProvisionByoipCidrResponse
Int -> ReadS ProvisionByoipCidrResponse
ReadS [ProvisionByoipCidrResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProvisionByoipCidrResponse]
$creadListPrec :: ReadPrec [ProvisionByoipCidrResponse]
readPrec :: ReadPrec ProvisionByoipCidrResponse
$creadPrec :: ReadPrec ProvisionByoipCidrResponse
readList :: ReadS [ProvisionByoipCidrResponse]
$creadList :: ReadS [ProvisionByoipCidrResponse]
readsPrec :: Int -> ReadS ProvisionByoipCidrResponse
$creadsPrec :: Int -> ReadS ProvisionByoipCidrResponse
Prelude.Read, Int -> ProvisionByoipCidrResponse -> ShowS
[ProvisionByoipCidrResponse] -> ShowS
ProvisionByoipCidrResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProvisionByoipCidrResponse] -> ShowS
$cshowList :: [ProvisionByoipCidrResponse] -> ShowS
show :: ProvisionByoipCidrResponse -> String
$cshow :: ProvisionByoipCidrResponse -> String
showsPrec :: Int -> ProvisionByoipCidrResponse -> ShowS
$cshowsPrec :: Int -> ProvisionByoipCidrResponse -> ShowS
Prelude.Show, forall x.
Rep ProvisionByoipCidrResponse x -> ProvisionByoipCidrResponse
forall x.
ProvisionByoipCidrResponse -> Rep ProvisionByoipCidrResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ProvisionByoipCidrResponse x -> ProvisionByoipCidrResponse
$cfrom :: forall x.
ProvisionByoipCidrResponse -> Rep ProvisionByoipCidrResponse x
Prelude.Generic)
newProvisionByoipCidrResponse ::
Prelude.Int ->
ProvisionByoipCidrResponse
newProvisionByoipCidrResponse :: Int -> ProvisionByoipCidrResponse
newProvisionByoipCidrResponse Int
pHttpStatus_ =
ProvisionByoipCidrResponse'
{ $sel:byoipCidr:ProvisionByoipCidrResponse' :: Maybe ByoipCidr
byoipCidr =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ProvisionByoipCidrResponse' :: Int
httpStatus = Int
pHttpStatus_
}
provisionByoipCidrResponse_byoipCidr :: Lens.Lens' ProvisionByoipCidrResponse (Prelude.Maybe ByoipCidr)
provisionByoipCidrResponse_byoipCidr :: Lens' ProvisionByoipCidrResponse (Maybe ByoipCidr)
provisionByoipCidrResponse_byoipCidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionByoipCidrResponse' {Maybe ByoipCidr
byoipCidr :: Maybe ByoipCidr
$sel:byoipCidr:ProvisionByoipCidrResponse' :: ProvisionByoipCidrResponse -> Maybe ByoipCidr
byoipCidr} -> Maybe ByoipCidr
byoipCidr) (\s :: ProvisionByoipCidrResponse
s@ProvisionByoipCidrResponse' {} Maybe ByoipCidr
a -> ProvisionByoipCidrResponse
s {$sel:byoipCidr:ProvisionByoipCidrResponse' :: Maybe ByoipCidr
byoipCidr = Maybe ByoipCidr
a} :: ProvisionByoipCidrResponse)
provisionByoipCidrResponse_httpStatus :: Lens.Lens' ProvisionByoipCidrResponse Prelude.Int
provisionByoipCidrResponse_httpStatus :: Lens' ProvisionByoipCidrResponse Int
provisionByoipCidrResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionByoipCidrResponse' {Int
httpStatus :: Int
$sel:httpStatus:ProvisionByoipCidrResponse' :: ProvisionByoipCidrResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ProvisionByoipCidrResponse
s@ProvisionByoipCidrResponse' {} Int
a -> ProvisionByoipCidrResponse
s {$sel:httpStatus:ProvisionByoipCidrResponse' :: Int
httpStatus = Int
a} :: ProvisionByoipCidrResponse)
instance Prelude.NFData ProvisionByoipCidrResponse where
rnf :: ProvisionByoipCidrResponse -> ()
rnf ProvisionByoipCidrResponse' {Int
Maybe ByoipCidr
httpStatus :: Int
byoipCidr :: Maybe ByoipCidr
$sel:httpStatus:ProvisionByoipCidrResponse' :: ProvisionByoipCidrResponse -> Int
$sel:byoipCidr:ProvisionByoipCidrResponse' :: ProvisionByoipCidrResponse -> Maybe ByoipCidr
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ByoipCidr
byoipCidr
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus