1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/lookoutmetrics/LookoutMetrics_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace LookoutMetrics 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Details about an Amazon CloudWatch datasource.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutmetrics-2017-07-25/CloudWatchConfig">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_LOOKOUTMETRICS_API CloudWatchConfig 32 { 33 public: 34 CloudWatchConfig(); 35 CloudWatchConfig(Aws::Utils::Json::JsonView jsonValue); 36 CloudWatchConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 42 * in Amazon CloudWatch.</p> 43 */ GetRoleArn()44 inline const Aws::String& GetRoleArn() const{ return m_roleArn; } 45 46 /** 47 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 48 * in Amazon CloudWatch.</p> 49 */ RoleArnHasBeenSet()50 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } 51 52 /** 53 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 54 * in Amazon CloudWatch.</p> 55 */ SetRoleArn(const Aws::String & value)56 inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } 57 58 /** 59 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 60 * in Amazon CloudWatch.</p> 61 */ SetRoleArn(Aws::String && value)62 inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } 63 64 /** 65 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 66 * in Amazon CloudWatch.</p> 67 */ SetRoleArn(const char * value)68 inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } 69 70 /** 71 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 72 * in Amazon CloudWatch.</p> 73 */ WithRoleArn(const Aws::String & value)74 inline CloudWatchConfig& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} 75 76 /** 77 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 78 * in Amazon CloudWatch.</p> 79 */ WithRoleArn(Aws::String && value)80 inline CloudWatchConfig& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} 81 82 /** 83 * <p>An IAM role that gives Amazon Lookout for Metrics permission to access data 84 * in Amazon CloudWatch.</p> 85 */ WithRoleArn(const char * value)86 inline CloudWatchConfig& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} 87 88 private: 89 90 Aws::String m_roleArn; 91 bool m_roleArnHasBeenSet; 92 }; 93 94 } // namespace Model 95 } // namespace LookoutMetrics 96 } // namespace Aws 97