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/dataexchange/DataExchange_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 template<typename RESULT_TYPE>
15 class AmazonWebServiceResult;
16 
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22 } // namespace Json
23 } // namespace Utils
24 namespace DataExchange
25 {
26 namespace Model
27 {
28   class AWS_DATAEXCHANGE_API UpdateRevisionResult
29   {
30   public:
31     UpdateRevisionResult();
32     UpdateRevisionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
33     UpdateRevisionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34 
35 
36     /**
37      * <p>The ARN for the revision.</p>
38      */
GetArn()39     inline const Aws::String& GetArn() const{ return m_arn; }
40 
41     /**
42      * <p>The ARN for the revision.</p>
43      */
SetArn(const Aws::String & value)44     inline void SetArn(const Aws::String& value) { m_arn = value; }
45 
46     /**
47      * <p>The ARN for the revision.</p>
48      */
SetArn(Aws::String && value)49     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
50 
51     /**
52      * <p>The ARN for the revision.</p>
53      */
SetArn(const char * value)54     inline void SetArn(const char* value) { m_arn.assign(value); }
55 
56     /**
57      * <p>The ARN for the revision.</p>
58      */
WithArn(const Aws::String & value)59     inline UpdateRevisionResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
60 
61     /**
62      * <p>The ARN for the revision.</p>
63      */
WithArn(Aws::String && value)64     inline UpdateRevisionResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
65 
66     /**
67      * <p>The ARN for the revision.</p>
68      */
WithArn(const char * value)69     inline UpdateRevisionResult& WithArn(const char* value) { SetArn(value); return *this;}
70 
71 
72     /**
73      * <p>An optional comment about the revision.</p>
74      */
GetComment()75     inline const Aws::String& GetComment() const{ return m_comment; }
76 
77     /**
78      * <p>An optional comment about the revision.</p>
79      */
SetComment(const Aws::String & value)80     inline void SetComment(const Aws::String& value) { m_comment = value; }
81 
82     /**
83      * <p>An optional comment about the revision.</p>
84      */
SetComment(Aws::String && value)85     inline void SetComment(Aws::String&& value) { m_comment = std::move(value); }
86 
87     /**
88      * <p>An optional comment about the revision.</p>
89      */
SetComment(const char * value)90     inline void SetComment(const char* value) { m_comment.assign(value); }
91 
92     /**
93      * <p>An optional comment about the revision.</p>
94      */
WithComment(const Aws::String & value)95     inline UpdateRevisionResult& WithComment(const Aws::String& value) { SetComment(value); return *this;}
96 
97     /**
98      * <p>An optional comment about the revision.</p>
99      */
WithComment(Aws::String && value)100     inline UpdateRevisionResult& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;}
101 
102     /**
103      * <p>An optional comment about the revision.</p>
104      */
WithComment(const char * value)105     inline UpdateRevisionResult& WithComment(const char* value) { SetComment(value); return *this;}
106 
107 
108     /**
109      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
110      */
GetCreatedAt()111     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
112 
113     /**
114      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
115      */
SetCreatedAt(const Aws::Utils::DateTime & value)116     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; }
117 
118     /**
119      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
120      */
SetCreatedAt(Aws::Utils::DateTime && value)121     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); }
122 
123     /**
124      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
125      */
WithCreatedAt(const Aws::Utils::DateTime & value)126     inline UpdateRevisionResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
127 
128     /**
129      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
130      */
WithCreatedAt(Aws::Utils::DateTime && value)131     inline UpdateRevisionResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
132 
133 
134     /**
135      * <p>The unique identifier for the data set associated with this revision.</p>
136      */
GetDataSetId()137     inline const Aws::String& GetDataSetId() const{ return m_dataSetId; }
138 
139     /**
140      * <p>The unique identifier for the data set associated with this revision.</p>
141      */
SetDataSetId(const Aws::String & value)142     inline void SetDataSetId(const Aws::String& value) { m_dataSetId = value; }
143 
144     /**
145      * <p>The unique identifier for the data set associated with this revision.</p>
146      */
SetDataSetId(Aws::String && value)147     inline void SetDataSetId(Aws::String&& value) { m_dataSetId = std::move(value); }
148 
149     /**
150      * <p>The unique identifier for the data set associated with this revision.</p>
151      */
SetDataSetId(const char * value)152     inline void SetDataSetId(const char* value) { m_dataSetId.assign(value); }
153 
154     /**
155      * <p>The unique identifier for the data set associated with this revision.</p>
156      */
WithDataSetId(const Aws::String & value)157     inline UpdateRevisionResult& WithDataSetId(const Aws::String& value) { SetDataSetId(value); return *this;}
158 
159     /**
160      * <p>The unique identifier for the data set associated with this revision.</p>
161      */
WithDataSetId(Aws::String && value)162     inline UpdateRevisionResult& WithDataSetId(Aws::String&& value) { SetDataSetId(std::move(value)); return *this;}
163 
164     /**
165      * <p>The unique identifier for the data set associated with this revision.</p>
166      */
WithDataSetId(const char * value)167     inline UpdateRevisionResult& WithDataSetId(const char* value) { SetDataSetId(value); return *this;}
168 
169 
170     /**
171      * <p>To publish a revision to a data set in a product, the revision must first be
172      * finalized. Finalizing a revision tells AWS Data Exchange that changes to the
173      * assets in the revision are complete. After it's in this read-only state, you can
174      * publish the revision to your products.</p> <p>Finalized revisions can be
175      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
176      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
177      * API, revisions are uniquely identified by their ARN.</p>
178      */
GetFinalized()179     inline bool GetFinalized() const{ return m_finalized; }
180 
181     /**
182      * <p>To publish a revision to a data set in a product, the revision must first be
183      * finalized. Finalizing a revision tells AWS Data Exchange that changes to the
184      * assets in the revision are complete. After it's in this read-only state, you can
185      * publish the revision to your products.</p> <p>Finalized revisions can be
186      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
187      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
188      * API, revisions are uniquely identified by their ARN.</p>
189      */
SetFinalized(bool value)190     inline void SetFinalized(bool value) { m_finalized = value; }
191 
192     /**
193      * <p>To publish a revision to a data set in a product, the revision must first be
194      * finalized. Finalizing a revision tells AWS Data Exchange that changes to the
195      * assets in the revision are complete. After it's in this read-only state, you can
196      * publish the revision to your products.</p> <p>Finalized revisions can be
197      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
198      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
199      * API, revisions are uniquely identified by their ARN.</p>
200      */
WithFinalized(bool value)201     inline UpdateRevisionResult& WithFinalized(bool value) { SetFinalized(value); return *this;}
202 
203 
204     /**
205      * <p>The unique identifier for the revision.</p>
206      */
GetId()207     inline const Aws::String& GetId() const{ return m_id; }
208 
209     /**
210      * <p>The unique identifier for the revision.</p>
211      */
SetId(const Aws::String & value)212     inline void SetId(const Aws::String& value) { m_id = value; }
213 
214     /**
215      * <p>The unique identifier for the revision.</p>
216      */
SetId(Aws::String && value)217     inline void SetId(Aws::String&& value) { m_id = std::move(value); }
218 
219     /**
220      * <p>The unique identifier for the revision.</p>
221      */
SetId(const char * value)222     inline void SetId(const char* value) { m_id.assign(value); }
223 
224     /**
225      * <p>The unique identifier for the revision.</p>
226      */
WithId(const Aws::String & value)227     inline UpdateRevisionResult& WithId(const Aws::String& value) { SetId(value); return *this;}
228 
229     /**
230      * <p>The unique identifier for the revision.</p>
231      */
WithId(Aws::String && value)232     inline UpdateRevisionResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
233 
234     /**
235      * <p>The unique identifier for the revision.</p>
236      */
WithId(const char * value)237     inline UpdateRevisionResult& WithId(const char* value) { SetId(value); return *this;}
238 
239 
240     /**
241      * <p>The revision ID of the owned revision corresponding to the entitled revision
242      * being viewed. This parameter is returned when a revision owner is viewing the
243      * entitled copy of its owned revision.</p>
244      */
GetSourceId()245     inline const Aws::String& GetSourceId() const{ return m_sourceId; }
246 
247     /**
248      * <p>The revision ID of the owned revision corresponding to the entitled revision
249      * being viewed. This parameter is returned when a revision owner is viewing the
250      * entitled copy of its owned revision.</p>
251      */
SetSourceId(const Aws::String & value)252     inline void SetSourceId(const Aws::String& value) { m_sourceId = value; }
253 
254     /**
255      * <p>The revision ID of the owned revision corresponding to the entitled revision
256      * being viewed. This parameter is returned when a revision owner is viewing the
257      * entitled copy of its owned revision.</p>
258      */
SetSourceId(Aws::String && value)259     inline void SetSourceId(Aws::String&& value) { m_sourceId = std::move(value); }
260 
261     /**
262      * <p>The revision ID of the owned revision corresponding to the entitled revision
263      * being viewed. This parameter is returned when a revision owner is viewing the
264      * entitled copy of its owned revision.</p>
265      */
SetSourceId(const char * value)266     inline void SetSourceId(const char* value) { m_sourceId.assign(value); }
267 
268     /**
269      * <p>The revision ID of the owned revision corresponding to the entitled revision
270      * being viewed. This parameter is returned when a revision owner is viewing the
271      * entitled copy of its owned revision.</p>
272      */
WithSourceId(const Aws::String & value)273     inline UpdateRevisionResult& WithSourceId(const Aws::String& value) { SetSourceId(value); return *this;}
274 
275     /**
276      * <p>The revision ID of the owned revision corresponding to the entitled revision
277      * being viewed. This parameter is returned when a revision owner is viewing the
278      * entitled copy of its owned revision.</p>
279      */
WithSourceId(Aws::String && value)280     inline UpdateRevisionResult& WithSourceId(Aws::String&& value) { SetSourceId(std::move(value)); return *this;}
281 
282     /**
283      * <p>The revision ID of the owned revision corresponding to the entitled revision
284      * being viewed. This parameter is returned when a revision owner is viewing the
285      * entitled copy of its owned revision.</p>
286      */
WithSourceId(const char * value)287     inline UpdateRevisionResult& WithSourceId(const char* value) { SetSourceId(value); return *this;}
288 
289 
290     /**
291      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
292      */
GetUpdatedAt()293     inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
294 
295     /**
296      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
297      */
SetUpdatedAt(const Aws::Utils::DateTime & value)298     inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; }
299 
300     /**
301      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
302      */
SetUpdatedAt(Aws::Utils::DateTime && value)303     inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); }
304 
305     /**
306      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
307      */
WithUpdatedAt(const Aws::Utils::DateTime & value)308     inline UpdateRevisionResult& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
309 
310     /**
311      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
312      */
WithUpdatedAt(Aws::Utils::DateTime && value)313     inline UpdateRevisionResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
314 
315   private:
316 
317     Aws::String m_arn;
318 
319     Aws::String m_comment;
320 
321     Aws::Utils::DateTime m_createdAt;
322 
323     Aws::String m_dataSetId;
324 
325     bool m_finalized;
326 
327     Aws::String m_id;
328 
329     Aws::String m_sourceId;
330 
331     Aws::Utils::DateTime m_updatedAt;
332   };
333 
334 } // namespace Model
335 } // namespace DataExchange
336 } // namespace Aws
337