/**
* 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 ElasticsearchService
{
namespace Model
{
/**
* Log Publishing option that is set for given domain.
Attributes and their
* details:
- CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to
* which log needs to be published.
- Enabled: Whether the log publishing
* for given log type is enabled or not
See Also:
AWS
* API Reference
*/
class LogPublishingOption
{
public:
AWS_ELASTICSEARCHSERVICE_API LogPublishingOption();
AWS_ELASTICSEARCHSERVICE_API LogPublishingOption(Aws::Utils::Json::JsonView jsonValue);
AWS_ELASTICSEARCHSERVICE_API LogPublishingOption& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_ELASTICSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetCloudWatchLogsLogGroupArn() const{ return m_cloudWatchLogsLogGroupArn; }
inline bool CloudWatchLogsLogGroupArnHasBeenSet() const { return m_cloudWatchLogsLogGroupArnHasBeenSet; }
inline void SetCloudWatchLogsLogGroupArn(const Aws::String& value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn = value; }
inline void SetCloudWatchLogsLogGroupArn(Aws::String&& value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn = std::move(value); }
inline void SetCloudWatchLogsLogGroupArn(const char* value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn.assign(value); }
inline LogPublishingOption& WithCloudWatchLogsLogGroupArn(const Aws::String& value) { SetCloudWatchLogsLogGroupArn(value); return *this;}
inline LogPublishingOption& WithCloudWatchLogsLogGroupArn(Aws::String&& value) { SetCloudWatchLogsLogGroupArn(std::move(value)); return *this;}
inline LogPublishingOption& WithCloudWatchLogsLogGroupArn(const char* value) { SetCloudWatchLogsLogGroupArn(value); return *this;}
/**
* Specifies whether given log publishing option is enabled or not.
*/
inline bool GetEnabled() const{ return m_enabled; }
/**
* Specifies whether given log publishing option is enabled or not.
*/
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
/**
* Specifies whether given log publishing option is enabled or not.
*/
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
/**
* Specifies whether given log publishing option is enabled or not.
*/
inline LogPublishingOption& WithEnabled(bool value) { SetEnabled(value); return *this;}
private:
Aws::String m_cloudWatchLogsLogGroupArn;
bool m_cloudWatchLogsLogGroupArnHasBeenSet = false;
bool m_enabled;
bool m_enabledHasBeenSet = false;
};
} // namespace Model
} // namespace ElasticsearchService
} // namespace Aws