{-# 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.RDS.ModifyActivityStream
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Changes the audit policy state of a database activity stream to either
-- locked (default) or unlocked. A locked policy is read-only, whereas an
-- unlocked policy is read\/write. If your activity stream is started and
-- locked, you can unlock it, customize your audit policy, and then lock
-- your activity stream. Restarting the activity stream isn\'t required.
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/DBActivityStreams.Modifying.html Modifying a database activity stream>
-- in the /Amazon RDS User Guide/.
--
-- This operation is supported for RDS for Oracle only.
module Amazonka.RDS.ModifyActivityStream
  ( -- * Creating a Request
    ModifyActivityStream (..),
    newModifyActivityStream,

    -- * Request Lenses
    modifyActivityStream_auditPolicyState,
    modifyActivityStream_resourceArn,

    -- * Destructuring the Response
    ModifyActivityStreamResponse (..),
    newModifyActivityStreamResponse,

    -- * Response Lenses
    modifyActivityStreamResponse_engineNativeAuditFieldsIncluded,
    modifyActivityStreamResponse_kinesisStreamName,
    modifyActivityStreamResponse_kmsKeyId,
    modifyActivityStreamResponse_mode,
    modifyActivityStreamResponse_policyStatus,
    modifyActivityStreamResponse_status,
    modifyActivityStreamResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.RDS.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newModifyActivityStream' smart constructor.
data ModifyActivityStream = ModifyActivityStream'
  { -- | The audit policy state. When a policy is unlocked, it is read\/write.
    -- When it is locked, it is read-only. You can edit your audit policy only
    -- when the activity stream is unlocked or stopped.
    ModifyActivityStream -> Maybe AuditPolicyState
auditPolicyState :: Prelude.Maybe AuditPolicyState,
    -- | The Amazon Resource Name (ARN) of the RDS for Oracle DB instance, for
    -- example, @arn:aws:rds:us-east-1:12345667890:instance:my-orcl-db@.
    ModifyActivityStream -> Maybe Text
resourceArn :: Prelude.Maybe Prelude.Text
  }
  deriving (ModifyActivityStream -> ModifyActivityStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyActivityStream -> ModifyActivityStream -> Bool
$c/= :: ModifyActivityStream -> ModifyActivityStream -> Bool
== :: ModifyActivityStream -> ModifyActivityStream -> Bool
$c== :: ModifyActivityStream -> ModifyActivityStream -> Bool
Prelude.Eq, ReadPrec [ModifyActivityStream]
ReadPrec ModifyActivityStream
Int -> ReadS ModifyActivityStream
ReadS [ModifyActivityStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyActivityStream]
$creadListPrec :: ReadPrec [ModifyActivityStream]
readPrec :: ReadPrec ModifyActivityStream
$creadPrec :: ReadPrec ModifyActivityStream
readList :: ReadS [ModifyActivityStream]
$creadList :: ReadS [ModifyActivityStream]
readsPrec :: Int -> ReadS ModifyActivityStream
$creadsPrec :: Int -> ReadS ModifyActivityStream
Prelude.Read, Int -> ModifyActivityStream -> ShowS
[ModifyActivityStream] -> ShowS
ModifyActivityStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyActivityStream] -> ShowS
$cshowList :: [ModifyActivityStream] -> ShowS
show :: ModifyActivityStream -> String
$cshow :: ModifyActivityStream -> String
showsPrec :: Int -> ModifyActivityStream -> ShowS
$cshowsPrec :: Int -> ModifyActivityStream -> ShowS
Prelude.Show, forall x. Rep ModifyActivityStream x -> ModifyActivityStream
forall x. ModifyActivityStream -> Rep ModifyActivityStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyActivityStream x -> ModifyActivityStream
$cfrom :: forall x. ModifyActivityStream -> Rep ModifyActivityStream x
Prelude.Generic)

-- |
-- Create a value of 'ModifyActivityStream' 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:
--
-- 'auditPolicyState', 'modifyActivityStream_auditPolicyState' - The audit policy state. When a policy is unlocked, it is read\/write.
-- When it is locked, it is read-only. You can edit your audit policy only
-- when the activity stream is unlocked or stopped.
--
-- 'resourceArn', 'modifyActivityStream_resourceArn' - The Amazon Resource Name (ARN) of the RDS for Oracle DB instance, for
-- example, @arn:aws:rds:us-east-1:12345667890:instance:my-orcl-db@.
newModifyActivityStream ::
  ModifyActivityStream
newModifyActivityStream :: ModifyActivityStream
newModifyActivityStream =
  ModifyActivityStream'
    { $sel:auditPolicyState:ModifyActivityStream' :: Maybe AuditPolicyState
auditPolicyState =
        forall a. Maybe a
Prelude.Nothing,
      $sel:resourceArn:ModifyActivityStream' :: Maybe Text
resourceArn = forall a. Maybe a
Prelude.Nothing
    }

-- | The audit policy state. When a policy is unlocked, it is read\/write.
-- When it is locked, it is read-only. You can edit your audit policy only
-- when the activity stream is unlocked or stopped.
modifyActivityStream_auditPolicyState :: Lens.Lens' ModifyActivityStream (Prelude.Maybe AuditPolicyState)
modifyActivityStream_auditPolicyState :: Lens' ModifyActivityStream (Maybe AuditPolicyState)
modifyActivityStream_auditPolicyState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStream' {Maybe AuditPolicyState
auditPolicyState :: Maybe AuditPolicyState
$sel:auditPolicyState:ModifyActivityStream' :: ModifyActivityStream -> Maybe AuditPolicyState
auditPolicyState} -> Maybe AuditPolicyState
auditPolicyState) (\s :: ModifyActivityStream
s@ModifyActivityStream' {} Maybe AuditPolicyState
a -> ModifyActivityStream
s {$sel:auditPolicyState:ModifyActivityStream' :: Maybe AuditPolicyState
auditPolicyState = Maybe AuditPolicyState
a} :: ModifyActivityStream)

-- | The Amazon Resource Name (ARN) of the RDS for Oracle DB instance, for
-- example, @arn:aws:rds:us-east-1:12345667890:instance:my-orcl-db@.
modifyActivityStream_resourceArn :: Lens.Lens' ModifyActivityStream (Prelude.Maybe Prelude.Text)
modifyActivityStream_resourceArn :: Lens' ModifyActivityStream (Maybe Text)
modifyActivityStream_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStream' {Maybe Text
resourceArn :: Maybe Text
$sel:resourceArn:ModifyActivityStream' :: ModifyActivityStream -> Maybe Text
resourceArn} -> Maybe Text
resourceArn) (\s :: ModifyActivityStream
s@ModifyActivityStream' {} Maybe Text
a -> ModifyActivityStream
s {$sel:resourceArn:ModifyActivityStream' :: Maybe Text
resourceArn = Maybe Text
a} :: ModifyActivityStream)

instance Core.AWSRequest ModifyActivityStream where
  type
    AWSResponse ModifyActivityStream =
      ModifyActivityStreamResponse
  request :: (Service -> Service)
-> ModifyActivityStream -> Request ModifyActivityStream
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 ModifyActivityStream
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ModifyActivityStream)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
    -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
      Text
"ModifyActivityStreamResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe ActivityStreamMode
-> Maybe ActivityStreamPolicyStatus
-> Maybe ActivityStreamStatus
-> Int
-> ModifyActivityStreamResponse
ModifyActivityStreamResponse'
            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
"EngineNativeAuditFieldsIncluded")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"KinesisStreamName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"KmsKeyId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Mode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PolicyStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Status")
            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 ModifyActivityStream where
  hashWithSalt :: Int -> ModifyActivityStream -> Int
hashWithSalt Int
_salt ModifyActivityStream' {Maybe Text
Maybe AuditPolicyState
resourceArn :: Maybe Text
auditPolicyState :: Maybe AuditPolicyState
$sel:resourceArn:ModifyActivityStream' :: ModifyActivityStream -> Maybe Text
$sel:auditPolicyState:ModifyActivityStream' :: ModifyActivityStream -> Maybe AuditPolicyState
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AuditPolicyState
auditPolicyState
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resourceArn

instance Prelude.NFData ModifyActivityStream where
  rnf :: ModifyActivityStream -> ()
rnf ModifyActivityStream' {Maybe Text
Maybe AuditPolicyState
resourceArn :: Maybe Text
auditPolicyState :: Maybe AuditPolicyState
$sel:resourceArn:ModifyActivityStream' :: ModifyActivityStream -> Maybe Text
$sel:auditPolicyState:ModifyActivityStream' :: ModifyActivityStream -> Maybe AuditPolicyState
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AuditPolicyState
auditPolicyState
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceArn

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

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

instance Data.ToQuery ModifyActivityStream where
  toQuery :: ModifyActivityStream -> QueryString
toQuery ModifyActivityStream' {Maybe Text
Maybe AuditPolicyState
resourceArn :: Maybe Text
auditPolicyState :: Maybe AuditPolicyState
$sel:resourceArn:ModifyActivityStream' :: ModifyActivityStream -> Maybe Text
$sel:auditPolicyState:ModifyActivityStream' :: ModifyActivityStream -> Maybe AuditPolicyState
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ModifyActivityStream" :: Prelude.ByteString),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
        ByteString
"AuditPolicyState" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe AuditPolicyState
auditPolicyState,
        ByteString
"ResourceArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
resourceArn
      ]

-- | /See:/ 'newModifyActivityStreamResponse' smart constructor.
data ModifyActivityStreamResponse = ModifyActivityStreamResponse'
  { -- | Indicates whether engine-native audit fields are included in the
    -- database activity stream.
    ModifyActivityStreamResponse -> Maybe Bool
engineNativeAuditFieldsIncluded :: Prelude.Maybe Prelude.Bool,
    -- | The name of the Amazon Kinesis data stream to be used for the database
    -- activity stream.
    ModifyActivityStreamResponse -> Maybe Text
kinesisStreamName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services KMS key identifier for encryption of messages in
    -- the database activity stream.
    ModifyActivityStreamResponse -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | The mode of the database activity stream.
    ModifyActivityStreamResponse -> Maybe ActivityStreamMode
mode :: Prelude.Maybe ActivityStreamMode,
    -- | The status of the modification to the policy state of the database
    -- activity stream.
    ModifyActivityStreamResponse -> Maybe ActivityStreamPolicyStatus
policyStatus :: Prelude.Maybe ActivityStreamPolicyStatus,
    -- | The status of the modification to the database activity stream.
    ModifyActivityStreamResponse -> Maybe ActivityStreamStatus
status :: Prelude.Maybe ActivityStreamStatus,
    -- | The response's http status code.
    ModifyActivityStreamResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ModifyActivityStreamResponse
-> ModifyActivityStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyActivityStreamResponse
-> ModifyActivityStreamResponse -> Bool
$c/= :: ModifyActivityStreamResponse
-> ModifyActivityStreamResponse -> Bool
== :: ModifyActivityStreamResponse
-> ModifyActivityStreamResponse -> Bool
$c== :: ModifyActivityStreamResponse
-> ModifyActivityStreamResponse -> Bool
Prelude.Eq, ReadPrec [ModifyActivityStreamResponse]
ReadPrec ModifyActivityStreamResponse
Int -> ReadS ModifyActivityStreamResponse
ReadS [ModifyActivityStreamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyActivityStreamResponse]
$creadListPrec :: ReadPrec [ModifyActivityStreamResponse]
readPrec :: ReadPrec ModifyActivityStreamResponse
$creadPrec :: ReadPrec ModifyActivityStreamResponse
readList :: ReadS [ModifyActivityStreamResponse]
$creadList :: ReadS [ModifyActivityStreamResponse]
readsPrec :: Int -> ReadS ModifyActivityStreamResponse
$creadsPrec :: Int -> ReadS ModifyActivityStreamResponse
Prelude.Read, Int -> ModifyActivityStreamResponse -> ShowS
[ModifyActivityStreamResponse] -> ShowS
ModifyActivityStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyActivityStreamResponse] -> ShowS
$cshowList :: [ModifyActivityStreamResponse] -> ShowS
show :: ModifyActivityStreamResponse -> String
$cshow :: ModifyActivityStreamResponse -> String
showsPrec :: Int -> ModifyActivityStreamResponse -> ShowS
$cshowsPrec :: Int -> ModifyActivityStreamResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyActivityStreamResponse x -> ModifyActivityStreamResponse
forall x.
ModifyActivityStreamResponse -> Rep ModifyActivityStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyActivityStreamResponse x -> ModifyActivityStreamResponse
$cfrom :: forall x.
ModifyActivityStreamResponse -> Rep ModifyActivityStreamResponse x
Prelude.Generic)

