{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.EC2.MoveByoipCidrToIpam
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool.
--
-- If you already have an IPv4 BYOIP CIDR with Amazon Web Services, you can
-- move the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6
-- CIDR to IPAM. If you are bringing a new IP address to Amazon Web
-- Services for the first time, complete the steps in
-- <https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-ipam.html Tutorial: BYOIP address CIDRs to IPAM>.
module Amazonka.EC2.MoveByoipCidrToIpam
  ( -- * Creating a Request
    MoveByoipCidrToIpam (..),
    newMoveByoipCidrToIpam,

    -- * Request Lenses
    moveByoipCidrToIpam_dryRun,
    moveByoipCidrToIpam_cidr,
    moveByoipCidrToIpam_ipamPoolId,
    moveByoipCidrToIpam_ipamPoolOwner,

    -- * Destructuring the Response
    MoveByoipCidrToIpamResponse (..),
    newMoveByoipCidrToIpamResponse,

    -- * Response Lenses
    moveByoipCidrToIpamResponse_byoipCidr,
    moveByoipCidrToIpamResponse_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

-- | /See:/ 'newMoveByoipCidrToIpam' smart constructor.
data MoveByoipCidrToIpam = MoveByoipCidrToIpam'
  { -- | A check for whether you have the required permissions for the action
    -- without actually making the request and provides an error response. If
    -- you have the required permissions, the error response is
    -- @DryRunOperation@. Otherwise, it is @UnauthorizedOperation@.
    MoveByoipCidrToIpam -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The BYOIP CIDR.
    MoveByoipCidrToIpam -> Text
cidr :: Prelude.Text,
    -- | The IPAM pool ID.
    MoveByoipCidrToIpam -> Text
ipamPoolId :: Prelude.Text,
    -- | The Amazon Web Services account ID of the owner of the IPAM pool.
    MoveByoipCidrToIpam -> Text
ipamPoolOwner :: Prelude.Text
  }
  deriving (MoveByoipCidrToIpam -> MoveByoipCidrToIpam -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MoveByoipCidrToIpam -> MoveByoipCidrToIpam -> Bool
$c/= :: MoveByoipCidrToIpam -> MoveByoipCidrToIpam -> Bool
== :: MoveByoipCidrToIpam -> MoveByoipCidrToIpam -> Bool
$c== :: MoveByoipCidrToIpam -> MoveByoipCidrToIpam -> Bool
Prelude.Eq, ReadPrec [MoveByoipCidrToIpam]
ReadPrec MoveByoipCidrToIpam
Int -> ReadS MoveByoipCidrToIpam
ReadS [MoveByoipCidrToIpam]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MoveByoipCidrToIpam]
$creadListPrec :: ReadPrec [MoveByoipCidrToIpam]
readPrec :: ReadPrec MoveByoipCidrToIpam
$creadPrec :: ReadPrec MoveByoipCidrToIpam
readList :: ReadS [MoveByoipCidrToIpam]
$creadList :: ReadS [MoveByoipCidrToIpam]
readsPrec :: Int -> ReadS MoveByoipCidrToIpam
$creadsPrec :: Int -> ReadS MoveByoipCidrToIpam
Prelude.Read, Int -> MoveByoipCidrToIpam -> ShowS
[MoveByoipCidrToIpam] -> ShowS
MoveByoipCidrToIpam -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MoveByoipCidrToIpam] -> ShowS
$cshowList :: [MoveByoipCidrToIpam] -> ShowS
show :: MoveByoipCidrToIpam -> String
$cshow :: MoveByoipCidrToIpam -> String
showsPrec :: Int -> MoveByoipCidrToIpam -> ShowS
$cshowsPrec :: Int -> MoveByoipCidrToIpam -> ShowS
Prelude.Show, forall x. Rep MoveByoipCidrToIpam x -> MoveByoipCidrToIpam
forall x. MoveByoipCidrToIpam -> Rep MoveByoipCidrToIpam x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MoveByoipCidrToIpam x -> MoveByoipCidrToIpam
$cfrom :: forall x. MoveByoipCidrToIpam -> Rep MoveByoipCidrToIpam x
Prelude.Generic)

