{-# 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.KinesisAnalyticsV2.AddApplicationCloudWatchLoggingOption -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Adds an Amazon CloudWatch log stream to monitor application -- configuration errors. module Amazonka.KinesisAnalyticsV2.AddApplicationCloudWatchLoggingOption ( -- * Creating a Request AddApplicationCloudWatchLoggingOption (..), newAddApplicationCloudWatchLoggingOption, -- * Request Lenses addApplicationCloudWatchLoggingOption_conditionalToken, addApplicationCloudWatchLoggingOption_currentApplicationVersionId, addApplicationCloudWatchLoggingOption_applicationName, addApplicationCloudWatchLoggingOption_cloudWatchLoggingOption, -- * Destructuring the Response AddApplicationCloudWatchLoggingOptionResponse (..), newAddApplicationCloudWatchLoggingOptionResponse, -- * Response Lenses addApplicationCloudWatchLoggingOptionResponse_applicationARN, addApplicationCloudWatchLoggingOptionResponse_applicationVersionId, addApplicationCloudWatchLoggingOptionResponse_cloudWatchLoggingOptionDescriptions, addApplicationCloudWatchLoggingOptionResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.KinesisAnalyticsV2.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newAddApplicationCloudWatchLoggingOption' smart constructor. data AddApplicationCloudWatchLoggingOption = AddApplicationCloudWatchLoggingOption' { -- | A value you use to implement strong concurrency for application updates. -- You must provide the @CurrentApplicationVersionId@ or the -- @ConditionalToken@. You get the application\'s current -- @ConditionalToken@ using DescribeApplication. For better concurrency -- support, use the @ConditionalToken@ parameter instead of -- @CurrentApplicationVersionId@. conditionalToken :: Prelude.Maybe Prelude.Text, -- | The version ID of the Kinesis Data Analytics application. You must -- provide the @CurrentApplicationVersionId@ or the @ConditionalToken@.You -- can retrieve the application version ID using DescribeApplication. For -- better concurrency support, use the @ConditionalToken@ parameter instead -- of @CurrentApplicationVersionId@. currentApplicationVersionId :: Prelude.Maybe Prelude.Natural, -- | The Kinesis Data Analytics application name. applicationName :: Prelude.Text, -- | Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN). cloudWatchLoggingOption :: CloudWatchLoggingOption } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'AddApplicationCloudWatchLoggingOption' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'conditionalToken', 'addApplicationCloudWatchLoggingOption_conditionalToken' - A value you use to implement strong concurrency for application updates. -- You must provide the @CurrentApplicationVersionId@ or the -- @ConditionalToken@. You get the application\'s current -- @ConditionalToken@ using DescribeApplication. For better concurrency -- support, use the @ConditionalToken@ parameter instead of -- @CurrentApplicationVersionId@. -- -- 'currentApplicationVersionId', 'addApplicationCloudWatchLoggingOption_currentApplicationVersionId' - The version ID of the Kinesis Data Analytics application. You must -- provide the @CurrentApplicationVersionId@ or the @ConditionalToken@.You -- can retrieve the application version ID using DescribeApplication. For -- better concurrency support, use the @ConditionalToken@ parameter instead -- of @CurrentApplicationVersionId@. -- -- 'applicationName', 'addApplicationCloudWatchLoggingOption_applicationName' - The Kinesis Data Analytics application name. -- -- 'cloudWatchLoggingOption', 'addApplicationCloudWatchLoggingOption_cloudWatchLoggingOption' - Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN). newAddApplicationCloudWatchLoggingOption :: -- | 'applicationName' Prelude.Text -> -- | 'cloudWatchLoggingOption' CloudWatchLoggingOption -> AddApplicationCloudWatchLoggingOption newAddApplicationCloudWatchLoggingOption pApplicationName_ pCloudWatchLoggingOption_ = AddApplicationCloudWatchLoggingOption' { conditionalToken = Prelude.Nothing, currentApplicationVersionId = Prelude.Nothing, applicationName = pApplicationName_, cloudWatchLoggingOption = pCloudWatchLoggingOption_ } -- | A value you use to implement strong concurrency for application updates. -- You must provide the @CurrentApplicationVersionId@ or the -- @ConditionalToken@. You get the application\'s current -- @ConditionalToken@ using DescribeApplication. For better concurrency -- support, use the @ConditionalToken@ parameter instead of -- @CurrentApplicationVersionId@. addApplicationCloudWatchLoggingOption_conditionalToken :: Lens.Lens' AddApplicationCloudWatchLoggingOption (Prelude.Maybe Prelude.Text) addApplicationCloudWatchLoggingOption_conditionalToken = Lens.lens (\AddApplicationCloudWatchLoggingOption' {conditionalToken} -> conditionalToken) (\s@AddApplicationCloudWatchLoggingOption' {} a -> s {conditionalToken = a} :: AddApplicationCloudWatchLoggingOption) -- | The version ID of the Kinesis Data Analytics application. You must -- provide the @CurrentApplicationVersionId@ or the @ConditionalToken@.You -- can retrieve the application version ID using DescribeApplication. For -- better concurrency support, use the @ConditionalToken@ parameter instead -- of @CurrentApplicationVersionId@. addApplicationCloudWatchLoggingOption_currentApplicationVersionId :: Lens.Lens' AddApplicationCloudWatchLoggingOption (Prelude.Maybe Prelude.Natural) addApplicationCloudWatchLoggingOption_currentApplicationVersionId = Lens.lens (\AddApplicationCloudWatchLoggingOption' {currentApplicationVersionId} -> currentApplicationVersionId) (\s@AddApplicationCloudWatchLoggingOption' {} a -> s {currentApplicationVersionId = a} :: AddApplicationCloudWatchLoggingOption) -- | The Kinesis Data Analytics application name. addApplicationCloudWatchLoggingOption_applicationName :: Lens.Lens' AddApplicationCloudWatchLoggingOption Prelude.Text addApplicationCloudWatchLoggingOption_applicationName = Lens.lens (\AddApplicationCloudWatchLoggingOption' {applicationName} -> applicationName) (\s@AddApplicationCloudWatchLoggingOption' {} a -> s {applicationName = a} :: AddApplicationCloudWatchLoggingOption) -- | Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN). addApplicationCloudWatchLoggingOption_cloudWatchLoggingOption :: Lens.Lens' AddApplicationCloudWatchLoggingOption CloudWatchLoggingOption addApplicationCloudWatchLoggingOption_cloudWatchLoggingOption = Lens.lens (\AddApplicationCloudWatchLoggingOption' {cloudWatchLoggingOption} -> cloudWatchLoggingOption) (\s@AddApplicationCloudWatchLoggingOption' {} a -> s {cloudWatchLoggingOption = a} :: AddApplicationCloudWatchLoggingOption) instance Core.AWSRequest AddApplicationCloudWatchLoggingOption where type AWSResponse AddApplicationCloudWatchLoggingOption = AddApplicationCloudWatchLoggingOptionResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> AddApplicationCloudWatchLoggingOptionResponse' Prelude.<$> (x Data..?> "ApplicationARN") Prelude.<*> (x Data..?> "ApplicationVersionId") Prelude.<*> ( x Data..?> "CloudWatchLoggingOptionDescriptions" Core..!@ Prelude.mempty ) Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable AddApplicationCloudWatchLoggingOption where hashWithSalt _salt AddApplicationCloudWatchLoggingOption' {..} = _salt `Prelude.hashWithSalt` conditionalToken `Prelude.hashWithSalt` currentApplicationVersionId `Prelude.hashWithSalt` applicationName `Prelude.hashWithSalt` cloudWatchLoggingOption instance Prelude.NFData AddApplicationCloudWatchLoggingOption where rnf AddApplicationCloudWatchLoggingOption' {..} = Prelude.rnf conditionalToken `Prelude.seq` Prelude.rnf currentApplicationVersionId `Prelude.seq` Prelude.rnf applicationName `Prelude.seq` Prelude.rnf cloudWatchLoggingOption instance Data.ToHeaders AddApplicationCloudWatchLoggingOption where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "KinesisAnalytics_20180523.AddApplicationCloudWatchLoggingOption" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON AddApplicationCloudWatchLoggingOption where toJSON AddApplicationCloudWatchLoggingOption' {..} = Data.object ( Prelude.catMaybes [ ("ConditionalToken" Data..=) Prelude.<$> conditionalToken, ("CurrentApplicationVersionId" Data..=) Prelude.<$> currentApplicationVersionId, Prelude.Just ("ApplicationName" Data..= applicationName), Prelude.Just ( "CloudWatchLoggingOption" Data..= cloudWatchLoggingOption ) ] ) instance Data.ToPath AddApplicationCloudWatchLoggingOption where toPath = Prelude.const "/" instance Data.ToQuery AddApplicationCloudWatchLoggingOption where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newAddApplicationCloudWatchLoggingOptionResponse' smart constructor. data AddApplicationCloudWatchLoggingOptionResponse = AddApplicationCloudWatchLoggingOptionResponse' { -- | The application\'s ARN. applicationARN :: Prelude.Maybe Prelude.Text, -- | The new version ID of the Kinesis Data Analytics application. Kinesis -- Data Analytics updates the @ApplicationVersionId@ each time you change -- the CloudWatch logging options. applicationVersionId :: Prelude.Maybe Prelude.Natural, -- | The descriptions of the current CloudWatch logging options for the -- Kinesis Data Analytics application. cloudWatchLoggingOptionDescriptions :: Prelude.Maybe [CloudWatchLoggingOptionDescription], -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'AddApplicationCloudWatchLoggingOptionResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'applicationARN', 'addApplicationCloudWatchLoggingOptionResponse_applicationARN' - The application\'s ARN. -- -- 'applicationVersionId', 'addApplicationCloudWatchLoggingOptionResponse_applicationVersionId' - The new version ID of the Kinesis Data Analytics application. Kinesis -- Data Analytics updates the @ApplicationVersionId@ each time you change -- the CloudWatch logging options. -- -- 'cloudWatchLoggingOptionDescriptions', 'addApplicationCloudWatchLoggingOptionResponse_cloudWatchLoggingOptionDescriptions' - The descriptions of the current CloudWatch logging options for the -- Kinesis Data Analytics application. -- -- 'httpStatus', 'addApplicationCloudWatchLoggingOptionResponse_httpStatus' - The response's http status code. newAddApplicationCloudWatchLoggingOptionResponse :: -- | 'httpStatus' Prelude.Int -> AddApplicationCloudWatchLoggingOptionResponse newAddApplicationCloudWatchLoggingOptionResponse pHttpStatus_ = AddApplicationCloudWatchLoggingOptionResponse' { applicationARN = Prelude.Nothing, applicationVersionId = Prelude.Nothing, cloudWatchLoggingOptionDescriptions = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The application\'s ARN. addApplicationCloudWatchLoggingOptionResponse_applicationARN :: Lens.Lens' AddApplicationCloudWatchLoggingOptionResponse (Prelude.Maybe Prelude.Text) addApplicationCloudWatchLoggingOptionResponse_applicationARN = Lens.lens (\AddApplicationCloudWatchLoggingOptionResponse' {applicationARN} -> applicationARN) (\s@AddApplicationCloudWatchLoggingOptionResponse' {} a -> s {applicationARN = a} :: AddApplicationCloudWatchLoggingOptionResponse) -- | The new version ID of the Kinesis Data Analytics application. Kinesis -- Data Analytics updates the @ApplicationVersionId@ each time you change -- the CloudWatch logging options. addApplicationCloudWatchLoggingOptionResponse_applicationVersionId :: Lens.Lens' AddApplicationCloudWatchLoggingOptionResponse (Prelude.Maybe Prelude.Natural) addApplicationCloudWatchLoggingOptionResponse_applicationVersionId = Lens.lens (\AddApplicationCloudWatchLoggingOptionResponse' {applicationVersionId} -> applicationVersionId) (\s@AddApplicationCloudWatchLoggingOptionResponse' {} a -> s {applicationVersionId = a} :: AddApplicationCloudWatchLoggingOptionResponse) -- | The descriptions of the current CloudWatch logging options for the -- Kinesis Data Analytics application. addApplicationCloudWatchLoggingOptionResponse_cloudWatchLoggingOptionDescriptions :: Lens.Lens' AddApplicationCloudWatchLoggingOptionResponse (Prelude.Maybe [CloudWatchLoggingOptionDescription]) addApplicationCloudWatchLoggingOptionResponse_cloudWatchLoggingOptionDescriptions = Lens.lens (\AddApplicationCloudWatchLoggingOptionResponse' {cloudWatchLoggingOptionDescriptions} -> cloudWatchLoggingOptionDescriptions) (\s@AddApplicationCloudWatchLoggingOptionResponse' {} a -> s {cloudWatchLoggingOptionDescriptions = a} :: AddApplicationCloudWatchLoggingOptionResponse) Prelude.. Lens.mapping Lens.coerced -- | The response's http status code. addApplicationCloudWatchLoggingOptionResponse_httpStatus :: Lens.Lens' AddApplicationCloudWatchLoggingOptionResponse Prelude.Int addApplicationCloudWatchLoggingOptionResponse_httpStatus = Lens.lens (\AddApplicationCloudWatchLoggingOptionResponse' {httpStatus} -> httpStatus) (\s@AddApplicationCloudWatchLoggingOptionResponse' {} a -> s {httpStatus = a} :: AddApplicationCloudWatchLoggingOptionResponse) instance Prelude.NFData AddApplicationCloudWatchLoggingOptionResponse where rnf AddApplicationCloudWatchLoggingOptionResponse' {..} = Prelude.rnf applicationARN `Prelude.seq` Prelude.rnf applicationVersionId `Prelude.seq` Prelude.rnf cloudWatchLoggingOptionDescriptions `Prelude.seq` Prelude.rnf httpStatus