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>For a SQL-based Kinesis Data Analytics application's output, describes the
28    * Amazon Lambda function that is configured as its destination. </p><p><h3>See
29    * Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/LambdaOutputDescription">AWS
31    * API Reference</a></p>
32    */
33   class AWS_KINESISANALYTICSV2_API LambdaOutputDescription
34   {
35   public:
36     LambdaOutputDescription();
37     LambdaOutputDescription(Aws::Utils::Json::JsonView jsonValue);
38     LambdaOutputDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
44      */
GetResourceARN()45     inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
46 
47     /**
48      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
49      */
ResourceARNHasBeenSet()50     inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
54      */
SetResourceARN(const Aws::String & value)55     inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
56 
57     /**
58      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
59      */
SetResourceARN(Aws::String && value)60     inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
61 
62     /**
63      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
64      */
SetResourceARN(const char * value)65     inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
66 
67     /**
68      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
69      */
WithResourceARN(const Aws::String & value)70     inline LambdaOutputDescription& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
71 
72     /**
73      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
74      */
WithResourceARN(Aws::String && value)75     inline LambdaOutputDescription& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
76 
77     /**
78      * <p>The Amazon Resource Name (ARN) of the destination Lambda function.</p>
79      */
WithResourceARN(const char * value)80     inline LambdaOutputDescription& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
81 
82 
83     /**
84      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
85      * the destination function.</p>  <p>Provided for backward compatibility.
86      * Applications that are created with the current API version have an
87      * application-level service execution role rather than a resource-level role.</p>
88      *
89      */
GetRoleARN()90     inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
91 
92     /**
93      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
94      * the destination function.</p>  <p>Provided for backward compatibility.
95      * Applications that are created with the current API version have an
96      * application-level service execution role rather than a resource-level role.</p>
97      *
98      */
RoleARNHasBeenSet()99     inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
100 
101     /**
102      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
103      * the destination function.</p>  <p>Provided for backward compatibility.
104      * Applications that are created with the current API version have an
105      * application-level service execution role rather than a resource-level role.</p>
106      *
107      */
SetRoleARN(const Aws::String & value)108     inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
109 
110     /**
111      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
112      * the destination function.</p>  <p>Provided for backward compatibility.
113      * Applications that are created with the current API version have an
114      * application-level service execution role rather than a resource-level role.</p>
115      *
116      */
SetRoleARN(Aws::String && value)117     inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
118 
119     /**
120      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
121      * the destination function.</p>  <p>Provided for backward compatibility.
122      * Applications that are created with the current API version have an
123      * application-level service execution role rather than a resource-level role.</p>
124      *
125      */
SetRoleARN(const char * value)126     inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
127 
128     /**
129      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
130      * the destination function.</p>  <p>Provided for backward compatibility.
131      * Applications that are created with the current API version have an
132      * application-level service execution role rather than a resource-level role.</p>
133      *
134      */
WithRoleARN(const Aws::String & value)135     inline LambdaOutputDescription& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
136 
137     /**
138      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
139      * the destination function.</p>  <p>Provided for backward compatibility.
140      * Applications that are created with the current API version have an
141      * application-level service execution role rather than a resource-level role.</p>
142      *
143      */
WithRoleARN(Aws::String && value)144     inline LambdaOutputDescription& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
145 
146     /**
147      * <p>The ARN of the IAM role that Kinesis Data Analytics can assume to write to
148      * the destination function.</p>  <p>Provided for backward compatibility.
149      * Applications that are created with the current API version have an
150      * application-level service execution role rather than a resource-level role.</p>
151      *
152      */
WithRoleARN(const char * value)153     inline LambdaOutputDescription& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
154 
155   private:
156 
157     Aws::String m_resourceARN;
158     bool m_resourceARNHasBeenSet;
159 
160     Aws::String m_roleARN;
161     bool m_roleARNHasBeenSet;
162   };
163 
164 } // namespace Model
165 } // namespace KinesisAnalyticsV2
166 } // namespace Aws
167