-- |
-- Create a value of 'MoveByoipCidrToIpam' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'dryRun', 'moveByoipCidrToIpam_dryRun' - A check for whether you have the required permissions for the action
-- without actually making the request and provides an error response. If
-- you have the required permissions, the error response is
-- @DryRunOperation@. Otherwise, it is @UnauthorizedOperation@.
--
-- 'cidr', 'moveByoipCidrToIpam_cidr' - The BYOIP CIDR.
--
-- 'ipamPoolId', 'moveByoipCidrToIpam_ipamPoolId' - The IPAM pool ID.
--
-- 'ipamPoolOwner', 'moveByoipCidrToIpam_ipamPoolOwner' - The Amazon Web Services account ID of the owner of the IPAM pool.
newMoveByoipCidrToIpam ::
  -- | 'cidr'
  Prelude.Text ->
  -- | 'ipamPoolId'
  Prelude.Text ->
  -- | 'ipamPoolOwner'
  Prelude.Text ->
  MoveByoipCidrToIpam
newMoveByoipCidrToIpam :: Text -> Text -> Text -> MoveByoipCidrToIpam
newMoveByoipCidrToIpam
  Text
pCidr_
  Text
pIpamPoolId_
  Text
pIpamPoolOwner_ =
    MoveByoipCidrToIpam'
      { $sel:dryRun:MoveByoipCidrToIpam' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
        $sel:cidr:MoveByoipCidrToIpam' :: Text
cidr = Text
pCidr_,
        $sel:ipamPoolId:MoveByoipCidrToIpam' :: Text
ipamPoolId = Text
pIpamPoolId_,
        $sel:ipamPoolOwner:MoveByoipCidrToIpam' :: Text
ipamPoolOwner = Text
pIpamPoolOwner_
      }

-- | A check for whether you have the required permissions for the action
-- without actually making the request and provides an error response. If
-- you have the required permissions, the error response is
-- @DryRunOperation@. Otherwise, it is @UnauthorizedOperation@.
moveByoipCidrToIpam_dryRun :: Lens.Lens' MoveByoipCidrToIpam (Prelude.Maybe Prelude.Bool)
moveByoipCidrToIpam_dryRun :: Lens' MoveByoipCidrToIpam (Maybe Bool)
moveByoipCidrToIpam_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MoveByoipCidrToIpam' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: MoveByoipCidrToIpam
s@MoveByoipCidrToIpam' {} Maybe Bool
a -> MoveByoipCidrToIpam
s {$sel:dryRun:MoveByoipCidrToIpam' :: Maybe Bool
dryRun = Maybe Bool
a} :: MoveByoipCidrToIpam)

-- | The BYOIP CIDR.
moveByoipCidrToIpam_cidr :: Lens.Lens' MoveByoipCidrToIpam Prelude.Text
moveByoipCidrToIpam_cidr :: Lens' MoveByoipCidrToIpam Text
moveByoipCidrToIpam_cidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MoveByoipCidrToIpam' {Text
cidr :: Text
$sel:cidr:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
cidr} -> Text
cidr) (\s :: MoveByoipCidrToIpam
s@MoveByoipCidrToIpam' {} Text
a -> MoveByoipCidrToIpam
s {$sel:cidr:MoveByoipCidrToIpam' :: Text
cidr = Text
a} :: MoveByoipCidrToIpam)

-- | The IPAM pool ID.
moveByoipCidrToIpam_ipamPoolId :: Lens.Lens' MoveByoipCidrToIpam Prelude.Text
moveByoipCidrToIpam_ipamPoolId :: Lens' MoveByoipCidrToIpam Text
moveByoipCidrToIpam_ipamPoolId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MoveByoipCidrToIpam' {Text
ipamPoolId :: Text
$sel:ipamPoolId:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
ipamPoolId} -> Text
ipamPoolId) (\s :: MoveByoipCidrToIpam
s@MoveByoipCidrToIpam' {} Text
a -> MoveByoipCidrToIpam
s {$sel:ipamPoolId:MoveByoipCidrToIpam' :: Text
ipamPoolId = Text
a} :: MoveByoipCidrToIpam)

-- | The Amazon Web Services account ID of the owner of the IPAM pool.
moveByoipCidrToIpam_ipamPoolOwner :: Lens.Lens' MoveByoipCidrToIpam Prelude.Text
moveByoipCidrToIpam_ipamPoolOwner :: Lens' MoveByoipCidrToIpam Text
moveByoipCidrToIpam_ipamPoolOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MoveByoipCidrToIpam' {Text
ipamPoolOwner :: Text
$sel:ipamPoolOwner:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
ipamPoolOwner} -> Text
ipamPoolOwner) (\s :: MoveByoipCidrToIpam
s@MoveByoipCidrToIpam' {} Text
a -> MoveByoipCidrToIpam
s {$sel:ipamPoolOwner:MoveByoipCidrToIpam' :: Text
ipamPoolOwner = Text
a} :: MoveByoipCidrToIpam)

instance Core.AWSRequest MoveByoipCidrToIpam where
  type
    AWSResponse MoveByoipCidrToIpam =
      MoveByoipCidrToIpamResponse
  request :: (Service -> Service)
-> MoveByoipCidrToIpam -> Request MoveByoipCidrToIpam
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 MoveByoipCidrToIpam
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse MoveByoipCidrToIpam)))
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 ByoipCidr -> Int -> MoveByoipCidrToIpamResponse
MoveByoipCidrToIpamResponse'
            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
"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 MoveByoipCidrToIpam where
  hashWithSalt :: Int -> MoveByoipCidrToIpam -> Int
hashWithSalt Int
_salt MoveByoipCidrToIpam' {Maybe Bool
Text
ipamPoolOwner :: Text
ipamPoolId :: Text
cidr :: Text
dryRun :: Maybe Bool
$sel:ipamPoolOwner:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:ipamPoolId:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:cidr:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:dryRun:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
cidr
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ipamPoolId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ipamPoolOwner

instance Prelude.NFData MoveByoipCidrToIpam where
  rnf :: MoveByoipCidrToIpam -> ()
rnf MoveByoipCidrToIpam' {Maybe Bool
Text
ipamPoolOwner :: Text
ipamPoolId :: Text
cidr :: Text
dryRun :: Maybe Bool
$sel:ipamPoolOwner:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:ipamPoolId:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:cidr:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:dryRun:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Maybe Bool
..} =
    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
cidr
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
ipamPoolId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
ipamPoolOwner

instance Data.ToHeaders MoveByoipCidrToIpam where
  toHeaders :: MoveByoipCidrToIpam -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath MoveByoipCidrToIpam where
  toPath :: MoveByoipCidrToIpam -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery MoveByoipCidrToIpam where
  toQuery :: MoveByoipCidrToIpam -> QueryString
toQuery MoveByoipCidrToIpam' {Maybe Bool
Text
ipamPoolOwner :: Text
ipamPoolId :: Text
cidr :: Text
dryRun :: Maybe Bool
$sel:ipamPoolOwner:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:ipamPoolId:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:cidr:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Text
$sel:dryRun:MoveByoipCidrToIpam' :: MoveByoipCidrToIpam -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"MoveByoipCidrToIpam" :: Prelude.ByteString),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
        ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
        ByteString
"Cidr" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
cidr,
        ByteString
"IpamPoolId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ipamPoolId,
        ByteString
"IpamPoolOwner" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ipamPoolOwner
      ]

-- | /See:/ 'newMoveByoipCidrToIpamResponse' smart constructor.
data MoveByoipCidrToIpamResponse = MoveByoipCidrToIpamResponse'
  { -- | The BYOIP CIDR.
    MoveByoipCidrToIpamResponse -> Maybe ByoipCidr
byoipCidr :: Prelude.Maybe ByoipCidr,
    -- | The response's http status code.
    MoveByoipCidrToIpamResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (MoveByoipCidrToIpamResponse -> MoveByoipCidrToIpamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MoveByoipCidrToIpamResponse -> MoveByoipCidrToIpamResponse -> Bool
$c/= :: MoveByoipCidrToIpamResponse -> MoveByoipCidrToIpamResponse -> Bool
== :: MoveByoipCidrToIpamResponse -> MoveByoipCidrToIpamResponse -> Bool
$c== :: MoveByoipCidrToIpamResponse -> MoveByoipCidrToIpamResponse -> Bool
Prelude.Eq, ReadPrec [MoveByoipCidrToIpamResponse]
ReadPrec MoveByoipCidrToIpamResponse
Int -> ReadS MoveByoipCidrToIpamResponse
ReadS [MoveByoipCidrToIpamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MoveByoipCidrToIpamResponse]
$creadListPrec :: ReadPrec [MoveByoipCidrToIpamResponse]
readPrec :: ReadPrec MoveByoipCidrToIpamResponse
$creadPrec :: ReadPrec MoveByoipCidrToIpamResponse
readList :: ReadS [MoveByoipCidrToIpamResponse]
$creadList :: ReadS [MoveByoipCidrToIpamResponse]
readsPrec :: Int -> ReadS MoveByoipCidrToIpamResponse
$creadsPrec :: Int -> ReadS MoveByoipCidrToIpamResponse
Prelude.Read, Int -> MoveByoipCidrToIpamResponse -> ShowS
[MoveByoipCidrToIpamResponse] -> ShowS
MoveByoipCidrToIpamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MoveByoipCidrToIpamResponse] -> ShowS
$cshowList :: [MoveByoipCidrToIpamResponse] -> ShowS
show :: MoveByoipCidrToIpamResponse -> String
$cshow :: MoveByoipCidrToIpamResponse -> String
showsPrec :: Int -> MoveByoipCidrToIpamResponse -> ShowS
$cshowsPrec :: Int -> MoveByoipCidrToIpamResponse -> ShowS
Prelude.Show, forall x.
Rep MoveByoipCidrToIpamResponse x -> MoveByoipCidrToIpamResponse
forall x.
MoveByoipCidrToIpamResponse -> Rep MoveByoipCidrToIpamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep MoveByoipCidrToIpamResponse x -> MoveByoipCidrToIpamResponse
$cfrom :: forall x.
MoveByoipCidrToIpamResponse -> Rep MoveByoipCidrToIpamResponse x
Prelude.Generic)

-- |
-- Create a value of 'MoveByoipCidrToIpamResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'byoipCidr', 'moveByoipCidrToIpamResponse_byoipCidr' - The BYOIP CIDR.
--
-- 'httpStatus', 'moveByoipCidrToIpamResponse_httpStatus' - The response's http status code.
newMoveByoipCidrToIpamResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  MoveByoipCidrToIpamResponse
newMoveByoipCidrToIpamResponse :: Int -> MoveByoipCidrToIpamResponse
newMoveByoipCidrToIpamResponse Int
pHttpStatus_ =
  MoveByoipCidrToIpamResponse'
    { $sel:byoipCidr:MoveByoipCidrToIpamResponse' :: Maybe ByoipCidr
byoipCidr =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:MoveByoipCidrToIpamResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The BYOIP CIDR.
moveByoipCidrToIpamResponse_byoipCidr :: Lens.Lens' MoveByoipCidrToIpamResponse (Prelude.Maybe ByoipCidr)
moveByoipCidrToIpamResponse_byoipCidr :: Lens' MoveByoipCidrToIpamResponse (Maybe ByoipCidr)
moveByoipCidrToIpamResponse_byoipCidr = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MoveByoipCidrToIpamResponse' {Maybe ByoipCidr
byoipCidr :: Maybe ByoipCidr
$sel:byoipCidr:MoveByoipCidrToIpamResponse' :: MoveByoipCidrToIpamResponse -> Maybe ByoipCidr
byoipCidr} -> Maybe ByoipCidr
byoipCidr) (\s :: MoveByoipCidrToIpamResponse
s@MoveByoipCidrToIpamResponse' {} Maybe ByoipCidr
a -> MoveByoipCidrToIpamResponse
s {$sel:byoipCidr:MoveByoipCidrToIpamResponse' :: Maybe ByoipCidr
byoipCidr = Maybe ByoipCidr
a} :: MoveByoipCidrToIpamResponse)

-- | The response's http status code.
moveByoipCidrToIpamResponse_httpStatus :: Lens.Lens' MoveByoipCidrToIpamResponse Prelude.Int
moveByoipCidrToIpamResponse_httpStatus :: Lens' MoveByoipCidrToIpamResponse Int
moveByoipCidrToIpamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MoveByoipCidrToIpamResponse' {Int
httpStatus :: Int
$sel:httpStatus:MoveByoipCidrToIpamResponse' :: MoveByoipCidrToIpamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: MoveByoipCidrToIpamResponse
s@MoveByoipCidrToIpamResponse' {} Int
a -> MoveByoipCidrToIpamResponse
s {$sel:httpStatus:MoveByoipCidrToIpamResponse' :: Int
httpStatus = Int
a} :: MoveByoipCidrToIpamResponse)

instance Prelude.NFData MoveByoipCidrToIpamResponse where
  rnf :: MoveByoipCidrToIpamResponse -> ()
rnf MoveByoipCidrToIpamResponse' {Int
Maybe ByoipCidr
httpStatus :: Int
byoipCidr :: Maybe ByoipCidr
$sel:httpStatus:MoveByoipCidrToIpamResponse' :: MoveByoipCidrToIpamResponse -> Int
$sel:byoipCidr:MoveByoipCidrToIpamResponse' :: MoveByoipCidrToIpamResponse -> 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