{-# 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.ModifyVerifiedAccessInstance
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Modifies the configuration of the specified Verified Access instance.
module Amazonka.EC2.ModifyVerifiedAccessInstance
  ( -- * Creating a Request
    ModifyVerifiedAccessInstance (..),
    newModifyVerifiedAccessInstance,

    -- * Request Lenses
    modifyVerifiedAccessInstance_clientToken,
    modifyVerifiedAccessInstance_description,
    modifyVerifiedAccessInstance_dryRun,
    modifyVerifiedAccessInstance_verifiedAccessInstanceId,

    -- * Destructuring the Response
    ModifyVerifiedAccessInstanceResponse (..),
    newModifyVerifiedAccessInstanceResponse,

    -- * Response Lenses
    modifyVerifiedAccessInstanceResponse_verifiedAccessInstance,
    modifyVerifiedAccessInstanceResponse_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:/ 'newModifyVerifiedAccessInstance' smart constructor.
data ModifyVerifiedAccessInstance = ModifyVerifiedAccessInstance'
  { -- | A unique, case-sensitive token that you provide to ensure idempotency of
    -- your modification request. For more information, see
    -- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.
    ModifyVerifiedAccessInstance -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | A description for the Amazon Web Services Verified Access instance.
    ModifyVerifiedAccessInstance -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Checks 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@.
    ModifyVerifiedAccessInstance -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The ID of the Amazon Web Services Verified Access instance.
    ModifyVerifiedAccessInstance -> Text
verifiedAccessInstanceId :: Prelude.Text
  }
  deriving (ModifyVerifiedAccessInstance
-> ModifyVerifiedAccessInstance -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyVerifiedAccessInstance
-> ModifyVerifiedAccessInstance -> Bool
$c/= :: ModifyVerifiedAccessInstance
-> ModifyVerifiedAccessInstance -> Bool
== :: ModifyVerifiedAccessInstance
-> ModifyVerifiedAccessInstance -> Bool
$c== :: ModifyVerifiedAccessInstance
-> ModifyVerifiedAccessInstance -> Bool
Prelude.Eq, ReadPrec [ModifyVerifiedAccessInstance]
ReadPrec ModifyVerifiedAccessInstance
Int -> ReadS ModifyVerifiedAccessInstance
ReadS [ModifyVerifiedAccessInstance]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyVerifiedAccessInstance]
$creadListPrec :: ReadPrec [ModifyVerifiedAccessInstance]
readPrec :: ReadPrec ModifyVerifiedAccessInstance
$creadPrec :: ReadPrec ModifyVerifiedAccessInstance
readList :: ReadS [ModifyVerifiedAccessInstance]
$creadList :: ReadS [ModifyVerifiedAccessInstance]
readsPrec :: Int -> ReadS ModifyVerifiedAccessInstance
$creadsPrec :: Int -> ReadS ModifyVerifiedAccessInstance
Prelude.Read, Int -> ModifyVerifiedAccessInstance -> ShowS
[ModifyVerifiedAccessInstance] -> ShowS
ModifyVerifiedAccessInstance -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyVerifiedAccessInstance] -> ShowS
$cshowList :: [ModifyVerifiedAccessInstance] -> ShowS
show :: ModifyVerifiedAccessInstance -> String
$cshow :: ModifyVerifiedAccessInstance -> String
showsPrec :: Int -> ModifyVerifiedAccessInstance -> ShowS
$cshowsPrec :: Int -> ModifyVerifiedAccessInstance -> ShowS
Prelude.Show, forall x.
Rep ModifyVerifiedAccessInstance x -> ModifyVerifiedAccessInstance
forall x.
ModifyVerifiedAccessInstance -> Rep ModifyVerifiedAccessInstance x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyVerifiedAccessInstance x -> ModifyVerifiedAccessInstance
$cfrom :: forall x.
ModifyVerifiedAccessInstance -> Rep ModifyVerifiedAccessInstance x
Prelude.Generic)

-- |
-- Create a value of 'ModifyVerifiedAccessInstance' 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:
--
-- 'clientToken', 'modifyVerifiedAccessInstance_clientToken' - A unique, case-sensitive token that you provide to ensure idempotency of
-- your modification request. For more information, see
-- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.
--
-- 'description', 'modifyVerifiedAccessInstance_description' - A description for the Amazon Web Services Verified Access instance.
--
-- 'dryRun', 'modifyVerifiedAccessInstance_dryRun' - Checks 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@.
--
-- 'verifiedAccessInstanceId', 'modifyVerifiedAccessInstance_verifiedAccessInstanceId' - The ID of the Amazon Web Services Verified Access instance.
newModifyVerifiedAccessInstance ::
  -- | 'verifiedAccessInstanceId'
  Prelude.Text ->
  ModifyVerifiedAccessInstance
newModifyVerifiedAccessInstance :: Text -> ModifyVerifiedAccessInstance
newModifyVerifiedAccessInstance
  Text
pVerifiedAccessInstanceId_ =
    ModifyVerifiedAccessInstance'
      { $sel:clientToken:ModifyVerifiedAccessInstance' :: Maybe Text
clientToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:description:ModifyVerifiedAccessInstance' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
        $sel:dryRun:ModifyVerifiedAccessInstance' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
        $sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstance' :: Text
verifiedAccessInstanceId =
          Text
pVerifiedAccessInstanceId_
      }

-- | A unique, case-sensitive token that you provide to ensure idempotency of
-- your modification request. For more information, see
-- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring Idempotency>.
modifyVerifiedAccessInstance_clientToken :: Lens.Lens' ModifyVerifiedAccessInstance (Prelude.Maybe Prelude.Text)
modifyVerifiedAccessInstance_clientToken :: Lens' ModifyVerifiedAccessInstance (Maybe Text)
modifyVerifiedAccessInstance_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstance' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: ModifyVerifiedAccessInstance
s@ModifyVerifiedAccessInstance' {} Maybe Text
a -> ModifyVerifiedAccessInstance
s {$sel:clientToken:ModifyVerifiedAccessInstance' :: Maybe Text
clientToken = Maybe Text
a} :: ModifyVerifiedAccessInstance)

-- | A description for the Amazon Web Services Verified Access instance.
modifyVerifiedAccessInstance_description :: Lens.Lens' ModifyVerifiedAccessInstance (Prelude.Maybe Prelude.Text)
modifyVerifiedAccessInstance_description :: Lens' ModifyVerifiedAccessInstance (Maybe Text)
modifyVerifiedAccessInstance_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstance' {Maybe Text
description :: Maybe Text
$sel:description:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Text
description} -> Maybe Text
description) (\s :: ModifyVerifiedAccessInstance
s@ModifyVerifiedAccessInstance' {} Maybe Text
a -> ModifyVerifiedAccessInstance
s {$sel:description:ModifyVerifiedAccessInstance' :: Maybe Text
description = Maybe Text
a} :: ModifyVerifiedAccessInstance)

-- | Checks 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@.
modifyVerifiedAccessInstance_dryRun :: Lens.Lens' ModifyVerifiedAccessInstance (Prelude.Maybe Prelude.Bool)
modifyVerifiedAccessInstance_dryRun :: Lens' ModifyVerifiedAccessInstance (Maybe Bool)
modifyVerifiedAccessInstance_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstance' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: ModifyVerifiedAccessInstance
s@ModifyVerifiedAccessInstance' {} Maybe Bool
a -> ModifyVerifiedAccessInstance
s {$sel:dryRun:ModifyVerifiedAccessInstance' :: Maybe Bool
dryRun = Maybe Bool
a} :: ModifyVerifiedAccessInstance)

-- | The ID of the Amazon Web Services Verified Access instance.
modifyVerifiedAccessInstance_verifiedAccessInstanceId :: Lens.Lens' ModifyVerifiedAccessInstance Prelude.Text
modifyVerifiedAccessInstance_verifiedAccessInstanceId :: Lens' ModifyVerifiedAccessInstance Text
modifyVerifiedAccessInstance_verifiedAccessInstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstance' {Text
verifiedAccessInstanceId :: Text
$sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Text
verifiedAccessInstanceId} -> Text
verifiedAccessInstanceId) (\s :: ModifyVerifiedAccessInstance
s@ModifyVerifiedAccessInstance' {} Text
a -> ModifyVerifiedAccessInstance
s {$sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstance' :: Text
verifiedAccessInstanceId = Text
a} :: ModifyVerifiedAccessInstance)

instance Core.AWSRequest ModifyVerifiedAccessInstance where
  type
    AWSResponse ModifyVerifiedAccessInstance =
      ModifyVerifiedAccessInstanceResponse
  request :: (Service -> Service)
-> ModifyVerifiedAccessInstance
-> Request ModifyVerifiedAccessInstance
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 ModifyVerifiedAccessInstance
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ModifyVerifiedAccessInstance)))
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 VerifiedAccessInstance
-> Int -> ModifyVerifiedAccessInstanceResponse
ModifyVerifiedAccessInstanceResponse'
            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
"verifiedAccessInstance")
            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
    ModifyVerifiedAccessInstance
  where
  hashWithSalt :: Int -> ModifyVerifiedAccessInstance -> Int
hashWithSalt Int
_salt ModifyVerifiedAccessInstance' {Maybe Bool
Maybe Text
Text
verifiedAccessInstanceId :: Text
dryRun :: Maybe Bool
description :: Maybe Text
clientToken :: Maybe Text
$sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Text
$sel:dryRun:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Bool
$sel:description:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Text
$sel:clientToken:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
verifiedAccessInstanceId

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

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

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

instance Data.ToQuery ModifyVerifiedAccessInstance where
  toQuery :: ModifyVerifiedAccessInstance -> QueryString
toQuery ModifyVerifiedAccessInstance' {Maybe Bool
Maybe Text
Text
verifiedAccessInstanceId :: Text
dryRun :: Maybe Bool
description :: Maybe Text
clientToken :: Maybe Text
$sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Text
$sel:dryRun:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Bool
$sel:description:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Text
$sel:clientToken:ModifyVerifiedAccessInstance' :: ModifyVerifiedAccessInstance -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"ModifyVerifiedAccessInstance" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
        ByteString
"ClientToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientToken,
        ByteString
"Description" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
description,
        ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
        ByteString
"VerifiedAccessInstanceId"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
verifiedAccessInstanceId
      ]

-- | /See:/ 'newModifyVerifiedAccessInstanceResponse' smart constructor.
data ModifyVerifiedAccessInstanceResponse = ModifyVerifiedAccessInstanceResponse'
  { -- | The ID of the Amazon Web Services Verified Access instance.
    ModifyVerifiedAccessInstanceResponse
-> Maybe VerifiedAccessInstance
verifiedAccessInstance :: Prelude.Maybe VerifiedAccessInstance,
    -- | The response's http status code.
    ModifyVerifiedAccessInstanceResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ModifyVerifiedAccessInstanceResponse
-> ModifyVerifiedAccessInstanceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyVerifiedAccessInstanceResponse
-> ModifyVerifiedAccessInstanceResponse -> Bool
$c/= :: ModifyVerifiedAccessInstanceResponse
-> ModifyVerifiedAccessInstanceResponse -> Bool
== :: ModifyVerifiedAccessInstanceResponse
-> ModifyVerifiedAccessInstanceResponse -> Bool
$c== :: ModifyVerifiedAccessInstanceResponse
-> ModifyVerifiedAccessInstanceResponse -> Bool
Prelude.Eq, ReadPrec [ModifyVerifiedAccessInstanceResponse]
ReadPrec ModifyVerifiedAccessInstanceResponse
Int -> ReadS ModifyVerifiedAccessInstanceResponse
ReadS [ModifyVerifiedAccessInstanceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyVerifiedAccessInstanceResponse]
$creadListPrec :: ReadPrec [ModifyVerifiedAccessInstanceResponse]
readPrec :: ReadPrec ModifyVerifiedAccessInstanceResponse
$creadPrec :: ReadPrec ModifyVerifiedAccessInstanceResponse
readList :: ReadS [ModifyVerifiedAccessInstanceResponse]
$creadList :: ReadS [ModifyVerifiedAccessInstanceResponse]
readsPrec :: Int -> ReadS ModifyVerifiedAccessInstanceResponse
$creadsPrec :: Int -> ReadS ModifyVerifiedAccessInstanceResponse
Prelude.Read, Int -> ModifyVerifiedAccessInstanceResponse -> ShowS
[ModifyVerifiedAccessInstanceResponse] -> ShowS
ModifyVerifiedAccessInstanceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyVerifiedAccessInstanceResponse] -> ShowS
$cshowList :: [ModifyVerifiedAccessInstanceResponse] -> ShowS
show :: ModifyVerifiedAccessInstanceResponse -> String
$cshow :: ModifyVerifiedAccessInstanceResponse -> String
showsPrec :: Int -> ModifyVerifiedAccessInstanceResponse -> ShowS
$cshowsPrec :: Int -> ModifyVerifiedAccessInstanceResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyVerifiedAccessInstanceResponse x
-> ModifyVerifiedAccessInstanceResponse
forall x.
ModifyVerifiedAccessInstanceResponse
-> Rep ModifyVerifiedAccessInstanceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyVerifiedAccessInstanceResponse x
-> ModifyVerifiedAccessInstanceResponse
$cfrom :: forall x.
ModifyVerifiedAccessInstanceResponse
-> Rep ModifyVerifiedAccessInstanceResponse x
Prelude.Generic)

-- |
-- Create a value of 'ModifyVerifiedAccessInstanceResponse' 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:
--
-- 'verifiedAccessInstance', 'modifyVerifiedAccessInstanceResponse_verifiedAccessInstance' - The ID of the Amazon Web Services Verified Access instance.
--
-- 'httpStatus', 'modifyVerifiedAccessInstanceResponse_httpStatus' - The response's http status code.
newModifyVerifiedAccessInstanceResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyVerifiedAccessInstanceResponse
newModifyVerifiedAccessInstanceResponse :: Int -> ModifyVerifiedAccessInstanceResponse
newModifyVerifiedAccessInstanceResponse Int
pHttpStatus_ =
  ModifyVerifiedAccessInstanceResponse'
    { $sel:verifiedAccessInstance:ModifyVerifiedAccessInstanceResponse' :: Maybe VerifiedAccessInstance
verifiedAccessInstance =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ModifyVerifiedAccessInstanceResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The ID of the Amazon Web Services Verified Access instance.
modifyVerifiedAccessInstanceResponse_verifiedAccessInstance :: Lens.Lens' ModifyVerifiedAccessInstanceResponse (Prelude.Maybe VerifiedAccessInstance)
modifyVerifiedAccessInstanceResponse_verifiedAccessInstance :: Lens'
  ModifyVerifiedAccessInstanceResponse (Maybe VerifiedAccessInstance)
modifyVerifiedAccessInstanceResponse_verifiedAccessInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstanceResponse' {Maybe VerifiedAccessInstance
verifiedAccessInstance :: Maybe VerifiedAccessInstance
$sel:verifiedAccessInstance:ModifyVerifiedAccessInstanceResponse' :: ModifyVerifiedAccessInstanceResponse
-> Maybe VerifiedAccessInstance
verifiedAccessInstance} -> Maybe VerifiedAccessInstance
verifiedAccessInstance) (\s :: ModifyVerifiedAccessInstanceResponse
s@ModifyVerifiedAccessInstanceResponse' {} Maybe VerifiedAccessInstance
a -> ModifyVerifiedAccessInstanceResponse
s {$sel:verifiedAccessInstance:ModifyVerifiedAccessInstanceResponse' :: Maybe VerifiedAccessInstance
verifiedAccessInstance = Maybe VerifiedAccessInstance
a} :: ModifyVerifiedAccessInstanceResponse)

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

instance
  Prelude.NFData
    ModifyVerifiedAccessInstanceResponse
  where
  rnf :: ModifyVerifiedAccessInstanceResponse -> ()
rnf ModifyVerifiedAccessInstanceResponse' {Int
Maybe VerifiedAccessInstance
httpStatus :: Int
verifiedAccessInstance :: Maybe VerifiedAccessInstance
$sel:httpStatus:ModifyVerifiedAccessInstanceResponse' :: ModifyVerifiedAccessInstanceResponse -> Int
$sel:verifiedAccessInstance:ModifyVerifiedAccessInstanceResponse' :: ModifyVerifiedAccessInstanceResponse
-> Maybe VerifiedAccessInstance
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe VerifiedAccessInstance
verifiedAccessInstance
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus