{-# 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.ModifyVerifiedAccessInstanceLoggingConfiguration
-- 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 logging configuration for the specified Amazon Web Services
-- Verified Access instance.
module Amazonka.EC2.ModifyVerifiedAccessInstanceLoggingConfiguration
  ( -- * Creating a Request
    ModifyVerifiedAccessInstanceLoggingConfiguration (..),
    newModifyVerifiedAccessInstanceLoggingConfiguration,

    -- * Request Lenses
    modifyVerifiedAccessInstanceLoggingConfiguration_clientToken,
    modifyVerifiedAccessInstanceLoggingConfiguration_dryRun,
    modifyVerifiedAccessInstanceLoggingConfiguration_verifiedAccessInstanceId,
    modifyVerifiedAccessInstanceLoggingConfiguration_accessLogs,

    -- * Destructuring the Response
    ModifyVerifiedAccessInstanceLoggingConfigurationResponse (..),
    newModifyVerifiedAccessInstanceLoggingConfigurationResponse,

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

-- |
-- Create a value of 'ModifyVerifiedAccessInstanceLoggingConfiguration' 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', 'modifyVerifiedAccessInstanceLoggingConfiguration_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>.
--
-- 'dryRun', 'modifyVerifiedAccessInstanceLoggingConfiguration_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', 'modifyVerifiedAccessInstanceLoggingConfiguration_verifiedAccessInstanceId' - The ID of the Amazon Web Services Verified Access instance.
--
-- 'accessLogs', 'modifyVerifiedAccessInstanceLoggingConfiguration_accessLogs' - The configuration options for Amazon Web Services Verified Access
-- instances.
newModifyVerifiedAccessInstanceLoggingConfiguration ::
  -- | 'verifiedAccessInstanceId'
  Prelude.Text ->
  -- | 'accessLogs'
  VerifiedAccessLogOptions ->
  ModifyVerifiedAccessInstanceLoggingConfiguration
newModifyVerifiedAccessInstanceLoggingConfiguration :: Text
-> VerifiedAccessLogOptions
-> ModifyVerifiedAccessInstanceLoggingConfiguration
newModifyVerifiedAccessInstanceLoggingConfiguration
  Text
pVerifiedAccessInstanceId_
  VerifiedAccessLogOptions
pAccessLogs_ =
    ModifyVerifiedAccessInstanceLoggingConfiguration'
      { $sel:clientToken:ModifyVerifiedAccessInstanceLoggingConfiguration' :: Maybe Text
clientToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:dryRun:ModifyVerifiedAccessInstanceLoggingConfiguration' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
        $sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstanceLoggingConfiguration' :: Text
verifiedAccessInstanceId =
          Text
pVerifiedAccessInstanceId_,
        $sel:accessLogs:ModifyVerifiedAccessInstanceLoggingConfiguration' :: VerifiedAccessLogOptions
accessLogs = VerifiedAccessLogOptions
pAccessLogs_
      }

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

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

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

-- | The configuration options for Amazon Web Services Verified Access
-- instances.
modifyVerifiedAccessInstanceLoggingConfiguration_accessLogs :: Lens.Lens' ModifyVerifiedAccessInstanceLoggingConfiguration VerifiedAccessLogOptions
modifyVerifiedAccessInstanceLoggingConfiguration_accessLogs :: Lens'
  ModifyVerifiedAccessInstanceLoggingConfiguration
  VerifiedAccessLogOptions
modifyVerifiedAccessInstanceLoggingConfiguration_accessLogs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstanceLoggingConfiguration' {VerifiedAccessLogOptions
accessLogs :: VerifiedAccessLogOptions
$sel:accessLogs:ModifyVerifiedAccessInstanceLoggingConfiguration' :: ModifyVerifiedAccessInstanceLoggingConfiguration
-> VerifiedAccessLogOptions
accessLogs} -> VerifiedAccessLogOptions
accessLogs) (\s :: ModifyVerifiedAccessInstanceLoggingConfiguration
s@ModifyVerifiedAccessInstanceLoggingConfiguration' {} VerifiedAccessLogOptions
a -> ModifyVerifiedAccessInstanceLoggingConfiguration
s {$sel:accessLogs:ModifyVerifiedAccessInstanceLoggingConfiguration' :: VerifiedAccessLogOptions
accessLogs = VerifiedAccessLogOptions
a} :: ModifyVerifiedAccessInstanceLoggingConfiguration)

instance
  Core.AWSRequest
    ModifyVerifiedAccessInstanceLoggingConfiguration
  where
  type
    AWSResponse
      ModifyVerifiedAccessInstanceLoggingConfiguration =
      ModifyVerifiedAccessInstanceLoggingConfigurationResponse
  request :: (Service -> Service)
-> ModifyVerifiedAccessInstanceLoggingConfiguration
-> Request ModifyVerifiedAccessInstanceLoggingConfiguration
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 ModifyVerifiedAccessInstanceLoggingConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ModifyVerifiedAccessInstanceLoggingConfiguration)))
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 VerifiedAccessInstanceLoggingConfiguration
-> Int -> ModifyVerifiedAccessInstanceLoggingConfigurationResponse
ModifyVerifiedAccessInstanceLoggingConfigurationResponse'
            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
"loggingConfiguration")
            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
    ModifyVerifiedAccessInstanceLoggingConfiguration
  where
  hashWithSalt :: Int -> ModifyVerifiedAccessInstanceLoggingConfiguration -> Int
hashWithSalt
    Int
_salt
    ModifyVerifiedAccessInstanceLoggingConfiguration' {Maybe Bool
Maybe Text
Text
VerifiedAccessLogOptions
accessLogs :: VerifiedAccessLogOptions
verifiedAccessInstanceId :: Text
dryRun :: Maybe Bool
clientToken :: Maybe Text
$sel:accessLogs:ModifyVerifiedAccessInstanceLoggingConfiguration' :: ModifyVerifiedAccessInstanceLoggingConfiguration
-> VerifiedAccessLogOptions
$sel:verifiedAccessInstanceId:ModifyVerifiedAccessInstanceLoggingConfiguration' :: ModifyVerifiedAccessInstanceLoggingConfiguration -> Text
$sel:dryRun:ModifyVerifiedAccessInstanceLoggingConfiguration' :: ModifyVerifiedAccessInstanceLoggingConfiguration -> Maybe Bool
$sel:clientToken:ModifyVerifiedAccessInstanceLoggingConfiguration' :: ModifyVerifiedAccessInstanceLoggingConfiguration -> 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 Bool
dryRun
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
verifiedAccessInstanceId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` VerifiedAccessLogOptions
accessLogs

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

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

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

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

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

-- |
-- Create a value of 'ModifyVerifiedAccessInstanceLoggingConfigurationResponse' 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:
--
-- 'loggingConfiguration', 'modifyVerifiedAccessInstanceLoggingConfigurationResponse_loggingConfiguration' - The logging configuration for Amazon Web Services Verified Access
-- instance.
--
-- 'httpStatus', 'modifyVerifiedAccessInstanceLoggingConfigurationResponse_httpStatus' - The response's http status code.
newModifyVerifiedAccessInstanceLoggingConfigurationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyVerifiedAccessInstanceLoggingConfigurationResponse
newModifyVerifiedAccessInstanceLoggingConfigurationResponse :: Int -> ModifyVerifiedAccessInstanceLoggingConfigurationResponse
newModifyVerifiedAccessInstanceLoggingConfigurationResponse
  Int
pHttpStatus_ =
    ModifyVerifiedAccessInstanceLoggingConfigurationResponse'
      { $sel:loggingConfiguration:ModifyVerifiedAccessInstanceLoggingConfigurationResponse' :: Maybe VerifiedAccessInstanceLoggingConfiguration
loggingConfiguration =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ModifyVerifiedAccessInstanceLoggingConfigurationResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | The logging configuration for Amazon Web Services Verified Access
-- instance.
modifyVerifiedAccessInstanceLoggingConfigurationResponse_loggingConfiguration :: Lens.Lens' ModifyVerifiedAccessInstanceLoggingConfigurationResponse (Prelude.Maybe VerifiedAccessInstanceLoggingConfiguration)
modifyVerifiedAccessInstanceLoggingConfigurationResponse_loggingConfiguration :: Lens'
  ModifyVerifiedAccessInstanceLoggingConfigurationResponse
  (Maybe VerifiedAccessInstanceLoggingConfiguration)
modifyVerifiedAccessInstanceLoggingConfigurationResponse_loggingConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVerifiedAccessInstanceLoggingConfigurationResponse' {Maybe VerifiedAccessInstanceLoggingConfiguration
loggingConfiguration :: Maybe VerifiedAccessInstanceLoggingConfiguration
$sel:loggingConfiguration:ModifyVerifiedAccessInstanceLoggingConfigurationResponse' :: ModifyVerifiedAccessInstanceLoggingConfigurationResponse
-> Maybe VerifiedAccessInstanceLoggingConfiguration
loggingConfiguration} -> Maybe VerifiedAccessInstanceLoggingConfiguration
loggingConfiguration) (\s :: ModifyVerifiedAccessInstanceLoggingConfigurationResponse
s@ModifyVerifiedAccessInstanceLoggingConfigurationResponse' {} Maybe VerifiedAccessInstanceLoggingConfiguration
a -> ModifyVerifiedAccessInstanceLoggingConfigurationResponse
s {$sel:loggingConfiguration:ModifyVerifiedAccessInstanceLoggingConfigurationResponse' :: Maybe VerifiedAccessInstanceLoggingConfiguration
loggingConfiguration = Maybe VerifiedAccessInstanceLoggingConfiguration
a} :: ModifyVerifiedAccessInstanceLoggingConfigurationResponse)

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

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