{-# 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.KinesisAnalytics.DeleteApplicationCloudWatchLoggingOption
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- This documentation is for version 1 of the Amazon Kinesis Data Analytics
-- API, which only supports SQL applications. Version 2 of the API supports
-- SQL and Java applications. For more information about version 2, see
-- </kinesisanalytics/latest/apiv2/Welcome.html Amazon Kinesis Data Analytics API V2 Documentation>.
--
-- Deletes a CloudWatch log stream from an application. For more
-- information about using CloudWatch log streams with Amazon Kinesis
-- Analytics applications, see
-- <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html Working with Amazon CloudWatch Logs>.
module Amazonka.KinesisAnalytics.DeleteApplicationCloudWatchLoggingOption
  ( -- * Creating a Request
    DeleteApplicationCloudWatchLoggingOption (..),
    newDeleteApplicationCloudWatchLoggingOption,

    -- * Request Lenses
    deleteApplicationCloudWatchLoggingOption_applicationName,
    deleteApplicationCloudWatchLoggingOption_currentApplicationVersionId,
    deleteApplicationCloudWatchLoggingOption_cloudWatchLoggingOptionId,

    -- * Destructuring the Response
    DeleteApplicationCloudWatchLoggingOptionResponse (..),
    newDeleteApplicationCloudWatchLoggingOptionResponse,

    -- * Response Lenses
    deleteApplicationCloudWatchLoggingOptionResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDeleteApplicationCloudWatchLoggingOption' smart constructor.
data DeleteApplicationCloudWatchLoggingOption = DeleteApplicationCloudWatchLoggingOption'
  { -- | The Kinesis Analytics application name.
    DeleteApplicationCloudWatchLoggingOption -> Text
applicationName :: Prelude.Text,
    -- | The version ID of the Kinesis Analytics application.
    DeleteApplicationCloudWatchLoggingOption -> Natural
currentApplicationVersionId :: Prelude.Natural,
    -- | The @CloudWatchLoggingOptionId@ of the CloudWatch logging option to
    -- delete. You can get the @CloudWatchLoggingOptionId@ by using the
    -- <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html DescribeApplication>
    -- operation.
    DeleteApplicationCloudWatchLoggingOption -> Text
cloudWatchLoggingOptionId :: Prelude.Text
  }
  deriving (DeleteApplicationCloudWatchLoggingOption
-> DeleteApplicationCloudWatchLoggingOption -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteApplicationCloudWatchLoggingOption
-> DeleteApplicationCloudWatchLoggingOption -> Bool
$c/= :: DeleteApplicationCloudWatchLoggingOption
-> DeleteApplicationCloudWatchLoggingOption -> Bool
== :: DeleteApplicationCloudWatchLoggingOption
-> DeleteApplicationCloudWatchLoggingOption -> Bool
$c== :: DeleteApplicationCloudWatchLoggingOption
-> DeleteApplicationCloudWatchLoggingOption -> Bool
Prelude.Eq, ReadPrec [DeleteApplicationCloudWatchLoggingOption]
ReadPrec DeleteApplicationCloudWatchLoggingOption
Int -> ReadS DeleteApplicationCloudWatchLoggingOption
ReadS [DeleteApplicationCloudWatchLoggingOption]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteApplicationCloudWatchLoggingOption]
$creadListPrec :: ReadPrec [DeleteApplicationCloudWatchLoggingOption]
readPrec :: ReadPrec DeleteApplicationCloudWatchLoggingOption
$creadPrec :: ReadPrec DeleteApplicationCloudWatchLoggingOption
readList :: ReadS [DeleteApplicationCloudWatchLoggingOption]
$creadList :: ReadS [DeleteApplicationCloudWatchLoggingOption]
readsPrec :: Int -> ReadS DeleteApplicationCloudWatchLoggingOption
$creadsPrec :: Int -> ReadS DeleteApplicationCloudWatchLoggingOption
Prelude.Read, Int -> DeleteApplicationCloudWatchLoggingOption -> ShowS
[DeleteApplicationCloudWatchLoggingOption] -> ShowS
DeleteApplicationCloudWatchLoggingOption -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteApplicationCloudWatchLoggingOption] -> ShowS
$cshowList :: [DeleteApplicationCloudWatchLoggingOption] -> ShowS
show :: DeleteApplicationCloudWatchLoggingOption -> String
$cshow :: DeleteApplicationCloudWatchLoggingOption -> String
showsPrec :: Int -> DeleteApplicationCloudWatchLoggingOption -> ShowS
$cshowsPrec :: Int -> DeleteApplicationCloudWatchLoggingOption -> ShowS
Prelude.Show, forall x.
Rep DeleteApplicationCloudWatchLoggingOption x
-> DeleteApplicationCloudWatchLoggingOption
forall x.
DeleteApplicationCloudWatchLoggingOption
-> Rep DeleteApplicationCloudWatchLoggingOption x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteApplicationCloudWatchLoggingOption x
-> DeleteApplicationCloudWatchLoggingOption
$cfrom :: forall x.
DeleteApplicationCloudWatchLoggingOption
-> Rep DeleteApplicationCloudWatchLoggingOption x
Prelude.Generic)

