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/kafkaconnect/KafkaConnect_EXPORTS.h>
8 #include <aws/core/utils/DateTime.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/kafkaconnect/model/CustomPluginState.h>
11 #include <aws/kafkaconnect/model/CustomPluginRevisionSummary.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace KafkaConnect
27 {
28 namespace Model
29 {
30   class AWS_KAFKACONNECT_API DescribeCustomPluginResult
31   {
32   public:
33     DescribeCustomPluginResult();
34     DescribeCustomPluginResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeCustomPluginResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>The time that the custom plugin was created.</p>
40      */
GetCreationTime()41     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
42 
43     /**
44      * <p>The time that the custom plugin was created.</p>
45      */
SetCreationTime(const Aws::Utils::DateTime & value)46     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; }
47 
48     /**
49      * <p>The time that the custom plugin was created.</p>
50      */
SetCreationTime(Aws::Utils::DateTime && value)51     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); }
52 
53     /**
54      * <p>The time that the custom plugin was created.</p>
55      */
WithCreationTime(const Aws::Utils::DateTime & value)56     inline DescribeCustomPluginResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
57 
58     /**
59      * <p>The time that the custom plugin was created.</p>
60      */
WithCreationTime(Aws::Utils::DateTime && value)61     inline DescribeCustomPluginResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
62 
63 
64     /**
65      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
66      */
GetCustomPluginArn()67     inline const Aws::String& GetCustomPluginArn() const{ return m_customPluginArn; }
68 
69     /**
70      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
71      */
SetCustomPluginArn(const Aws::String & value)72     inline void SetCustomPluginArn(const Aws::String& value) { m_customPluginArn = value; }
73 
74     /**
75      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
76      */
SetCustomPluginArn(Aws::String && value)77     inline void SetCustomPluginArn(Aws::String&& value) { m_customPluginArn = std::move(value); }
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
81      */
SetCustomPluginArn(const char * value)82     inline void SetCustomPluginArn(const char* value) { m_customPluginArn.assign(value); }
83 
84     /**
85      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
86      */
WithCustomPluginArn(const Aws::String & value)87     inline DescribeCustomPluginResult& WithCustomPluginArn(const Aws::String& value) { SetCustomPluginArn(value); return *this;}
88 
89     /**
90      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
91      */
WithCustomPluginArn(Aws::String && value)92     inline DescribeCustomPluginResult& WithCustomPluginArn(Aws::String&& value) { SetCustomPluginArn(std::move(value)); return *this;}
93 
94     /**
95      * <p>The Amazon Resource Name (ARN) of the custom plugin.</p>
96      */
WithCustomPluginArn(const char * value)97     inline DescribeCustomPluginResult& WithCustomPluginArn(const char* value) { SetCustomPluginArn(value); return *this;}
98 
99 
100     /**
101      * <p>The state of the custom plugin.</p>
102      */
GetCustomPluginState()103     inline const CustomPluginState& GetCustomPluginState() const{ return m_customPluginState; }
104 
105     /**
106      * <p>The state of the custom plugin.</p>
107      */
SetCustomPluginState(const CustomPluginState & value)108     inline void SetCustomPluginState(const CustomPluginState& value) { m_customPluginState = value; }
109 
110     /**
111      * <p>The state of the custom plugin.</p>
112      */
SetCustomPluginState(CustomPluginState && value)113     inline void SetCustomPluginState(CustomPluginState&& value) { m_customPluginState = std::move(value); }
114 
115     /**
116      * <p>The state of the custom plugin.</p>
117      */
WithCustomPluginState(const CustomPluginState & value)118     inline DescribeCustomPluginResult& WithCustomPluginState(const CustomPluginState& value) { SetCustomPluginState(value); return *this;}
119 
120     /**
121      * <p>The state of the custom plugin.</p>
122      */
WithCustomPluginState(CustomPluginState && value)123     inline DescribeCustomPluginResult& WithCustomPluginState(CustomPluginState&& value) { SetCustomPluginState(std::move(value)); return *this;}
124 
125 
126     /**
127      * <p>The description of the custom plugin.</p>
128      */
GetDescription()129     inline const Aws::String& GetDescription() const{ return m_description; }
130 
131     /**
132      * <p>The description of the custom plugin.</p>
133      */
SetDescription(const Aws::String & value)134     inline void SetDescription(const Aws::String& value) { m_description = value; }
135 
136     /**
137      * <p>The description of the custom plugin.</p>
138      */
SetDescription(Aws::String && value)139     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
140 
141     /**
142      * <p>The description of the custom plugin.</p>
143      */
SetDescription(const char * value)144     inline void SetDescription(const char* value) { m_description.assign(value); }
145 
146     /**
147      * <p>The description of the custom plugin.</p>
148      */
WithDescription(const Aws::String & value)149     inline DescribeCustomPluginResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
150 
151     /**
152      * <p>The description of the custom plugin.</p>
153      */
WithDescription(Aws::String && value)154     inline DescribeCustomPluginResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
155 
156     /**
157      * <p>The description of the custom plugin.</p>
158      */
WithDescription(const char * value)159     inline DescribeCustomPluginResult& WithDescription(const char* value) { SetDescription(value); return *this;}
160 
161 
162     /**
163      * <p>The latest successfully created revision of the custom plugin. If there are
164      * no successfully created revisions, this field will be absent.</p>
165      */
GetLatestRevision()166     inline const CustomPluginRevisionSummary& GetLatestRevision() const{ return m_latestRevision; }
167 
168     /**
169      * <p>The latest successfully created revision of the custom plugin. If there are
170      * no successfully created revisions, this field will be absent.</p>
171      */
SetLatestRevision(const CustomPluginRevisionSummary & value)172     inline void SetLatestRevision(const CustomPluginRevisionSummary& value) { m_latestRevision = value; }
173 
174     /**
175      * <p>The latest successfully created revision of the custom plugin. If there are
176      * no successfully created revisions, this field will be absent.</p>
177      */
SetLatestRevision(CustomPluginRevisionSummary && value)178     inline void SetLatestRevision(CustomPluginRevisionSummary&& value) { m_latestRevision = std::move(value); }
179 
180     /**
181      * <p>The latest successfully created revision of the custom plugin. If there are
182      * no successfully created revisions, this field will be absent.</p>
183      */
WithLatestRevision(const CustomPluginRevisionSummary & value)184     inline DescribeCustomPluginResult& WithLatestRevision(const CustomPluginRevisionSummary& value) { SetLatestRevision(value); return *this;}
185 
186     /**
187      * <p>The latest successfully created revision of the custom plugin. If there are
188      * no successfully created revisions, this field will be absent.</p>
189      */
WithLatestRevision(CustomPluginRevisionSummary && value)190     inline DescribeCustomPluginResult& WithLatestRevision(CustomPluginRevisionSummary&& value) { SetLatestRevision(std::move(value)); return *this;}
191 
192 
193     /**
194      * <p>The name of the custom plugin.</p>
195      */
GetName()196     inline const Aws::String& GetName() const{ return m_name; }
197 
198     /**
199      * <p>The name of the custom plugin.</p>
200      */
SetName(const Aws::String & value)201     inline void SetName(const Aws::String& value) { m_name = value; }
202 
203     /**
204      * <p>The name of the custom plugin.</p>
205      */
SetName(Aws::String && value)206     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
207 
208     /**
209      * <p>The name of the custom plugin.</p>
210      */
SetName(const char * value)211     inline void SetName(const char* value) { m_name.assign(value); }
212 
213     /**
214      * <p>The name of the custom plugin.</p>
215      */
WithName(const Aws::String & value)216     inline DescribeCustomPluginResult& WithName(const Aws::String& value) { SetName(value); return *this;}
217 
218     /**
219      * <p>The name of the custom plugin.</p>
220      */
WithName(Aws::String && value)221     inline DescribeCustomPluginResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
222 
223     /**
224      * <p>The name of the custom plugin.</p>
225      */
WithName(const char * value)226     inline DescribeCustomPluginResult& WithName(const char* value) { SetName(value); return *this;}
227 
228   private:
229 
230     Aws::Utils::DateTime m_creationTime;
231 
232     Aws::String m_customPluginArn;
233 
234     CustomPluginState m_customPluginState;
235 
236     Aws::String m_description;
237 
238     CustomPluginRevisionSummary m_latestRevision;
239 
240     Aws::String m_name;
241   };
242 
243 } // namespace Model
244 } // namespace KafkaConnect
245 } // namespace Aws
246