/** * 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 KinesisAnalytics { namespace Model { /** *

Provides a description of CloudWatch logging options, including the log * stream Amazon Resource Name (ARN) and the role ARN.

See Also:

* AWS * API Reference

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

ARN of the CloudWatch log to receive application messages.

*/ inline const Aws::String& GetLogStreamARN() const{ return m_logStreamARN; } /** *

ARN of the CloudWatch log to receive application messages.

*/ inline bool LogStreamARNHasBeenSet() const { return m_logStreamARNHasBeenSet; } /** *

ARN of the CloudWatch log to receive application messages.

*/ inline void SetLogStreamARN(const Aws::String& value) { m_logStreamARNHasBeenSet = true; m_logStreamARN = value; } /** *

ARN of the CloudWatch log to receive application messages.

*/ inline void SetLogStreamARN(Aws::String&& value) { m_logStreamARNHasBeenSet = true; m_logStreamARN = std::move(value); } /** *

ARN of the CloudWatch log to receive application messages.

*/ inline void SetLogStreamARN(const char* value) { m_logStreamARNHasBeenSet = true; m_logStreamARN.assign(value); } /** *

ARN of the CloudWatch log to receive application messages.

*/ inline CloudWatchLoggingOption& WithLogStreamARN(const Aws::String& value) { SetLogStreamARN(value); return *this;} /** *

ARN of the CloudWatch log to receive application messages.

*/ inline CloudWatchLoggingOption& WithLogStreamARN(Aws::String&& value) { SetLogStreamARN(std::move(value)); return *this;} /** *

ARN of the CloudWatch log to receive application messages.

*/ inline CloudWatchLoggingOption& WithLogStreamARN(const char* value) { SetLogStreamARN(value); return *this;} /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline CloudWatchLoggingOption& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline CloudWatchLoggingOption& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *

IAM ARN of the role to use to send application messages. Note: To write * application messages to CloudWatch, the IAM role that is used must have the * PutLogEvents policy action enabled.

*/ inline CloudWatchLoggingOption& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} private: Aws::String m_logStreamARN; bool m_logStreamARNHasBeenSet = false; Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws