{-# 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.EC2.ProvisionIpamPoolCidr
(
ProvisionIpamPoolCidr (..),
newProvisionIpamPoolCidr,
provisionIpamPoolCidr_cidr,
provisionIpamPoolCidr_cidrAuthorizationContext,
provisionIpamPoolCidr_dryRun,
provisionIpamPoolCidr_ipamPoolId,
ProvisionIpamPoolCidrResponse (..),
newProvisionIpamPoolCidrResponse,
provisionIpamPoolCidrResponse_ipamPoolCidr,
provisionIpamPoolCidrResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ProvisionIpamPoolCidr = ProvisionIpamPoolCidr'
{
ProvisionIpamPoolCidr -> Maybe Text
cidr :: Prelude.Maybe Prelude.Text,
ProvisionIpamPoolCidr -> Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext :: Prelude.Maybe IpamCidrAuthorizationContext,
ProvisionIpamPoolCidr -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
ProvisionIpamPoolCidr -> Text
ipamPoolId :: Prelude.Text
}
deriving (ProvisionIpamPoolCidr -> ProvisionIpamPoolCidr -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvisionIpamPoolCidr -> ProvisionIpamPoolCidr -> Bool
$c/= :: ProvisionIpamPoolCidr -> ProvisionIpamPoolCidr -> Bool
== :: ProvisionIpamPoolCidr -> ProvisionIpamPoolCidr -> Bool
$c== :: ProvisionIpamPoolCidr -> ProvisionIpamPoolCidr -> Bool
Prelude.Eq, ReadPrec [ProvisionIpamPoolCidr]
ReadPrec ProvisionIpamPoolCidr
Int -> ReadS ProvisionIpamPoolCidr
ReadS [ProvisionIpamPoolCidr]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProvisionIpamPoolCidr]
$creadListPrec :: ReadPrec [ProvisionIpamPoolCidr]
readPrec :: ReadPrec ProvisionIpamPoolCidr
$creadPrec :: ReadPrec ProvisionIpamPoolCidr
readList :: ReadS [ProvisionIpamPoolCidr]
$creadList :: ReadS [ProvisionIpamPoolCidr]
readsPrec :: Int -> ReadS ProvisionIpamPoolCidr
$creadsPrec :: Int -> ReadS ProvisionIpamPoolCidr
Prelude.Read, Int -> ProvisionIpamPoolCidr -> ShowS
[ProvisionIpamPoolCidr] -> ShowS
ProvisionIpamPoolCidr -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProvisionIpamPoolCidr] -> ShowS
$cshowList :: [ProvisionIpamPoolCidr] -> ShowS
show :: ProvisionIpamPoolCidr -> String
$cshow :: ProvisionIpamPoolCidr -> String
showsPrec :: Int -> ProvisionIpamPoolCidr -> ShowS
$cshowsPrec :: Int -> ProvisionIpamPoolCidr -> ShowS
Prelude.Show, forall x. Rep ProvisionIpamPoolCidr x -> ProvisionIpamPoolCidr
forall x. ProvisionIpamPoolCidr -> Rep ProvisionIpamPoolCidr x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProvisionIpamPoolCidr x -> ProvisionIpamPoolCidr
$cfrom :: forall x. ProvisionIpamPoolCidr -> Rep ProvisionIpamPoolCidr x
Prelude.Generic)
newProvisionIpamPoolCidr ::
Prelude.Text ->
ProvisionIpamPoolCidr
newProvisionIpamPoolCidr :: Text -> ProvisionIpamPoolCidr
newProvisionIpamPoolCidr Text
pIpamPoolId_ =
ProvisionIpamPoolCidr'
{ $sel:cidr:ProvisionIpamPoolCidr' :: Maybe Text
cidr = forall a. Maybe a
Prelude.Nothing,
$sel:cidrAuthorizationContext:ProvisionIpamPoolCidr' :: Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext = forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:ProvisionIpamPoolCidr' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:ipamPoolId:ProvisionIpamPoolCidr' :: Text
ipamPoolId = Text
pIpamPoolId_
}
provisionIpamPoolCidr_cidr :: Lens.Lens' ProvisionIpamPoolCidr (Prelude.Maybe Prelude.Text)
provisionIpamPoolCidr_cidr :: Lens' ProvisionIpamPoolCidr (Maybe Text)
provisionIpamPoolCidr_cidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionIpamPoolCidr' {Maybe Text
cidr :: Maybe Text
$sel:cidr:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Text
cidr} -> Maybe Text
cidr) (\s :: ProvisionIpamPoolCidr
s@ProvisionIpamPoolCidr' {} Maybe Text
a -> ProvisionIpamPoolCidr
s {$sel:cidr:ProvisionIpamPoolCidr' :: Maybe Text
cidr = Maybe Text
a} :: ProvisionIpamPoolCidr)
provisionIpamPoolCidr_cidrAuthorizationContext :: Lens.Lens' ProvisionIpamPoolCidr (Prelude.Maybe IpamCidrAuthorizationContext)
provisionIpamPoolCidr_cidrAuthorizationContext :: Lens' ProvisionIpamPoolCidr (Maybe IpamCidrAuthorizationContext)
provisionIpamPoolCidr_cidrAuthorizationContext = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionIpamPoolCidr' {Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext :: Maybe IpamCidrAuthorizationContext
$sel:cidrAuthorizationContext:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext} -> Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext) (\s :: ProvisionIpamPoolCidr
s@ProvisionIpamPoolCidr' {} Maybe IpamCidrAuthorizationContext
a -> ProvisionIpamPoolCidr
s {$sel:cidrAuthorizationContext:ProvisionIpamPoolCidr' :: Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext = Maybe IpamCidrAuthorizationContext
a} :: ProvisionIpamPoolCidr)
provisionIpamPoolCidr_dryRun :: Lens.Lens' ProvisionIpamPoolCidr (Prelude.Maybe Prelude.Bool)
provisionIpamPoolCidr_dryRun :: Lens' ProvisionIpamPoolCidr (Maybe Bool)
provisionIpamPoolCidr_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionIpamPoolCidr' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: ProvisionIpamPoolCidr
s@ProvisionIpamPoolCidr' {} Maybe Bool
a -> ProvisionIpamPoolCidr
s {$sel:dryRun:ProvisionIpamPoolCidr' :: Maybe Bool
dryRun = Maybe Bool
a} :: ProvisionIpamPoolCidr)
provisionIpamPoolCidr_ipamPoolId :: Lens.Lens' ProvisionIpamPoolCidr Prelude.Text
provisionIpamPoolCidr_ipamPoolId :: Lens' ProvisionIpamPoolCidr Text
provisionIpamPoolCidr_ipamPoolId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionIpamPoolCidr' {Text
ipamPoolId :: Text
$sel:ipamPoolId:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Text
ipamPoolId} -> Text
ipamPoolId) (\s :: ProvisionIpamPoolCidr
s@ProvisionIpamPoolCidr' {} Text
a -> ProvisionIpamPoolCidr
s {$sel:ipamPoolId:ProvisionIpamPoolCidr' :: Text
ipamPoolId = Text
a} :: ProvisionIpamPoolCidr)
instance Core.AWSRequest ProvisionIpamPoolCidr where
type
AWSResponse ProvisionIpamPoolCidr =
ProvisionIpamPoolCidrResponse
request :: (Service -> Service)
-> ProvisionIpamPoolCidr -> Request ProvisionIpamPoolCidr
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ProvisionIpamPoolCidr
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ProvisionIpamPoolCidr)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe IpamPoolCidr -> Int -> ProvisionIpamPoolCidrResponse
ProvisionIpamPoolCidrResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ipamPoolCidr")
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 ProvisionIpamPoolCidr where
hashWithSalt :: Int -> ProvisionIpamPoolCidr -> Int
hashWithSalt Int
_salt ProvisionIpamPoolCidr' {Maybe Bool
Maybe Text
Maybe IpamCidrAuthorizationContext
Text
ipamPoolId :: Text
dryRun :: Maybe Bool
cidrAuthorizationContext :: Maybe IpamCidrAuthorizationContext
cidr :: Maybe Text
$sel:ipamPoolId:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Text
$sel:dryRun:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Bool
$sel:cidrAuthorizationContext:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe IpamCidrAuthorizationContext
$sel:cidr:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
cidr
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ipamPoolId
instance Prelude.NFData ProvisionIpamPoolCidr where
rnf :: ProvisionIpamPoolCidr -> ()
rnf ProvisionIpamPoolCidr' {Maybe Bool
Maybe Text
Maybe IpamCidrAuthorizationContext
Text
ipamPoolId :: Text
dryRun :: Maybe Bool
cidrAuthorizationContext :: Maybe IpamCidrAuthorizationContext
cidr :: Maybe Text
$sel:ipamPoolId:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Text
$sel:dryRun:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Bool
$sel:cidrAuthorizationContext:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe IpamCidrAuthorizationContext
$sel:cidr:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cidr
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
ipamPoolId
instance Data.ToHeaders ProvisionIpamPoolCidr where
toHeaders :: ProvisionIpamPoolCidr -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ProvisionIpamPoolCidr where
toPath :: ProvisionIpamPoolCidr -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ProvisionIpamPoolCidr where
toQuery :: ProvisionIpamPoolCidr -> QueryString
toQuery ProvisionIpamPoolCidr' {Maybe Bool
Maybe Text
Maybe IpamCidrAuthorizationContext
Text
ipamPoolId :: Text
dryRun :: Maybe Bool
cidrAuthorizationContext :: Maybe IpamCidrAuthorizationContext
cidr :: Maybe Text
$sel:ipamPoolId:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Text
$sel:dryRun:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Bool
$sel:cidrAuthorizationContext:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe IpamCidrAuthorizationContext
$sel:cidr:ProvisionIpamPoolCidr' :: ProvisionIpamPoolCidr -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ProvisionIpamPoolCidr" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"Cidr" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
cidr,
ByteString
"CidrAuthorizationContext"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe IpamCidrAuthorizationContext
cidrAuthorizationContext,
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
ByteString
"IpamPoolId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ipamPoolId
]
data ProvisionIpamPoolCidrResponse = ProvisionIpamPoolCidrResponse'
{
ProvisionIpamPoolCidrResponse -> Maybe IpamPoolCidr
ipamPoolCidr :: Prelude.Maybe IpamPoolCidr,
ProvisionIpamPoolCidrResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ProvisionIpamPoolCidrResponse
-> ProvisionIpamPoolCidrResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvisionIpamPoolCidrResponse
-> ProvisionIpamPoolCidrResponse -> Bool
$c/= :: ProvisionIpamPoolCidrResponse
-> ProvisionIpamPoolCidrResponse -> Bool
== :: ProvisionIpamPoolCidrResponse
-> ProvisionIpamPoolCidrResponse -> Bool
$c== :: ProvisionIpamPoolCidrResponse
-> ProvisionIpamPoolCidrResponse -> Bool
Prelude.Eq, ReadPrec [ProvisionIpamPoolCidrResponse]
ReadPrec ProvisionIpamPoolCidrResponse
Int -> ReadS ProvisionIpamPoolCidrResponse
ReadS [ProvisionIpamPoolCidrResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProvisionIpamPoolCidrResponse]
$creadListPrec :: ReadPrec [ProvisionIpamPoolCidrResponse]
readPrec :: ReadPrec ProvisionIpamPoolCidrResponse
$creadPrec :: ReadPrec ProvisionIpamPoolCidrResponse
readList :: ReadS [ProvisionIpamPoolCidrResponse]
$creadList :: ReadS [ProvisionIpamPoolCidrResponse]
readsPrec :: Int -> ReadS ProvisionIpamPoolCidrResponse
$creadsPrec :: Int -> ReadS ProvisionIpamPoolCidrResponse
Prelude.Read, Int -> ProvisionIpamPoolCidrResponse -> ShowS
[ProvisionIpamPoolCidrResponse] -> ShowS
ProvisionIpamPoolCidrResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProvisionIpamPoolCidrResponse] -> ShowS
$cshowList :: [ProvisionIpamPoolCidrResponse] -> ShowS
show :: ProvisionIpamPoolCidrResponse -> String
$cshow :: ProvisionIpamPoolCidrResponse -> String
showsPrec :: Int -> ProvisionIpamPoolCidrResponse -> ShowS
$cshowsPrec :: Int -> ProvisionIpamPoolCidrResponse -> ShowS
Prelude.Show, forall x.
Rep ProvisionIpamPoolCidrResponse x
-> ProvisionIpamPoolCidrResponse
forall x.
ProvisionIpamPoolCidrResponse
-> Rep ProvisionIpamPoolCidrResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ProvisionIpamPoolCidrResponse x
-> ProvisionIpamPoolCidrResponse
$cfrom :: forall x.
ProvisionIpamPoolCidrResponse
-> Rep ProvisionIpamPoolCidrResponse x
Prelude.Generic)
newProvisionIpamPoolCidrResponse ::
Prelude.Int ->
ProvisionIpamPoolCidrResponse
newProvisionIpamPoolCidrResponse :: Int -> ProvisionIpamPoolCidrResponse
newProvisionIpamPoolCidrResponse Int
pHttpStatus_ =
ProvisionIpamPoolCidrResponse'
{ $sel:ipamPoolCidr:ProvisionIpamPoolCidrResponse' :: Maybe IpamPoolCidr
ipamPoolCidr =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ProvisionIpamPoolCidrResponse' :: Int
httpStatus = Int
pHttpStatus_
}
provisionIpamPoolCidrResponse_ipamPoolCidr :: Lens.Lens' ProvisionIpamPoolCidrResponse (Prelude.Maybe IpamPoolCidr)
provisionIpamPoolCidrResponse_ipamPoolCidr :: Lens' ProvisionIpamPoolCidrResponse (Maybe IpamPoolCidr)
provisionIpamPoolCidrResponse_ipamPoolCidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionIpamPoolCidrResponse' {Maybe IpamPoolCidr
ipamPoolCidr :: Maybe IpamPoolCidr
$sel:ipamPoolCidr:ProvisionIpamPoolCidrResponse' :: ProvisionIpamPoolCidrResponse -> Maybe IpamPoolCidr
ipamPoolCidr} -> Maybe IpamPoolCidr
ipamPoolCidr) (\s :: ProvisionIpamPoolCidrResponse
s@ProvisionIpamPoolCidrResponse' {} Maybe IpamPoolCidr
a -> ProvisionIpamPoolCidrResponse
s {$sel:ipamPoolCidr:ProvisionIpamPoolCidrResponse' :: Maybe IpamPoolCidr
ipamPoolCidr = Maybe IpamPoolCidr
a} :: ProvisionIpamPoolCidrResponse)
provisionIpamPoolCidrResponse_httpStatus :: Lens.Lens' ProvisionIpamPoolCidrResponse Prelude.Int
provisionIpamPoolCidrResponse_httpStatus :: Lens' ProvisionIpamPoolCidrResponse Int
provisionIpamPoolCidrResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProvisionIpamPoolCidrResponse' {Int
httpStatus :: Int
$sel:httpStatus:ProvisionIpamPoolCidrResponse' :: ProvisionIpamPoolCidrResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ProvisionIpamPoolCidrResponse
s@ProvisionIpamPoolCidrResponse' {} Int
a -> ProvisionIpamPoolCidrResponse
s {$sel:httpStatus:ProvisionIpamPoolCidrResponse' :: Int
httpStatus = Int
a} :: ProvisionIpamPoolCidrResponse)
instance Prelude.NFData ProvisionIpamPoolCidrResponse where
rnf :: ProvisionIpamPoolCidrResponse -> ()
rnf ProvisionIpamPoolCidrResponse' {Int
Maybe IpamPoolCidr
httpStatus :: Int
ipamPoolCidr :: Maybe IpamPoolCidr
$sel:httpStatus:ProvisionIpamPoolCidrResponse' :: ProvisionIpamPoolCidrResponse -> Int
$sel:ipamPoolCidr:ProvisionIpamPoolCidrResponse' :: ProvisionIpamPoolCidrResponse -> Maybe IpamPoolCidr
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe IpamPoolCidr
ipamPoolCidr
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus