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

Options for sending VPN tunnel logs to CloudWatch.

See Also:

* AWS * API Reference

*/ class CloudWatchLogOptions { public: AWS_EC2_API CloudWatchLogOptions(); AWS_EC2_API CloudWatchLogOptions(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API CloudWatchLogOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

Status of VPN tunnel logging feature. Default value is * False.

Valid values: True | False *

*/ inline bool GetLogEnabled() const{ return m_logEnabled; } /** *

Status of VPN tunnel logging feature. Default value is * False.

Valid values: True | False *

*/ inline bool LogEnabledHasBeenSet() const { return m_logEnabledHasBeenSet; } /** *

Status of VPN tunnel logging feature. Default value is * False.

Valid values: True | False *

*/ inline void SetLogEnabled(bool value) { m_logEnabledHasBeenSet = true; m_logEnabled = value; } /** *

Status of VPN tunnel logging feature. Default value is * False.

Valid values: True | False *

*/ inline CloudWatchLogOptions& WithLogEnabled(bool value) { SetLogEnabled(value); return *this;} /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline const Aws::String& GetLogGroupArn() const{ return m_logGroupArn; } /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline bool LogGroupArnHasBeenSet() const { return m_logGroupArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline void SetLogGroupArn(const Aws::String& value) { m_logGroupArnHasBeenSet = true; m_logGroupArn = value; } /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline void SetLogGroupArn(Aws::String&& value) { m_logGroupArnHasBeenSet = true; m_logGroupArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline void SetLogGroupArn(const char* value) { m_logGroupArnHasBeenSet = true; m_logGroupArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline CloudWatchLogOptions& WithLogGroupArn(const Aws::String& value) { SetLogGroupArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline CloudWatchLogOptions& WithLogGroupArn(Aws::String&& value) { SetLogGroupArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs * to.

*/ inline CloudWatchLogOptions& WithLogGroupArn(const char* value) { SetLogGroupArn(value); return *this;} /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline const Aws::String& GetLogOutputFormat() const{ return m_logOutputFormat; } /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline bool LogOutputFormatHasBeenSet() const { return m_logOutputFormatHasBeenSet; } /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline void SetLogOutputFormat(const Aws::String& value) { m_logOutputFormatHasBeenSet = true; m_logOutputFormat = value; } /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline void SetLogOutputFormat(Aws::String&& value) { m_logOutputFormatHasBeenSet = true; m_logOutputFormat = std::move(value); } /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline void SetLogOutputFormat(const char* value) { m_logOutputFormatHasBeenSet = true; m_logOutputFormat.assign(value); } /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline CloudWatchLogOptions& WithLogOutputFormat(const Aws::String& value) { SetLogOutputFormat(value); return *this;} /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline CloudWatchLogOptions& WithLogOutputFormat(Aws::String&& value) { SetLogOutputFormat(std::move(value)); return *this;} /** *

Configured log format. Default format is json.

Valid * values: json | text

*/ inline CloudWatchLogOptions& WithLogOutputFormat(const char* value) { SetLogOutputFormat(value); return *this;} private: bool m_logEnabled; bool m_logEnabledHasBeenSet = false; Aws::String m_logGroupArn; bool m_logGroupArnHasBeenSet = false; Aws::String m_logOutputFormat; bool m_logOutputFormatHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws