{-# 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.ModifyVerifiedAccessGroup
-- 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 specified Verified Access group configuration.
module Amazonka.EC2.ModifyVerifiedAccessGroup
  ( -- * Creating a Request
    ModifyVerifiedAccessGroup (..),
    newModifyVerifiedAccessGroup,

    -- * Request Lenses
    modifyVerifiedAccessGroup_clientToken,
    modifyVerifiedAccessGroup_description,
    modifyVerifiedAccessGroup_dryRun,
    modifyVerifiedAccessGroup_verifiedAccessInstanceId,
    modifyVerifiedAccessGroup_verifiedAccessGroupId,

    -- * Destructuring the Response
    ModifyVerifiedAccessGroupResponse (..),
    newModifyVerifiedAccessGroupResponse,

    -- * Response Lenses
    modifyVerifiedAccessGroupResponse_verifiedAccessGroup,
    modifyVerifiedAccessGroupResponse_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:/ 'newModifyVerifiedAccessGroup' smart constructor.
data ModifyVerifiedAccessGroup = ModifyVerifiedAccessGroup'
  { -- | 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>.
    ModifyVerifiedAccessGroup -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | A description for the Amazon Web Services Verified Access group.
    ModifyVerifiedAccessGroup -> 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@.
    ModifyVerifiedAccessGroup -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The ID of the Amazon Web Services Verified Access instance.
    ModifyVerifiedAccessGroup -> Maybe Text
verifiedAccessInstanceId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the Amazon Web Services Verified Access group.
    ModifyVerifiedAccessGroup -> Text
verifiedAccessGroupId :: Prelude.Text
  }
  deriving (ModifyVerifiedAccessGroup -> ModifyVerifiedAccessGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyVerifiedAccessGroup -> ModifyVerifiedAccessGroup -> Bool
$c/= :: ModifyVerifiedAccessGroup -> ModifyVerifiedAccessGroup -> Bool
== :: ModifyVerifiedAccessGroup -> ModifyVerifiedAccessGroup -> Bool
$c== :: ModifyVerifiedAccessGroup -> ModifyVerifiedAccessGroup -> Bool
Prelude.Eq, ReadPrec [ModifyVerifiedAccessGroup]
ReadPrec ModifyVerifiedAccessGroup
Int -> ReadS ModifyVerifiedAccessGroup
ReadS [ModifyVerifiedAccessGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyVerifiedAccessGroup]
$creadListPrec :: ReadPrec [ModifyVerifiedAccessGroup]
readPrec :: ReadPrec ModifyVerifiedAccessGroup
$creadPrec :: ReadPrec ModifyVerifiedAccessGroup
readList :: ReadS [ModifyVerifiedAccessGroup]
$creadList :: ReadS [ModifyVerifiedAccessGroup]
readsPrec :: Int -> ReadS ModifyVerifiedAccessGroup
$creadsPrec :: Int -> ReadS ModifyVerifiedAccessGroup
Prelude.Read, Int -> ModifyVerifiedAccessGroup -> ShowS
[ModifyVerifiedAccessGroup] -> ShowS
ModifyVerifiedAccessGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyVerifiedAccessGroup] -> ShowS
$cshowList :: [ModifyVerifiedAccessGroup] -> ShowS
show :: ModifyVerifiedAccessGroup -> String
$cshow :: ModifyVerifiedAccessGroup -> String
showsPrec :: Int -> ModifyVerifiedAccessGroup -> ShowS
$cshowsPrec :: Int -> ModifyVerifiedAccessGroup -> ShowS
Prelude.Show, forall x.
Rep ModifyVerifiedAccessGroup x -> ModifyVerifiedAccessGroup
forall x.
ModifyVerifiedAccessGroup -> Rep ModifyVerifiedAccessGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyVerifiedAccessGroup x -> ModifyVerifiedAccessGroup
$cfrom :: forall x.
ModifyVerifiedAccessGroup -> Rep ModifyVerifiedAccessGroup x
Prelude.Generic)

-- |
-- Create a value of 'ModifyVerifiedAccessGroup' 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', 'modifyVerifiedAccessGroup_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', 'modifyVerifiedAccessGroup_description' - A description for the Amazon Web Services Verified Access group.
--
-- 'dryRun', 'modifyVerifiedAccessGroup_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', 'modifyVerifiedAccessGroup_verifiedAccessInstanceId' - The ID of the Amazon Web Services Verified Access instance.
--
-- 'verifiedAccessGroupId', 'modifyVerifiedAccessGroup_verifiedAccessGroupId' - The ID of the Amazon Web Services Verified Access group.
newModifyVerifiedAccessGroup ::
  -- | 'verifiedAccessGroupId'
  Prelude.Text ->
  ModifyVerifiedAccessGroup
newModifyVerifiedAccessGroup :: Text -> ModifyVerifiedAccessGroup
newModifyVerifiedAccessGroup Text
pVerifiedAccessGroupId_ =
  ModifyVerifiedAccessGroup'
    { $sel:clientToken:ModifyVerifiedAccessGroup' :: Maybe Text
clientToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:description:ModifyVerifiedAccessGroup' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:dryRun:ModifyVerifiedAccessGroup' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
      $sel:verifiedAccessInstanceId:ModifyVerifiedAccessGroup' :: Maybe Text
verifiedAccessInstanceId = forall a. Maybe a
Prelude.Nothing,
      $sel:verifiedAccessGroupId:ModifyVerifiedAccessGroup' :: Text
verifiedAccessGroupId = Text
pVerifiedAccessGroupId_
    }

-- | 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>.
modifyVerifiedAccessGroup_clientToken :: Lens.Lens' ModifyVerifiedAccessGroup (Prelude.Maybe Prelude.Text)
modifyVerifiedAccessGroup_clientToken :: Lens' ModifyVerifiedAccessGroup (Maybe Text)
modifyVerifiedAccessGroup_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessGroup' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:ModifyVerifiedAccessGroup' :: ModifyVerifiedAccessGroup -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: ModifyVerifiedAccessGroup
s@ModifyVerifiedAccessGroup' {} Maybe Text
a -> ModifyVerifiedAccessGroup
s {$sel:clientToken:ModifyVerifiedAccessGroup' :: Maybe Text
clientToken = Maybe Text
a} :: ModifyVerifiedAccessGroup)

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

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

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

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

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

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

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

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

instance Data.ToQuery ModifyVerifiedAccessGroup where
  toQuery :: ModifyVerifiedAccessGroup -> QueryString
toQuery ModifyVerifiedAccessGroup' {Maybe Bool
Maybe Text
Text
verifiedAccessGroupId :: Text
verifiedAccessInstanceId :: Maybe Text
dryRun :: Maybe Bool
description :: Maybe Text
clientToken :: Maybe Text
$sel:verifiedAccessGroupId:ModifyVerifiedAccessGroup' :: ModifyVerifiedAccessGroup -> Text
$sel:verifiedAccessInstanceId:ModifyVerifiedAccessGroup' :: ModifyVerifiedAccessGroup -> Maybe Text
$sel:dryRun:ModifyVerifiedAccessGroup' :: ModifyVerifiedAccessGroup -> Maybe Bool
$sel:description:ModifyVerifiedAccessGroup' :: ModifyVerifiedAccessGroup -> Maybe Text
$sel:clientToken:ModifyVerifiedAccessGroup' :: ModifyVerifiedAccessGroup -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ModifyVerifiedAccessGroup" :: 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.=: Maybe Text
verifiedAccessInstanceId,
        ByteString
"VerifiedAccessGroupId"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
verifiedAccessGroupId
      ]

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

-- |
-- Create a value of 'ModifyVerifiedAccessGroupResponse' 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:
--
-- 'verifiedAccessGroup', 'modifyVerifiedAccessGroupResponse_verifiedAccessGroup' - Details of Amazon Web Services Verified Access group.
--
-- 'httpStatus', 'modifyVerifiedAccessGroupResponse_httpStatus' - The response's http status code.
newModifyVerifiedAccessGroupResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyVerifiedAccessGroupResponse
newModifyVerifiedAccessGroupResponse :: Int -> ModifyVerifiedAccessGroupResponse
newModifyVerifiedAccessGroupResponse Int
pHttpStatus_ =
  ModifyVerifiedAccessGroupResponse'
    { $sel:verifiedAccessGroup:ModifyVerifiedAccessGroupResponse' :: Maybe VerifiedAccessGroup
verifiedAccessGroup =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ModifyVerifiedAccessGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Details of Amazon Web Services Verified Access group.
modifyVerifiedAccessGroupResponse_verifiedAccessGroup :: Lens.Lens' ModifyVerifiedAccessGroupResponse (Prelude.Maybe VerifiedAccessGroup)
modifyVerifiedAccessGroupResponse_verifiedAccessGroup :: Lens' ModifyVerifiedAccessGroupResponse (Maybe VerifiedAccessGroup)
modifyVerifiedAccessGroupResponse_verifiedAccessGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessGroupResponse' {Maybe VerifiedAccessGroup
verifiedAccessGroup :: Maybe VerifiedAccessGroup
$sel:verifiedAccessGroup:ModifyVerifiedAccessGroupResponse' :: ModifyVerifiedAccessGroupResponse -> Maybe VerifiedAccessGroup
verifiedAccessGroup} -> Maybe VerifiedAccessGroup
verifiedAccessGroup) (\s :: ModifyVerifiedAccessGroupResponse
s@ModifyVerifiedAccessGroupResponse' {} Maybe VerifiedAccessGroup
a -> ModifyVerifiedAccessGroupResponse
s {$sel:verifiedAccessGroup:ModifyVerifiedAccessGroupResponse' :: Maybe VerifiedAccessGroup
verifiedAccessGroup = Maybe VerifiedAccessGroup
a} :: ModifyVerifiedAccessGroupResponse)

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

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