-- |
-- Create a value of 'DeleteApplicationCloudWatchLoggingOption' 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:
--
-- 'applicationName', 'deleteApplicationCloudWatchLoggingOption_applicationName' - The Kinesis Analytics application name.
--
-- 'currentApplicationVersionId', 'deleteApplicationCloudWatchLoggingOption_currentApplicationVersionId' - The version ID of the Kinesis Analytics application.
--
-- 'cloudWatchLoggingOptionId', 'deleteApplicationCloudWatchLoggingOption_cloudWatchLoggingOptionId' - The @CloudWatchLoggingOptionId@ of the CloudWatch logging option to
-- delete. You can get the @CloudWatchLoggingOptionId@ by using the
-- <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html DescribeApplication>
-- operation.
newDeleteApplicationCloudWatchLoggingOption ::
  -- | 'applicationName'
  Prelude.Text ->
  -- | 'currentApplicationVersionId'
  Prelude.Natural ->
  -- | 'cloudWatchLoggingOptionId'
  Prelude.Text ->
  DeleteApplicationCloudWatchLoggingOption
newDeleteApplicationCloudWatchLoggingOption :: Text -> Natural -> Text -> DeleteApplicationCloudWatchLoggingOption
newDeleteApplicationCloudWatchLoggingOption
  Text
pApplicationName_
  Natural
pCurrentApplicationVersionId_
  Text
pCloudWatchLoggingOptionId_ =
    DeleteApplicationCloudWatchLoggingOption'
      { $sel:applicationName:DeleteApplicationCloudWatchLoggingOption' :: Text
applicationName =
          Text
pApplicationName_,
        $sel:currentApplicationVersionId:DeleteApplicationCloudWatchLoggingOption' :: Natural
currentApplicationVersionId =
          Natural
pCurrentApplicationVersionId_,
        $sel:cloudWatchLoggingOptionId:DeleteApplicationCloudWatchLoggingOption' :: Text
cloudWatchLoggingOptionId =
          Text
pCloudWatchLoggingOptionId_
      }

-- | The Kinesis Analytics application name.
deleteApplicationCloudWatchLoggingOption_applicationName :: Lens.Lens' DeleteApplicationCloudWatchLoggingOption Prelude.Text
deleteApplicationCloudWatchLoggingOption_applicationName :: Lens' DeleteApplicationCloudWatchLoggingOption Text
deleteApplicationCloudWatchLoggingOption_applicationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteApplicationCloudWatchLoggingOption' {Text
applicationName :: Text
$sel:applicationName:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
applicationName} -> Text
applicationName) (\s :: DeleteApplicationCloudWatchLoggingOption
s@DeleteApplicationCloudWatchLoggingOption' {} Text
a -> DeleteApplicationCloudWatchLoggingOption
s {$sel:applicationName:DeleteApplicationCloudWatchLoggingOption' :: Text
applicationName = Text
a} :: DeleteApplicationCloudWatchLoggingOption)

-- | The version ID of the Kinesis Analytics application.
deleteApplicationCloudWatchLoggingOption_currentApplicationVersionId :: Lens.Lens' DeleteApplicationCloudWatchLoggingOption Prelude.Natural
deleteApplicationCloudWatchLoggingOption_currentApplicationVersionId :: Lens' DeleteApplicationCloudWatchLoggingOption Natural
deleteApplicationCloudWatchLoggingOption_currentApplicationVersionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteApplicationCloudWatchLoggingOption' {Natural
currentApplicationVersionId :: Natural
$sel:currentApplicationVersionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Natural
currentApplicationVersionId} -> Natural
currentApplicationVersionId) (\s :: DeleteApplicationCloudWatchLoggingOption
s@DeleteApplicationCloudWatchLoggingOption' {} Natural
a -> DeleteApplicationCloudWatchLoggingOption
s {$sel:currentApplicationVersionId:DeleteApplicationCloudWatchLoggingOption' :: Natural
currentApplicationVersionId = Natural
a} :: DeleteApplicationCloudWatchLoggingOption)

-- | The @CloudWatchLoggingOptionId@ of the CloudWatch logging option to
-- delete. You can get the @CloudWatchLoggingOptionId@ by using the
-- <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html DescribeApplication>
-- operation.
deleteApplicationCloudWatchLoggingOption_cloudWatchLoggingOptionId :: Lens.Lens' DeleteApplicationCloudWatchLoggingOption Prelude.Text
deleteApplicationCloudWatchLoggingOption_cloudWatchLoggingOptionId :: Lens' DeleteApplicationCloudWatchLoggingOption Text
deleteApplicationCloudWatchLoggingOption_cloudWatchLoggingOptionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteApplicationCloudWatchLoggingOption' {Text
cloudWatchLoggingOptionId :: Text
$sel:cloudWatchLoggingOptionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
cloudWatchLoggingOptionId} -> Text
cloudWatchLoggingOptionId) (\s :: DeleteApplicationCloudWatchLoggingOption
s@DeleteApplicationCloudWatchLoggingOption' {} Text
a -> DeleteApplicationCloudWatchLoggingOption
s {$sel:cloudWatchLoggingOptionId:DeleteApplicationCloudWatchLoggingOption' :: Text
cloudWatchLoggingOptionId = Text
a} :: DeleteApplicationCloudWatchLoggingOption)

instance
  Core.AWSRequest
    DeleteApplicationCloudWatchLoggingOption
  where
  type
    AWSResponse
      DeleteApplicationCloudWatchLoggingOption =
      DeleteApplicationCloudWatchLoggingOptionResponse
  request :: (Service -> Service)
-> DeleteApplicationCloudWatchLoggingOption
-> Request DeleteApplicationCloudWatchLoggingOption
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteApplicationCloudWatchLoggingOption
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DeleteApplicationCloudWatchLoggingOption)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> DeleteApplicationCloudWatchLoggingOptionResponse
DeleteApplicationCloudWatchLoggingOptionResponse'
            forall (f :: * -> *) a b. Functor 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
    DeleteApplicationCloudWatchLoggingOption
  where
  hashWithSalt :: Int -> DeleteApplicationCloudWatchLoggingOption -> Int
hashWithSalt
    Int
_salt
    DeleteApplicationCloudWatchLoggingOption' {Natural
Text
cloudWatchLoggingOptionId :: Text
currentApplicationVersionId :: Natural
applicationName :: Text
$sel:cloudWatchLoggingOptionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
$sel:currentApplicationVersionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Natural
$sel:applicationName:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
currentApplicationVersionId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
cloudWatchLoggingOptionId

instance
  Prelude.NFData
    DeleteApplicationCloudWatchLoggingOption
  where
  rnf :: DeleteApplicationCloudWatchLoggingOption -> ()
rnf DeleteApplicationCloudWatchLoggingOption' {Natural
Text
cloudWatchLoggingOptionId :: Text
currentApplicationVersionId :: Natural
applicationName :: Text
$sel:cloudWatchLoggingOptionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
$sel:currentApplicationVersionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Natural
$sel:applicationName:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
applicationName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
currentApplicationVersionId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
cloudWatchLoggingOptionId

instance
  Data.ToHeaders
    DeleteApplicationCloudWatchLoggingOption
  where
  toHeaders :: DeleteApplicationCloudWatchLoggingOption -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"KinesisAnalytics_20150814.DeleteApplicationCloudWatchLoggingOption" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance
  Data.ToJSON
    DeleteApplicationCloudWatchLoggingOption
  where
  toJSON :: DeleteApplicationCloudWatchLoggingOption -> Value
toJSON DeleteApplicationCloudWatchLoggingOption' {Natural
Text
cloudWatchLoggingOptionId :: Text
currentApplicationVersionId :: Natural
applicationName :: Text
$sel:cloudWatchLoggingOptionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
$sel:currentApplicationVersionId:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Natural
$sel:applicationName:DeleteApplicationCloudWatchLoggingOption' :: DeleteApplicationCloudWatchLoggingOption -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"ApplicationName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
applicationName),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"CurrentApplicationVersionId"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Natural
currentApplicationVersionId
              ),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"CloudWatchLoggingOptionId"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
cloudWatchLoggingOptionId
              )
          ]
      )

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

instance
  Data.ToQuery
    DeleteApplicationCloudWatchLoggingOption
  where
  toQuery :: DeleteApplicationCloudWatchLoggingOption -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

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

-- |
-- Create a value of 'DeleteApplicationCloudWatchLoggingOptionResponse' 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:
--
-- 'httpStatus', 'deleteApplicationCloudWatchLoggingOptionResponse_httpStatus' - The response's http status code.
newDeleteApplicationCloudWatchLoggingOptionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DeleteApplicationCloudWatchLoggingOptionResponse
newDeleteApplicationCloudWatchLoggingOptionResponse :: Int -> DeleteApplicationCloudWatchLoggingOptionResponse
newDeleteApplicationCloudWatchLoggingOptionResponse
  Int
pHttpStatus_ =
    DeleteApplicationCloudWatchLoggingOptionResponse'
      { $sel:httpStatus:DeleteApplicationCloudWatchLoggingOptionResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

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

instance
  Prelude.NFData
    DeleteApplicationCloudWatchLoggingOptionResponse
  where
  rnf :: DeleteApplicationCloudWatchLoggingOptionResponse -> ()
rnf
    DeleteApplicationCloudWatchLoggingOptionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteApplicationCloudWatchLoggingOptionResponse' :: DeleteApplicationCloudWatchLoggingOptionResponse -> Int
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus