/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OSIS { namespace Model { /** *

Container for the values required to configure logging for the pipeline. If * you don't specify these values, OpenSearch Ingestion will not publish logs from * your application to CloudWatch Logs.

See Also:

AWS * API Reference

*/ class LogPublishingOptions { public: AWS_OSIS_API LogPublishingOptions(); AWS_OSIS_API LogPublishingOptions(Aws::Utils::Json::JsonView jsonValue); AWS_OSIS_API LogPublishingOptions& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_OSIS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Whether logs should be published.

*/ inline bool GetIsLoggingEnabled() const{ return m_isLoggingEnabled; } /** *

Whether logs should be published.

*/ inline bool IsLoggingEnabledHasBeenSet() const { return m_isLoggingEnabledHasBeenSet; } /** *

Whether logs should be published.

*/ inline void SetIsLoggingEnabled(bool value) { m_isLoggingEnabledHasBeenSet = true; m_isLoggingEnabled = value; } /** *

Whether logs should be published.

*/ inline LogPublishingOptions& WithIsLoggingEnabled(bool value) { SetIsLoggingEnabled(value); return *this;} /** *

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. * This parameter is required if IsLoggingEnabled is set to * true.

*/ inline const CloudWatchLogDestination& GetCloudWatchLogDestination() const{ return m_cloudWatchLogDestination; } /** *

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. * This parameter is required if IsLoggingEnabled is set to * true.

*/ inline bool CloudWatchLogDestinationHasBeenSet() const { return m_cloudWatchLogDestinationHasBeenSet; } /** *

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. * This parameter is required if IsLoggingEnabled is set to * true.

*/ inline void SetCloudWatchLogDestination(const CloudWatchLogDestination& value) { m_cloudWatchLogDestinationHasBeenSet = true; m_cloudWatchLogDestination = value; } /** *

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. * This parameter is required if IsLoggingEnabled is set to * true.

*/ inline void SetCloudWatchLogDestination(CloudWatchLogDestination&& value) { m_cloudWatchLogDestinationHasBeenSet = true; m_cloudWatchLogDestination = std::move(value); } /** *

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. * This parameter is required if IsLoggingEnabled is set to * true.

*/ inline LogPublishingOptions& WithCloudWatchLogDestination(const CloudWatchLogDestination& value) { SetCloudWatchLogDestination(value); return *this;} /** *

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. * This parameter is required if IsLoggingEnabled is set to * true.

*/ inline LogPublishingOptions& WithCloudWatchLogDestination(CloudWatchLogDestination&& value) { SetCloudWatchLogDestination(std::move(value)); return *this;} private: bool m_isLoggingEnabled; bool m_isLoggingEnabledHasBeenSet = false; CloudWatchLogDestination m_cloudWatchLogDestination; bool m_cloudWatchLogDestinationHasBeenSet = false; }; } // namespace Model } // namespace OSIS } // namespace Aws