-- |
-- Create a value of 'ModifyActivityStreamResponse' 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:
--
-- 'engineNativeAuditFieldsIncluded', 'modifyActivityStreamResponse_engineNativeAuditFieldsIncluded' - Indicates whether engine-native audit fields are included in the
-- database activity stream.
--
-- 'kinesisStreamName', 'modifyActivityStreamResponse_kinesisStreamName' - The name of the Amazon Kinesis data stream to be used for the database
-- activity stream.
--
-- 'kmsKeyId', 'modifyActivityStreamResponse_kmsKeyId' - The Amazon Web Services KMS key identifier for encryption of messages in
-- the database activity stream.
--
-- 'mode', 'modifyActivityStreamResponse_mode' - The mode of the database activity stream.
--
-- 'policyStatus', 'modifyActivityStreamResponse_policyStatus' - The status of the modification to the policy state of the database
-- activity stream.
--
-- 'status', 'modifyActivityStreamResponse_status' - The status of the modification to the database activity stream.
--
-- 'httpStatus', 'modifyActivityStreamResponse_httpStatus' - The response's http status code.
newModifyActivityStreamResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyActivityStreamResponse
newModifyActivityStreamResponse :: Int -> ModifyActivityStreamResponse
newModifyActivityStreamResponse Int
pHttpStatus_ =
  ModifyActivityStreamResponse'
    { $sel:engineNativeAuditFieldsIncluded:ModifyActivityStreamResponse' :: Maybe Bool
engineNativeAuditFieldsIncluded =
        forall a. Maybe a
Prelude.Nothing,
      $sel:kinesisStreamName:ModifyActivityStreamResponse' :: Maybe Text
kinesisStreamName = forall a. Maybe a
Prelude.Nothing,
      $sel:kmsKeyId:ModifyActivityStreamResponse' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:mode:ModifyActivityStreamResponse' :: Maybe ActivityStreamMode
mode = forall a. Maybe a
Prelude.Nothing,
      $sel:policyStatus:ModifyActivityStreamResponse' :: Maybe ActivityStreamPolicyStatus
policyStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ModifyActivityStreamResponse' :: Maybe ActivityStreamStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ModifyActivityStreamResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Indicates whether engine-native audit fields are included in the
-- database activity stream.
modifyActivityStreamResponse_engineNativeAuditFieldsIncluded :: Lens.Lens' ModifyActivityStreamResponse (Prelude.Maybe Prelude.Bool)
modifyActivityStreamResponse_engineNativeAuditFieldsIncluded :: Lens' ModifyActivityStreamResponse (Maybe Bool)
modifyActivityStreamResponse_engineNativeAuditFieldsIncluded = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStreamResponse' {Maybe Bool
engineNativeAuditFieldsIncluded :: Maybe Bool
$sel:engineNativeAuditFieldsIncluded:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe Bool
engineNativeAuditFieldsIncluded} -> Maybe Bool
engineNativeAuditFieldsIncluded) (\s :: ModifyActivityStreamResponse
s@ModifyActivityStreamResponse' {} Maybe Bool
a -> ModifyActivityStreamResponse
s {$sel:engineNativeAuditFieldsIncluded:ModifyActivityStreamResponse' :: Maybe Bool
engineNativeAuditFieldsIncluded = Maybe Bool
a} :: ModifyActivityStreamResponse)

-- | The name of the Amazon Kinesis data stream to be used for the database
-- activity stream.
modifyActivityStreamResponse_kinesisStreamName :: Lens.Lens' ModifyActivityStreamResponse (Prelude.Maybe Prelude.Text)
modifyActivityStreamResponse_kinesisStreamName :: Lens' ModifyActivityStreamResponse (Maybe Text)
modifyActivityStreamResponse_kinesisStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStreamResponse' {Maybe Text
kinesisStreamName :: Maybe Text
$sel:kinesisStreamName:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe Text
kinesisStreamName} -> Maybe Text
kinesisStreamName) (\s :: ModifyActivityStreamResponse
s@ModifyActivityStreamResponse' {} Maybe Text
a -> ModifyActivityStreamResponse
s {$sel:kinesisStreamName:ModifyActivityStreamResponse' :: Maybe Text
kinesisStreamName = Maybe Text
a} :: ModifyActivityStreamResponse)

-- | The Amazon Web Services KMS key identifier for encryption of messages in
-- the database activity stream.
modifyActivityStreamResponse_kmsKeyId :: Lens.Lens' ModifyActivityStreamResponse (Prelude.Maybe Prelude.Text)
modifyActivityStreamResponse_kmsKeyId :: Lens' ModifyActivityStreamResponse (Maybe Text)
modifyActivityStreamResponse_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStreamResponse' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: ModifyActivityStreamResponse
s@ModifyActivityStreamResponse' {} Maybe Text
a -> ModifyActivityStreamResponse
s {$sel:kmsKeyId:ModifyActivityStreamResponse' :: Maybe Text
kmsKeyId = Maybe Text
a} :: ModifyActivityStreamResponse)

-- | The mode of the database activity stream.
modifyActivityStreamResponse_mode :: Lens.Lens' ModifyActivityStreamResponse (Prelude.Maybe ActivityStreamMode)
modifyActivityStreamResponse_mode :: Lens' ModifyActivityStreamResponse (Maybe ActivityStreamMode)
modifyActivityStreamResponse_mode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStreamResponse' {Maybe ActivityStreamMode
mode :: Maybe ActivityStreamMode
$sel:mode:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe ActivityStreamMode
mode} -> Maybe ActivityStreamMode
mode) (\s :: ModifyActivityStreamResponse
s@ModifyActivityStreamResponse' {} Maybe ActivityStreamMode
a -> ModifyActivityStreamResponse
s {$sel:mode:ModifyActivityStreamResponse' :: Maybe ActivityStreamMode
mode = Maybe ActivityStreamMode
a} :: ModifyActivityStreamResponse)

-- | The status of the modification to the policy state of the database
-- activity stream.
modifyActivityStreamResponse_policyStatus :: Lens.Lens' ModifyActivityStreamResponse (Prelude.Maybe ActivityStreamPolicyStatus)
modifyActivityStreamResponse_policyStatus :: Lens'
  ModifyActivityStreamResponse (Maybe ActivityStreamPolicyStatus)
modifyActivityStreamResponse_policyStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStreamResponse' {Maybe ActivityStreamPolicyStatus
policyStatus :: Maybe ActivityStreamPolicyStatus
$sel:policyStatus:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe ActivityStreamPolicyStatus
policyStatus} -> Maybe ActivityStreamPolicyStatus
policyStatus) (\s :: ModifyActivityStreamResponse
s@ModifyActivityStreamResponse' {} Maybe ActivityStreamPolicyStatus
a -> ModifyActivityStreamResponse
s {$sel:policyStatus:ModifyActivityStreamResponse' :: Maybe ActivityStreamPolicyStatus
policyStatus = Maybe ActivityStreamPolicyStatus
a} :: ModifyActivityStreamResponse)

-- | The status of the modification to the database activity stream.
modifyActivityStreamResponse_status :: Lens.Lens' ModifyActivityStreamResponse (Prelude.Maybe ActivityStreamStatus)
modifyActivityStreamResponse_status :: Lens' ModifyActivityStreamResponse (Maybe ActivityStreamStatus)
modifyActivityStreamResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyActivityStreamResponse' {Maybe ActivityStreamStatus
status :: Maybe ActivityStreamStatus
$sel:status:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe ActivityStreamStatus
status} -> Maybe ActivityStreamStatus
status) (\s :: ModifyActivityStreamResponse
s@ModifyActivityStreamResponse' {} Maybe ActivityStreamStatus
a -> ModifyActivityStreamResponse
s {$sel:status:ModifyActivityStreamResponse' :: Maybe ActivityStreamStatus
status = Maybe ActivityStreamStatus
a} :: ModifyActivityStreamResponse)

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

instance Prelude.NFData ModifyActivityStreamResponse where
  rnf :: ModifyActivityStreamResponse -> ()
rnf ModifyActivityStreamResponse' {Int
Maybe Bool
Maybe Text
Maybe ActivityStreamMode
Maybe ActivityStreamPolicyStatus
Maybe ActivityStreamStatus
httpStatus :: Int
status :: Maybe ActivityStreamStatus
policyStatus :: Maybe ActivityStreamPolicyStatus
mode :: Maybe ActivityStreamMode
kmsKeyId :: Maybe Text
kinesisStreamName :: Maybe Text
engineNativeAuditFieldsIncluded :: Maybe Bool
$sel:httpStatus:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Int
$sel:status:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe ActivityStreamStatus
$sel:policyStatus:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe ActivityStreamPolicyStatus
$sel:mode:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe ActivityStreamMode
$sel:kmsKeyId:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe Text
$sel:kinesisStreamName:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe Text
$sel:engineNativeAuditFieldsIncluded:ModifyActivityStreamResponse' :: ModifyActivityStreamResponse -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
engineNativeAuditFieldsIncluded
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kinesisStreamName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityStreamMode
mode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityStreamPolicyStatus
policyStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityStreamStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus