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/kinesisanalyticsv2/KinesisAnalyticsV2_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 KinesisAnalyticsV2
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Describes the Amazon CloudWatch logging option.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CloudWatchLoggingOptionDescription">AWS
29    * API Reference</a></p>
30    */
31   class AWS_KINESISANALYTICSV2_API CloudWatchLoggingOptionDescription
32   {
33   public:
34     CloudWatchLoggingOptionDescription();
35     CloudWatchLoggingOptionDescription(Aws::Utils::Json::JsonView jsonValue);
36     CloudWatchLoggingOptionDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The ID of the CloudWatch logging option description.</p>
42      */
GetCloudWatchLoggingOptionId()43     inline const Aws::String& GetCloudWatchLoggingOptionId() const{ return m_cloudWatchLoggingOptionId; }
44 
45     /**
46      * <p>The ID of the CloudWatch logging option description.</p>
47      */
CloudWatchLoggingOptionIdHasBeenSet()48     inline bool CloudWatchLoggingOptionIdHasBeenSet() const { return m_cloudWatchLoggingOptionIdHasBeenSet; }
49 
50     /**
51      * <p>The ID of the CloudWatch logging option description.</p>
52      */
SetCloudWatchLoggingOptionId(const Aws::String & value)53     inline void SetCloudWatchLoggingOptionId(const Aws::String& value) { m_cloudWatchLoggingOptionIdHasBeenSet = true; m_cloudWatchLoggingOptionId = value; }
54 
55     /**
56      * <p>The ID of the CloudWatch logging option description.</p>
57      */
SetCloudWatchLoggingOptionId(Aws::String && value)58     inline void SetCloudWatchLoggingOptionId(Aws::String&& value) { m_cloudWatchLoggingOptionIdHasBeenSet = true; m_cloudWatchLoggingOptionId = std::move(value); }
59 
60     /**
61      * <p>The ID of the CloudWatch logging option description.</p>
62      */
SetCloudWatchLoggingOptionId(const char * value)63     inline void SetCloudWatchLoggingOptionId(const char* value) { m_cloudWatchLoggingOptionIdHasBeenSet = true; m_cloudWatchLoggingOptionId.assign(value); }
64 
65     /**
66      * <p>The ID of the CloudWatch logging option description.</p>
67      */
WithCloudWatchLoggingOptionId(const Aws::String & value)68     inline CloudWatchLoggingOptionDescription& WithCloudWatchLoggingOptionId(const Aws::String& value) { SetCloudWatchLoggingOptionId(value); return *this;}
69 
70     /**
71      * <p>The ID of the CloudWatch logging option description.</p>
72      */
WithCloudWatchLoggingOptionId(Aws::String && value)73     inline CloudWatchLoggingOptionDescription& WithCloudWatchLoggingOptionId(Aws::String&& value) { SetCloudWatchLoggingOptionId(std::move(value)); return *this;}
74 
75     /**
76      * <p>The ID of the CloudWatch logging option description.</p>
77      */
WithCloudWatchLoggingOptionId(const char * value)78     inline CloudWatchLoggingOptionDescription& WithCloudWatchLoggingOptionId(const char* value) { SetCloudWatchLoggingOptionId(value); return *this;}
79 
80 
81     /**
82      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
83      * messages.</p>
84      */
GetLogStreamARN()85     inline const Aws::String& GetLogStreamARN() const{ return m_logStreamARN; }
86 
87     /**
88      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
89      * messages.</p>
90      */
LogStreamARNHasBeenSet()91     inline bool LogStreamARNHasBeenSet() const { return m_logStreamARNHasBeenSet; }
92 
93     /**
94      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
95      * messages.</p>
96      */
SetLogStreamARN(const Aws::String & value)97     inline void SetLogStreamARN(const Aws::String& value) { m_logStreamARNHasBeenSet = true; m_logStreamARN = value; }
98 
99     /**
100      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
101      * messages.</p>
102      */
SetLogStreamARN(Aws::String && value)103     inline void SetLogStreamARN(Aws::String&& value) { m_logStreamARNHasBeenSet = true; m_logStreamARN = std::move(value); }
104 
105     /**
106      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
107      * messages.</p>
108      */
SetLogStreamARN(const char * value)109     inline void SetLogStreamARN(const char* value) { m_logStreamARNHasBeenSet = true; m_logStreamARN.assign(value); }
110 
111     /**
112      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
113      * messages.</p>
114      */
WithLogStreamARN(const Aws::String & value)115     inline CloudWatchLoggingOptionDescription& WithLogStreamARN(const Aws::String& value) { SetLogStreamARN(value); return *this;}
116 
117     /**
118      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
119      * messages.</p>
120      */
WithLogStreamARN(Aws::String && value)121     inline CloudWatchLoggingOptionDescription& WithLogStreamARN(Aws::String&& value) { SetLogStreamARN(std::move(value)); return *this;}
122 
123     /**
124      * <p>The Amazon Resource Name (ARN) of the CloudWatch log to receive application
125      * messages.</p>
126      */
WithLogStreamARN(const char * value)127     inline CloudWatchLoggingOptionDescription& WithLogStreamARN(const char* value) { SetLogStreamARN(value); return *this;}
128 
129 
130     /**
131      * <p>The IAM ARN of the role to use to send application messages. </p>
132      * <p>Provided for backward compatibility. Applications created with the current
133      * API version have an application-level service execution role rather than a
134      * resource-level role.</p>
135      */
GetRoleARN()136     inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
137 
138     /**
139      * <p>The IAM ARN of the role to use to send application messages. </p>
140      * <p>Provided for backward compatibility. Applications created with the current
141      * API version have an application-level service execution role rather than a
142      * resource-level role.</p>
143      */
RoleARNHasBeenSet()144     inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
145 
146     /**
147      * <p>The IAM ARN of the role to use to send application messages. </p>
148      * <p>Provided for backward compatibility. Applications created with the current
149      * API version have an application-level service execution role rather than a
150      * resource-level role.</p>
151      */
SetRoleARN(const Aws::String & value)152     inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
153 
154     /**
155      * <p>The IAM ARN of the role to use to send application messages. </p>
156      * <p>Provided for backward compatibility. Applications created with the current
157      * API version have an application-level service execution role rather than a
158      * resource-level role.</p>
159      */
SetRoleARN(Aws::String && value)160     inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
161 
162     /**
163      * <p>The IAM ARN of the role to use to send application messages. </p>
164      * <p>Provided for backward compatibility. Applications created with the current
165      * API version have an application-level service execution role rather than a
166      * resource-level role.</p>
167      */
SetRoleARN(const char * value)168     inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
169 
170     /**
171      * <p>The IAM ARN of the role to use to send application messages. </p>
172      * <p>Provided for backward compatibility. Applications created with the current
173      * API version have an application-level service execution role rather than a
174      * resource-level role.</p>
175      */
WithRoleARN(const Aws::String & value)176     inline CloudWatchLoggingOptionDescription& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
177 
178     /**
179      * <p>The IAM ARN of the role to use to send application messages. </p>
180      * <p>Provided for backward compatibility. Applications created with the current
181      * API version have an application-level service execution role rather than a
182      * resource-level role.</p>
183      */
WithRoleARN(Aws::String && value)184     inline CloudWatchLoggingOptionDescription& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
185 
186     /**
187      * <p>The IAM ARN of the role to use to send application messages. </p>
188      * <p>Provided for backward compatibility. Applications created with the current
189      * API version have an application-level service execution role rather than a
190      * resource-level role.</p>
191      */
WithRoleARN(const char * value)192     inline CloudWatchLoggingOptionDescription& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
193 
194   private:
195 
196     Aws::String m_cloudWatchLoggingOptionId;
197     bool m_cloudWatchLoggingOptionIdHasBeenSet;
198 
199     Aws::String m_logStreamARN;
200     bool m_logStreamARNHasBeenSet;
201 
202     Aws::String m_roleARN;
203     bool m_roleARNHasBeenSet;
204   };
205 
206 } // namespace Model
207 } // namespace KinesisAnalyticsV2
208 } // namespace Aws
209