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 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace DataExchange
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>A revision is a container for one or more assets.</p><p><h3>See Also:</h3>
29    * <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/dataexchange-2017-07-25/RevisionEntry">AWS
31    * API Reference</a></p>
32    */
33   class AWS_DATAEXCHANGE_API RevisionEntry
34   {
35   public:
36     RevisionEntry();
37     RevisionEntry(Aws::Utils::Json::JsonView jsonValue);
38     RevisionEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The ARN for the revision.</p>
44      */
GetArn()45     inline const Aws::String& GetArn() const{ return m_arn; }
46 
47     /**
48      * <p>The ARN for the revision.</p>
49      */
ArnHasBeenSet()50     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
51 
52     /**
53      * <p>The ARN for the revision.</p>
54      */
SetArn(const Aws::String & value)55     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
56 
57     /**
58      * <p>The ARN for the revision.</p>
59      */
SetArn(Aws::String && value)60     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
61 
62     /**
63      * <p>The ARN for the revision.</p>
64      */
SetArn(const char * value)65     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
66 
67     /**
68      * <p>The ARN for the revision.</p>
69      */
WithArn(const Aws::String & value)70     inline RevisionEntry& WithArn(const Aws::String& value) { SetArn(value); return *this;}
71 
72     /**
73      * <p>The ARN for the revision.</p>
74      */
WithArn(Aws::String && value)75     inline RevisionEntry& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
76 
77     /**
78      * <p>The ARN for the revision.</p>
79      */
WithArn(const char * value)80     inline RevisionEntry& WithArn(const char* value) { SetArn(value); return *this;}
81 
82 
83     /**
84      * <p>An optional comment about the revision.</p>
85      */
GetComment()86     inline const Aws::String& GetComment() const{ return m_comment; }
87 
88     /**
89      * <p>An optional comment about the revision.</p>
90      */
CommentHasBeenSet()91     inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; }
92 
93     /**
94      * <p>An optional comment about the revision.</p>
95      */
SetComment(const Aws::String & value)96     inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; }
97 
98     /**
99      * <p>An optional comment about the revision.</p>
100      */
SetComment(Aws::String && value)101     inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); }
102 
103     /**
104      * <p>An optional comment about the revision.</p>
105      */
SetComment(const char * value)106     inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); }
107 
108     /**
109      * <p>An optional comment about the revision.</p>
110      */
WithComment(const Aws::String & value)111     inline RevisionEntry& WithComment(const Aws::String& value) { SetComment(value); return *this;}
112 
113     /**
114      * <p>An optional comment about the revision.</p>
115      */
WithComment(Aws::String && value)116     inline RevisionEntry& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;}
117 
118     /**
119      * <p>An optional comment about the revision.</p>
120      */
WithComment(const char * value)121     inline RevisionEntry& WithComment(const char* value) { SetComment(value); return *this;}
122 
123 
124     /**
125      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
126      */
GetCreatedAt()127     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
128 
129     /**
130      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
131      */
CreatedAtHasBeenSet()132     inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
133 
134     /**
135      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
136      */
SetCreatedAt(const Aws::Utils::DateTime & value)137     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; }
138 
139     /**
140      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
141      */
SetCreatedAt(Aws::Utils::DateTime && value)142     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); }
143 
144     /**
145      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
146      */
WithCreatedAt(const Aws::Utils::DateTime & value)147     inline RevisionEntry& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
148 
149     /**
150      * <p>The date and time that the revision was created, in ISO 8601 format.</p>
151      */
WithCreatedAt(Aws::Utils::DateTime && value)152     inline RevisionEntry& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
153 
154 
155     /**
156      * <p>The unique identifier for the data set associated with this revision.</p>
157      */
GetDataSetId()158     inline const Aws::String& GetDataSetId() const{ return m_dataSetId; }
159 
160     /**
161      * <p>The unique identifier for the data set associated with this revision.</p>
162      */
DataSetIdHasBeenSet()163     inline bool DataSetIdHasBeenSet() const { return m_dataSetIdHasBeenSet; }
164 
165     /**
166      * <p>The unique identifier for the data set associated with this revision.</p>
167      */
SetDataSetId(const Aws::String & value)168     inline void SetDataSetId(const Aws::String& value) { m_dataSetIdHasBeenSet = true; m_dataSetId = value; }
169 
170     /**
171      * <p>The unique identifier for the data set associated with this revision.</p>
172      */
SetDataSetId(Aws::String && value)173     inline void SetDataSetId(Aws::String&& value) { m_dataSetIdHasBeenSet = true; m_dataSetId = std::move(value); }
174 
175     /**
176      * <p>The unique identifier for the data set associated with this revision.</p>
177      */
SetDataSetId(const char * value)178     inline void SetDataSetId(const char* value) { m_dataSetIdHasBeenSet = true; m_dataSetId.assign(value); }
179 
180     /**
181      * <p>The unique identifier for the data set associated with this revision.</p>
182      */
WithDataSetId(const Aws::String & value)183     inline RevisionEntry& WithDataSetId(const Aws::String& value) { SetDataSetId(value); return *this;}
184 
185     /**
186      * <p>The unique identifier for the data set associated with this revision.</p>
187      */
WithDataSetId(Aws::String && value)188     inline RevisionEntry& WithDataSetId(Aws::String&& value) { SetDataSetId(std::move(value)); return *this;}
189 
190     /**
191      * <p>The unique identifier for the data set associated with this revision.</p>
192      */
WithDataSetId(const char * value)193     inline RevisionEntry& WithDataSetId(const char* value) { SetDataSetId(value); return *this;}
194 
195 
196     /**
197      * <p>To publish a revision to a data set in a product, the revision must first be
198      * finalized. Finalizing a revision tells AWS Data Exchange that your changes to
199      * the assets in the revision are complete. After it's in this read-only state, you
200      * can publish the revision to your products.</p> <p>Finalized revisions can be
201      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
202      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
203      * API, revisions are uniquely identified by their ARN.</p>
204      */
GetFinalized()205     inline bool GetFinalized() const{ return m_finalized; }
206 
207     /**
208      * <p>To publish a revision to a data set in a product, the revision must first be
209      * finalized. Finalizing a revision tells AWS Data Exchange that your changes to
210      * the assets in the revision are complete. After it's in this read-only state, you
211      * can publish the revision to your products.</p> <p>Finalized revisions can be
212      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
213      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
214      * API, revisions are uniquely identified by their ARN.</p>
215      */
FinalizedHasBeenSet()216     inline bool FinalizedHasBeenSet() const { return m_finalizedHasBeenSet; }
217 
218     /**
219      * <p>To publish a revision to a data set in a product, the revision must first be
220      * finalized. Finalizing a revision tells AWS Data Exchange that your changes to
221      * the assets in the revision are complete. After it's in this read-only state, you
222      * can publish the revision to your products.</p> <p>Finalized revisions can be
223      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
224      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
225      * API, revisions are uniquely identified by their ARN.</p>
226      */
SetFinalized(bool value)227     inline void SetFinalized(bool value) { m_finalizedHasBeenSet = true; m_finalized = value; }
228 
229     /**
230      * <p>To publish a revision to a data set in a product, the revision must first be
231      * finalized. Finalizing a revision tells AWS Data Exchange that your changes to
232      * the assets in the revision are complete. After it's in this read-only state, you
233      * can publish the revision to your products.</p> <p>Finalized revisions can be
234      * published through the AWS Data Exchange console or the AWS Marketplace Catalog
235      * API, using the StartChangeSet AWS Marketplace Catalog API action. When using the
236      * API, revisions are uniquely identified by their ARN.</p>
237      */
WithFinalized(bool value)238     inline RevisionEntry& WithFinalized(bool value) { SetFinalized(value); return *this;}
239 
240 
241     /**
242      * <p>The unique identifier for the revision.</p>
243      */
GetId()244     inline const Aws::String& GetId() const{ return m_id; }
245 
246     /**
247      * <p>The unique identifier for the revision.</p>
248      */
IdHasBeenSet()249     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
250 
251     /**
252      * <p>The unique identifier for the revision.</p>
253      */
SetId(const Aws::String & value)254     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
255 
256     /**
257      * <p>The unique identifier for the revision.</p>
258      */
SetId(Aws::String && value)259     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
260 
261     /**
262      * <p>The unique identifier for the revision.</p>
263      */
SetId(const char * value)264     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
265 
266     /**
267      * <p>The unique identifier for the revision.</p>
268      */
WithId(const Aws::String & value)269     inline RevisionEntry& WithId(const Aws::String& value) { SetId(value); return *this;}
270 
271     /**
272      * <p>The unique identifier for the revision.</p>
273      */
WithId(Aws::String && value)274     inline RevisionEntry& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
275 
276     /**
277      * <p>The unique identifier for the revision.</p>
278      */
WithId(const char * value)279     inline RevisionEntry& WithId(const char* value) { SetId(value); return *this;}
280 
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      */
GetSourceId()287     inline const Aws::String& GetSourceId() const{ return m_sourceId; }
288 
289     /**
290      * <p>The revision ID of the owned revision corresponding to the entitled revision
291      * being viewed. This parameter is returned when a revision owner is viewing the
292      * entitled copy of its owned revision.</p>
293      */
SourceIdHasBeenSet()294     inline bool SourceIdHasBeenSet() const { return m_sourceIdHasBeenSet; }
295 
296     /**
297      * <p>The revision ID of the owned revision corresponding to the entitled revision
298      * being viewed. This parameter is returned when a revision owner is viewing the
299      * entitled copy of its owned revision.</p>
300      */
SetSourceId(const Aws::String & value)301     inline void SetSourceId(const Aws::String& value) { m_sourceIdHasBeenSet = true; m_sourceId = value; }
302 
303     /**
304      * <p>The revision ID of the owned revision corresponding to the entitled revision
305      * being viewed. This parameter is returned when a revision owner is viewing the
306      * entitled copy of its owned revision.</p>
307      */
SetSourceId(Aws::String && value)308     inline void SetSourceId(Aws::String&& value) { m_sourceIdHasBeenSet = true; m_sourceId = std::move(value); }
309 
310     /**
311      * <p>The revision ID of the owned revision corresponding to the entitled revision
312      * being viewed. This parameter is returned when a revision owner is viewing the
313      * entitled copy of its owned revision.</p>
314      */
SetSourceId(const char * value)315     inline void SetSourceId(const char* value) { m_sourceIdHasBeenSet = true; m_sourceId.assign(value); }
316 
317     /**
318      * <p>The revision ID of the owned revision corresponding to the entitled revision
319      * being viewed. This parameter is returned when a revision owner is viewing the
320      * entitled copy of its owned revision.</p>
321      */
WithSourceId(const Aws::String & value)322     inline RevisionEntry& WithSourceId(const Aws::String& value) { SetSourceId(value); return *this;}
323 
324     /**
325      * <p>The revision ID of the owned revision corresponding to the entitled revision
326      * being viewed. This parameter is returned when a revision owner is viewing the
327      * entitled copy of its owned revision.</p>
328      */
WithSourceId(Aws::String && value)329     inline RevisionEntry& WithSourceId(Aws::String&& value) { SetSourceId(std::move(value)); return *this;}
330 
331     /**
332      * <p>The revision ID of the owned revision corresponding to the entitled revision
333      * being viewed. This parameter is returned when a revision owner is viewing the
334      * entitled copy of its owned revision.</p>
335      */
WithSourceId(const char * value)336     inline RevisionEntry& WithSourceId(const char* value) { SetSourceId(value); return *this;}
337 
338 
339     /**
340      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
341      */
GetUpdatedAt()342     inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
343 
344     /**
345      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
346      */
UpdatedAtHasBeenSet()347     inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
348 
349     /**
350      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
351      */
SetUpdatedAt(const Aws::Utils::DateTime & value)352     inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; }
353 
354     /**
355      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
356      */
SetUpdatedAt(Aws::Utils::DateTime && value)357     inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); }
358 
359     /**
360      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
361      */
WithUpdatedAt(const Aws::Utils::DateTime & value)362     inline RevisionEntry& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
363 
364     /**
365      * <p>The date and time that the revision was last updated, in ISO 8601 format.</p>
366      */
WithUpdatedAt(Aws::Utils::DateTime && value)367     inline RevisionEntry& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
368 
369   private:
370 
371     Aws::String m_arn;
372     bool m_arnHasBeenSet;
373 
374     Aws::String m_comment;
375     bool m_commentHasBeenSet;
376 
377     Aws::Utils::DateTime m_createdAt;
378     bool m_createdAtHasBeenSet;
379 
380     Aws::String m_dataSetId;
381     bool m_dataSetIdHasBeenSet;
382 
383     bool m_finalized;
384     bool m_finalizedHasBeenSet;
385 
386     Aws::String m_id;
387     bool m_idHasBeenSet;
388 
389     Aws::String m_sourceId;
390     bool m_sourceIdHasBeenSet;
391 
392     Aws::Utils::DateTime m_updatedAt;
393     bool m_updatedAtHasBeenSet;
394   };
395 
396 } // namespace Model
397 } // namespace DataExchange
398 } // namespace Aws
399