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/servicecatalog/ServiceCatalog_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/servicecatalog/model/RecordStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/servicecatalog/model/RecordError.h>
13 #include <aws/servicecatalog/model/RecordTag.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace ServiceCatalog
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>Information about a request operation.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RecordDetail">AWS
34    * API Reference</a></p>
35    */
36   class AWS_SERVICECATALOG_API RecordDetail
37   {
38   public:
39     RecordDetail();
40     RecordDetail(Aws::Utils::Json::JsonView jsonValue);
41     RecordDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The identifier of the record.</p>
47      */
GetRecordId()48     inline const Aws::String& GetRecordId() const{ return m_recordId; }
49 
50     /**
51      * <p>The identifier of the record.</p>
52      */
RecordIdHasBeenSet()53     inline bool RecordIdHasBeenSet() const { return m_recordIdHasBeenSet; }
54 
55     /**
56      * <p>The identifier of the record.</p>
57      */
SetRecordId(const Aws::String & value)58     inline void SetRecordId(const Aws::String& value) { m_recordIdHasBeenSet = true; m_recordId = value; }
59 
60     /**
61      * <p>The identifier of the record.</p>
62      */
SetRecordId(Aws::String && value)63     inline void SetRecordId(Aws::String&& value) { m_recordIdHasBeenSet = true; m_recordId = std::move(value); }
64 
65     /**
66      * <p>The identifier of the record.</p>
67      */
SetRecordId(const char * value)68     inline void SetRecordId(const char* value) { m_recordIdHasBeenSet = true; m_recordId.assign(value); }
69 
70     /**
71      * <p>The identifier of the record.</p>
72      */
WithRecordId(const Aws::String & value)73     inline RecordDetail& WithRecordId(const Aws::String& value) { SetRecordId(value); return *this;}
74 
75     /**
76      * <p>The identifier of the record.</p>
77      */
WithRecordId(Aws::String && value)78     inline RecordDetail& WithRecordId(Aws::String&& value) { SetRecordId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The identifier of the record.</p>
82      */
WithRecordId(const char * value)83     inline RecordDetail& WithRecordId(const char* value) { SetRecordId(value); return *this;}
84 
85 
86     /**
87      * <p>The user-friendly name of the provisioned product.</p>
88      */
GetProvisionedProductName()89     inline const Aws::String& GetProvisionedProductName() const{ return m_provisionedProductName; }
90 
91     /**
92      * <p>The user-friendly name of the provisioned product.</p>
93      */
ProvisionedProductNameHasBeenSet()94     inline bool ProvisionedProductNameHasBeenSet() const { return m_provisionedProductNameHasBeenSet; }
95 
96     /**
97      * <p>The user-friendly name of the provisioned product.</p>
98      */
SetProvisionedProductName(const Aws::String & value)99     inline void SetProvisionedProductName(const Aws::String& value) { m_provisionedProductNameHasBeenSet = true; m_provisionedProductName = value; }
100 
101     /**
102      * <p>The user-friendly name of the provisioned product.</p>
103      */
SetProvisionedProductName(Aws::String && value)104     inline void SetProvisionedProductName(Aws::String&& value) { m_provisionedProductNameHasBeenSet = true; m_provisionedProductName = std::move(value); }
105 
106     /**
107      * <p>The user-friendly name of the provisioned product.</p>
108      */
SetProvisionedProductName(const char * value)109     inline void SetProvisionedProductName(const char* value) { m_provisionedProductNameHasBeenSet = true; m_provisionedProductName.assign(value); }
110 
111     /**
112      * <p>The user-friendly name of the provisioned product.</p>
113      */
WithProvisionedProductName(const Aws::String & value)114     inline RecordDetail& WithProvisionedProductName(const Aws::String& value) { SetProvisionedProductName(value); return *this;}
115 
116     /**
117      * <p>The user-friendly name of the provisioned product.</p>
118      */
WithProvisionedProductName(Aws::String && value)119     inline RecordDetail& WithProvisionedProductName(Aws::String&& value) { SetProvisionedProductName(std::move(value)); return *this;}
120 
121     /**
122      * <p>The user-friendly name of the provisioned product.</p>
123      */
WithProvisionedProductName(const char * value)124     inline RecordDetail& WithProvisionedProductName(const char* value) { SetProvisionedProductName(value); return *this;}
125 
126 
127     /**
128      * <p>The status of the provisioned product.</p> <ul> <li> <p> <code>CREATED</code>
129      * - The request was created but the operation has not started.</p> </li> <li> <p>
130      * <code>IN_PROGRESS</code> - The requested operation is in progress.</p> </li>
131      * <li> <p> <code>IN_PROGRESS_IN_ERROR</code> - The provisioned product is under
132      * change but the requested operation failed and some remediation is occurring. For
133      * example, a rollback.</p> </li> <li> <p> <code>SUCCEEDED</code> - The requested
134      * operation has successfully completed.</p> </li> <li> <p> <code>FAILED</code> -
135      * The requested operation has unsuccessfully completed. Investigate using the
136      * error messages returned.</p> </li> </ul>
137      */
GetStatus()138     inline const RecordStatus& GetStatus() const{ return m_status; }
139 
140     /**
141      * <p>The status of the provisioned product.</p> <ul> <li> <p> <code>CREATED</code>
142      * - The request was created but the operation has not started.</p> </li> <li> <p>
143      * <code>IN_PROGRESS</code> - The requested operation is in progress.</p> </li>
144      * <li> <p> <code>IN_PROGRESS_IN_ERROR</code> - The provisioned product is under
145      * change but the requested operation failed and some remediation is occurring. For
146      * example, a rollback.</p> </li> <li> <p> <code>SUCCEEDED</code> - The requested
147      * operation has successfully completed.</p> </li> <li> <p> <code>FAILED</code> -
148      * The requested operation has unsuccessfully completed. Investigate using the
149      * error messages returned.</p> </li> </ul>
150      */
StatusHasBeenSet()151     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
152 
153     /**
154      * <p>The status of the provisioned product.</p> <ul> <li> <p> <code>CREATED</code>
155      * - The request was created but the operation has not started.</p> </li> <li> <p>
156      * <code>IN_PROGRESS</code> - The requested operation is in progress.</p> </li>
157      * <li> <p> <code>IN_PROGRESS_IN_ERROR</code> - The provisioned product is under
158      * change but the requested operation failed and some remediation is occurring. For
159      * example, a rollback.</p> </li> <li> <p> <code>SUCCEEDED</code> - The requested
160      * operation has successfully completed.</p> </li> <li> <p> <code>FAILED</code> -
161      * The requested operation has unsuccessfully completed. Investigate using the
162      * error messages returned.</p> </li> </ul>
163      */
SetStatus(const RecordStatus & value)164     inline void SetStatus(const RecordStatus& value) { m_statusHasBeenSet = true; m_status = value; }
165 
166     /**
167      * <p>The status of the provisioned product.</p> <ul> <li> <p> <code>CREATED</code>
168      * - The request was created but the operation has not started.</p> </li> <li> <p>
169      * <code>IN_PROGRESS</code> - The requested operation is in progress.</p> </li>
170      * <li> <p> <code>IN_PROGRESS_IN_ERROR</code> - The provisioned product is under
171      * change but the requested operation failed and some remediation is occurring. For
172      * example, a rollback.</p> </li> <li> <p> <code>SUCCEEDED</code> - The requested
173      * operation has successfully completed.</p> </li> <li> <p> <code>FAILED</code> -
174      * The requested operation has unsuccessfully completed. Investigate using the
175      * error messages returned.</p> </li> </ul>
176      */
SetStatus(RecordStatus && value)177     inline void SetStatus(RecordStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
178 
179     /**
180      * <p>The status of the provisioned product.</p> <ul> <li> <p> <code>CREATED</code>
181      * - The request was created but the operation has not started.</p> </li> <li> <p>
182      * <code>IN_PROGRESS</code> - The requested operation is in progress.</p> </li>
183      * <li> <p> <code>IN_PROGRESS_IN_ERROR</code> - The provisioned product is under
184      * change but the requested operation failed and some remediation is occurring. For
185      * example, a rollback.</p> </li> <li> <p> <code>SUCCEEDED</code> - The requested
186      * operation has successfully completed.</p> </li> <li> <p> <code>FAILED</code> -
187      * The requested operation has unsuccessfully completed. Investigate using the
188      * error messages returned.</p> </li> </ul>
189      */
WithStatus(const RecordStatus & value)190     inline RecordDetail& WithStatus(const RecordStatus& value) { SetStatus(value); return *this;}
191 
192     /**
193      * <p>The status of the provisioned product.</p> <ul> <li> <p> <code>CREATED</code>
194      * - The request was created but the operation has not started.</p> </li> <li> <p>
195      * <code>IN_PROGRESS</code> - The requested operation is in progress.</p> </li>
196      * <li> <p> <code>IN_PROGRESS_IN_ERROR</code> - The provisioned product is under
197      * change but the requested operation failed and some remediation is occurring. For
198      * example, a rollback.</p> </li> <li> <p> <code>SUCCEEDED</code> - The requested
199      * operation has successfully completed.</p> </li> <li> <p> <code>FAILED</code> -
200      * The requested operation has unsuccessfully completed. Investigate using the
201      * error messages returned.</p> </li> </ul>
202      */
WithStatus(RecordStatus && value)203     inline RecordDetail& WithStatus(RecordStatus&& value) { SetStatus(std::move(value)); return *this;}
204 
205 
206     /**
207      * <p>The UTC time stamp of the creation time.</p>
208      */
GetCreatedTime()209     inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
210 
211     /**
212      * <p>The UTC time stamp of the creation time.</p>
213      */
CreatedTimeHasBeenSet()214     inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
215 
216     /**
217      * <p>The UTC time stamp of the creation time.</p>
218      */
SetCreatedTime(const Aws::Utils::DateTime & value)219     inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
220 
221     /**
222      * <p>The UTC time stamp of the creation time.</p>
223      */
SetCreatedTime(Aws::Utils::DateTime && value)224     inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
225 
226     /**
227      * <p>The UTC time stamp of the creation time.</p>
228      */
WithCreatedTime(const Aws::Utils::DateTime & value)229     inline RecordDetail& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
230 
231     /**
232      * <p>The UTC time stamp of the creation time.</p>
233      */
WithCreatedTime(Aws::Utils::DateTime && value)234     inline RecordDetail& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
235 
236 
237     /**
238      * <p>The time when the record was last updated.</p>
239      */
GetUpdatedTime()240     inline const Aws::Utils::DateTime& GetUpdatedTime() const{ return m_updatedTime; }
241 
242     /**
243      * <p>The time when the record was last updated.</p>
244      */
UpdatedTimeHasBeenSet()245     inline bool UpdatedTimeHasBeenSet() const { return m_updatedTimeHasBeenSet; }
246 
247     /**
248      * <p>The time when the record was last updated.</p>
249      */
SetUpdatedTime(const Aws::Utils::DateTime & value)250     inline void SetUpdatedTime(const Aws::Utils::DateTime& value) { m_updatedTimeHasBeenSet = true; m_updatedTime = value; }
251 
252     /**
253      * <p>The time when the record was last updated.</p>
254      */
SetUpdatedTime(Aws::Utils::DateTime && value)255     inline void SetUpdatedTime(Aws::Utils::DateTime&& value) { m_updatedTimeHasBeenSet = true; m_updatedTime = std::move(value); }
256 
257     /**
258      * <p>The time when the record was last updated.</p>
259      */
WithUpdatedTime(const Aws::Utils::DateTime & value)260     inline RecordDetail& WithUpdatedTime(const Aws::Utils::DateTime& value) { SetUpdatedTime(value); return *this;}
261 
262     /**
263      * <p>The time when the record was last updated.</p>
264      */
WithUpdatedTime(Aws::Utils::DateTime && value)265     inline RecordDetail& WithUpdatedTime(Aws::Utils::DateTime&& value) { SetUpdatedTime(std::move(value)); return *this;}
266 
267 
268     /**
269      * <p>The type of provisioned product. The supported values are
270      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
271      */
GetProvisionedProductType()272     inline const Aws::String& GetProvisionedProductType() const{ return m_provisionedProductType; }
273 
274     /**
275      * <p>The type of provisioned product. The supported values are
276      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
277      */
ProvisionedProductTypeHasBeenSet()278     inline bool ProvisionedProductTypeHasBeenSet() const { return m_provisionedProductTypeHasBeenSet; }
279 
280     /**
281      * <p>The type of provisioned product. The supported values are
282      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
283      */
SetProvisionedProductType(const Aws::String & value)284     inline void SetProvisionedProductType(const Aws::String& value) { m_provisionedProductTypeHasBeenSet = true; m_provisionedProductType = value; }
285 
286     /**
287      * <p>The type of provisioned product. The supported values are
288      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
289      */
SetProvisionedProductType(Aws::String && value)290     inline void SetProvisionedProductType(Aws::String&& value) { m_provisionedProductTypeHasBeenSet = true; m_provisionedProductType = std::move(value); }
291 
292     /**
293      * <p>The type of provisioned product. The supported values are
294      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
295      */
SetProvisionedProductType(const char * value)296     inline void SetProvisionedProductType(const char* value) { m_provisionedProductTypeHasBeenSet = true; m_provisionedProductType.assign(value); }
297 
298     /**
299      * <p>The type of provisioned product. The supported values are
300      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
301      */
WithProvisionedProductType(const Aws::String & value)302     inline RecordDetail& WithProvisionedProductType(const Aws::String& value) { SetProvisionedProductType(value); return *this;}
303 
304     /**
305      * <p>The type of provisioned product. The supported values are
306      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
307      */
WithProvisionedProductType(Aws::String && value)308     inline RecordDetail& WithProvisionedProductType(Aws::String&& value) { SetProvisionedProductType(std::move(value)); return *this;}
309 
310     /**
311      * <p>The type of provisioned product. The supported values are
312      * <code>CFN_STACK</code> and <code>CFN_STACKSET</code>.</p>
313      */
WithProvisionedProductType(const char * value)314     inline RecordDetail& WithProvisionedProductType(const char* value) { SetProvisionedProductType(value); return *this;}
315 
316 
317     /**
318      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
319      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
320      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
321      */
GetRecordType()322     inline const Aws::String& GetRecordType() const{ return m_recordType; }
323 
324     /**
325      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
326      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
327      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
328      */
RecordTypeHasBeenSet()329     inline bool RecordTypeHasBeenSet() const { return m_recordTypeHasBeenSet; }
330 
331     /**
332      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
333      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
334      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
335      */
SetRecordType(const Aws::String & value)336     inline void SetRecordType(const Aws::String& value) { m_recordTypeHasBeenSet = true; m_recordType = value; }
337 
338     /**
339      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
340      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
341      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
342      */
SetRecordType(Aws::String && value)343     inline void SetRecordType(Aws::String&& value) { m_recordTypeHasBeenSet = true; m_recordType = std::move(value); }
344 
345     /**
346      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
347      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
348      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
349      */
SetRecordType(const char * value)350     inline void SetRecordType(const char* value) { m_recordTypeHasBeenSet = true; m_recordType.assign(value); }
351 
352     /**
353      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
354      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
355      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
356      */
WithRecordType(const Aws::String & value)357     inline RecordDetail& WithRecordType(const Aws::String& value) { SetRecordType(value); return *this;}
358 
359     /**
360      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
361      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
362      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
363      */
WithRecordType(Aws::String && value)364     inline RecordDetail& WithRecordType(Aws::String&& value) { SetRecordType(std::move(value)); return *this;}
365 
366     /**
367      * <p>The record type.</p> <ul> <li> <p> <code>PROVISION_PRODUCT</code> </p> </li>
368      * <li> <p> <code>UPDATE_PROVISIONED_PRODUCT</code> </p> </li> <li> <p>
369      * <code>TERMINATE_PROVISIONED_PRODUCT</code> </p> </li> </ul>
370      */
WithRecordType(const char * value)371     inline RecordDetail& WithRecordType(const char* value) { SetRecordType(value); return *this;}
372 
373 
374     /**
375      * <p>The identifier of the provisioned product.</p>
376      */
GetProvisionedProductId()377     inline const Aws::String& GetProvisionedProductId() const{ return m_provisionedProductId; }
378 
379     /**
380      * <p>The identifier of the provisioned product.</p>
381      */
ProvisionedProductIdHasBeenSet()382     inline bool ProvisionedProductIdHasBeenSet() const { return m_provisionedProductIdHasBeenSet; }
383 
384     /**
385      * <p>The identifier of the provisioned product.</p>
386      */
SetProvisionedProductId(const Aws::String & value)387     inline void SetProvisionedProductId(const Aws::String& value) { m_provisionedProductIdHasBeenSet = true; m_provisionedProductId = value; }
388 
389     /**
390      * <p>The identifier of the provisioned product.</p>
391      */
SetProvisionedProductId(Aws::String && value)392     inline void SetProvisionedProductId(Aws::String&& value) { m_provisionedProductIdHasBeenSet = true; m_provisionedProductId = std::move(value); }
393 
394     /**
395      * <p>The identifier of the provisioned product.</p>
396      */
SetProvisionedProductId(const char * value)397     inline void SetProvisionedProductId(const char* value) { m_provisionedProductIdHasBeenSet = true; m_provisionedProductId.assign(value); }
398 
399     /**
400      * <p>The identifier of the provisioned product.</p>
401      */
WithProvisionedProductId(const Aws::String & value)402     inline RecordDetail& WithProvisionedProductId(const Aws::String& value) { SetProvisionedProductId(value); return *this;}
403 
404     /**
405      * <p>The identifier of the provisioned product.</p>
406      */
WithProvisionedProductId(Aws::String && value)407     inline RecordDetail& WithProvisionedProductId(Aws::String&& value) { SetProvisionedProductId(std::move(value)); return *this;}
408 
409     /**
410      * <p>The identifier of the provisioned product.</p>
411      */
WithProvisionedProductId(const char * value)412     inline RecordDetail& WithProvisionedProductId(const char* value) { SetProvisionedProductId(value); return *this;}
413 
414 
415     /**
416      * <p>The product identifier.</p>
417      */
GetProductId()418     inline const Aws::String& GetProductId() const{ return m_productId; }
419 
420     /**
421      * <p>The product identifier.</p>
422      */
ProductIdHasBeenSet()423     inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; }
424 
425     /**
426      * <p>The product identifier.</p>
427      */
SetProductId(const Aws::String & value)428     inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; }
429 
430     /**
431      * <p>The product identifier.</p>
432      */
SetProductId(Aws::String && value)433     inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); }
434 
435     /**
436      * <p>The product identifier.</p>
437      */
SetProductId(const char * value)438     inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); }
439 
440     /**
441      * <p>The product identifier.</p>
442      */
WithProductId(const Aws::String & value)443     inline RecordDetail& WithProductId(const Aws::String& value) { SetProductId(value); return *this;}
444 
445     /**
446      * <p>The product identifier.</p>
447      */
WithProductId(Aws::String && value)448     inline RecordDetail& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;}
449 
450     /**
451      * <p>The product identifier.</p>
452      */
WithProductId(const char * value)453     inline RecordDetail& WithProductId(const char* value) { SetProductId(value); return *this;}
454 
455 
456     /**
457      * <p>The identifier of the provisioning artifact.</p>
458      */
GetProvisioningArtifactId()459     inline const Aws::String& GetProvisioningArtifactId() const{ return m_provisioningArtifactId; }
460 
461     /**
462      * <p>The identifier of the provisioning artifact.</p>
463      */
ProvisioningArtifactIdHasBeenSet()464     inline bool ProvisioningArtifactIdHasBeenSet() const { return m_provisioningArtifactIdHasBeenSet; }
465 
466     /**
467      * <p>The identifier of the provisioning artifact.</p>
468      */
SetProvisioningArtifactId(const Aws::String & value)469     inline void SetProvisioningArtifactId(const Aws::String& value) { m_provisioningArtifactIdHasBeenSet = true; m_provisioningArtifactId = value; }
470 
471     /**
472      * <p>The identifier of the provisioning artifact.</p>
473      */
SetProvisioningArtifactId(Aws::String && value)474     inline void SetProvisioningArtifactId(Aws::String&& value) { m_provisioningArtifactIdHasBeenSet = true; m_provisioningArtifactId = std::move(value); }
475 
476     /**
477      * <p>The identifier of the provisioning artifact.</p>
478      */
SetProvisioningArtifactId(const char * value)479     inline void SetProvisioningArtifactId(const char* value) { m_provisioningArtifactIdHasBeenSet = true; m_provisioningArtifactId.assign(value); }
480 
481     /**
482      * <p>The identifier of the provisioning artifact.</p>
483      */
WithProvisioningArtifactId(const Aws::String & value)484     inline RecordDetail& WithProvisioningArtifactId(const Aws::String& value) { SetProvisioningArtifactId(value); return *this;}
485 
486     /**
487      * <p>The identifier of the provisioning artifact.</p>
488      */
WithProvisioningArtifactId(Aws::String && value)489     inline RecordDetail& WithProvisioningArtifactId(Aws::String&& value) { SetProvisioningArtifactId(std::move(value)); return *this;}
490 
491     /**
492      * <p>The identifier of the provisioning artifact.</p>
493      */
WithProvisioningArtifactId(const char * value)494     inline RecordDetail& WithProvisioningArtifactId(const char* value) { SetProvisioningArtifactId(value); return *this;}
495 
496 
497     /**
498      * <p>The path identifier.</p>
499      */
GetPathId()500     inline const Aws::String& GetPathId() const{ return m_pathId; }
501 
502     /**
503      * <p>The path identifier.</p>
504      */
PathIdHasBeenSet()505     inline bool PathIdHasBeenSet() const { return m_pathIdHasBeenSet; }
506 
507     /**
508      * <p>The path identifier.</p>
509      */
SetPathId(const Aws::String & value)510     inline void SetPathId(const Aws::String& value) { m_pathIdHasBeenSet = true; m_pathId = value; }
511 
512     /**
513      * <p>The path identifier.</p>
514      */
SetPathId(Aws::String && value)515     inline void SetPathId(Aws::String&& value) { m_pathIdHasBeenSet = true; m_pathId = std::move(value); }
516 
517     /**
518      * <p>The path identifier.</p>
519      */
SetPathId(const char * value)520     inline void SetPathId(const char* value) { m_pathIdHasBeenSet = true; m_pathId.assign(value); }
521 
522     /**
523      * <p>The path identifier.</p>
524      */
WithPathId(const Aws::String & value)525     inline RecordDetail& WithPathId(const Aws::String& value) { SetPathId(value); return *this;}
526 
527     /**
528      * <p>The path identifier.</p>
529      */
WithPathId(Aws::String && value)530     inline RecordDetail& WithPathId(Aws::String&& value) { SetPathId(std::move(value)); return *this;}
531 
532     /**
533      * <p>The path identifier.</p>
534      */
WithPathId(const char * value)535     inline RecordDetail& WithPathId(const char* value) { SetPathId(value); return *this;}
536 
537 
538     /**
539      * <p>The errors that occurred.</p>
540      */
GetRecordErrors()541     inline const Aws::Vector<RecordError>& GetRecordErrors() const{ return m_recordErrors; }
542 
543     /**
544      * <p>The errors that occurred.</p>
545      */
RecordErrorsHasBeenSet()546     inline bool RecordErrorsHasBeenSet() const { return m_recordErrorsHasBeenSet; }
547 
548     /**
549      * <p>The errors that occurred.</p>
550      */
SetRecordErrors(const Aws::Vector<RecordError> & value)551     inline void SetRecordErrors(const Aws::Vector<RecordError>& value) { m_recordErrorsHasBeenSet = true; m_recordErrors = value; }
552 
553     /**
554      * <p>The errors that occurred.</p>
555      */
SetRecordErrors(Aws::Vector<RecordError> && value)556     inline void SetRecordErrors(Aws::Vector<RecordError>&& value) { m_recordErrorsHasBeenSet = true; m_recordErrors = std::move(value); }
557 
558     /**
559      * <p>The errors that occurred.</p>
560      */
WithRecordErrors(const Aws::Vector<RecordError> & value)561     inline RecordDetail& WithRecordErrors(const Aws::Vector<RecordError>& value) { SetRecordErrors(value); return *this;}
562 
563     /**
564      * <p>The errors that occurred.</p>
565      */
WithRecordErrors(Aws::Vector<RecordError> && value)566     inline RecordDetail& WithRecordErrors(Aws::Vector<RecordError>&& value) { SetRecordErrors(std::move(value)); return *this;}
567 
568     /**
569      * <p>The errors that occurred.</p>
570      */
AddRecordErrors(const RecordError & value)571     inline RecordDetail& AddRecordErrors(const RecordError& value) { m_recordErrorsHasBeenSet = true; m_recordErrors.push_back(value); return *this; }
572 
573     /**
574      * <p>The errors that occurred.</p>
575      */
AddRecordErrors(RecordError && value)576     inline RecordDetail& AddRecordErrors(RecordError&& value) { m_recordErrorsHasBeenSet = true; m_recordErrors.push_back(std::move(value)); return *this; }
577 
578 
579     /**
580      * <p>One or more tags.</p>
581      */
GetRecordTags()582     inline const Aws::Vector<RecordTag>& GetRecordTags() const{ return m_recordTags; }
583 
584     /**
585      * <p>One or more tags.</p>
586      */
RecordTagsHasBeenSet()587     inline bool RecordTagsHasBeenSet() const { return m_recordTagsHasBeenSet; }
588 
589     /**
590      * <p>One or more tags.</p>
591      */
SetRecordTags(const Aws::Vector<RecordTag> & value)592     inline void SetRecordTags(const Aws::Vector<RecordTag>& value) { m_recordTagsHasBeenSet = true; m_recordTags = value; }
593 
594     /**
595      * <p>One or more tags.</p>
596      */
SetRecordTags(Aws::Vector<RecordTag> && value)597     inline void SetRecordTags(Aws::Vector<RecordTag>&& value) { m_recordTagsHasBeenSet = true; m_recordTags = std::move(value); }
598 
599     /**
600      * <p>One or more tags.</p>
601      */
WithRecordTags(const Aws::Vector<RecordTag> & value)602     inline RecordDetail& WithRecordTags(const Aws::Vector<RecordTag>& value) { SetRecordTags(value); return *this;}
603 
604     /**
605      * <p>One or more tags.</p>
606      */
WithRecordTags(Aws::Vector<RecordTag> && value)607     inline RecordDetail& WithRecordTags(Aws::Vector<RecordTag>&& value) { SetRecordTags(std::move(value)); return *this;}
608 
609     /**
610      * <p>One or more tags.</p>
611      */
AddRecordTags(const RecordTag & value)612     inline RecordDetail& AddRecordTags(const RecordTag& value) { m_recordTagsHasBeenSet = true; m_recordTags.push_back(value); return *this; }
613 
614     /**
615      * <p>One or more tags.</p>
616      */
AddRecordTags(RecordTag && value)617     inline RecordDetail& AddRecordTags(RecordTag&& value) { m_recordTagsHasBeenSet = true; m_recordTags.push_back(std::move(value)); return *this; }
618 
619 
620     /**
621      * <p>The ARN of the launch role associated with the provisioned product.</p>
622      */
GetLaunchRoleArn()623     inline const Aws::String& GetLaunchRoleArn() const{ return m_launchRoleArn; }
624 
625     /**
626      * <p>The ARN of the launch role associated with the provisioned product.</p>
627      */
LaunchRoleArnHasBeenSet()628     inline bool LaunchRoleArnHasBeenSet() const { return m_launchRoleArnHasBeenSet; }
629 
630     /**
631      * <p>The ARN of the launch role associated with the provisioned product.</p>
632      */
SetLaunchRoleArn(const Aws::String & value)633     inline void SetLaunchRoleArn(const Aws::String& value) { m_launchRoleArnHasBeenSet = true; m_launchRoleArn = value; }
634 
635     /**
636      * <p>The ARN of the launch role associated with the provisioned product.</p>
637      */
SetLaunchRoleArn(Aws::String && value)638     inline void SetLaunchRoleArn(Aws::String&& value) { m_launchRoleArnHasBeenSet = true; m_launchRoleArn = std::move(value); }
639 
640     /**
641      * <p>The ARN of the launch role associated with the provisioned product.</p>
642      */
SetLaunchRoleArn(const char * value)643     inline void SetLaunchRoleArn(const char* value) { m_launchRoleArnHasBeenSet = true; m_launchRoleArn.assign(value); }
644 
645     /**
646      * <p>The ARN of the launch role associated with the provisioned product.</p>
647      */
WithLaunchRoleArn(const Aws::String & value)648     inline RecordDetail& WithLaunchRoleArn(const Aws::String& value) { SetLaunchRoleArn(value); return *this;}
649 
650     /**
651      * <p>The ARN of the launch role associated with the provisioned product.</p>
652      */
WithLaunchRoleArn(Aws::String && value)653     inline RecordDetail& WithLaunchRoleArn(Aws::String&& value) { SetLaunchRoleArn(std::move(value)); return *this;}
654 
655     /**
656      * <p>The ARN of the launch role associated with the provisioned product.</p>
657      */
WithLaunchRoleArn(const char * value)658     inline RecordDetail& WithLaunchRoleArn(const char* value) { SetLaunchRoleArn(value); return *this;}
659 
660   private:
661 
662     Aws::String m_recordId;
663     bool m_recordIdHasBeenSet;
664 
665     Aws::String m_provisionedProductName;
666     bool m_provisionedProductNameHasBeenSet;
667 
668     RecordStatus m_status;
669     bool m_statusHasBeenSet;
670 
671     Aws::Utils::DateTime m_createdTime;
672     bool m_createdTimeHasBeenSet;
673 
674     Aws::Utils::DateTime m_updatedTime;
675     bool m_updatedTimeHasBeenSet;
676 
677     Aws::String m_provisionedProductType;
678     bool m_provisionedProductTypeHasBeenSet;
679 
680     Aws::String m_recordType;
681     bool m_recordTypeHasBeenSet;
682 
683     Aws::String m_provisionedProductId;
684     bool m_provisionedProductIdHasBeenSet;
685 
686     Aws::String m_productId;
687     bool m_productIdHasBeenSet;
688 
689     Aws::String m_provisioningArtifactId;
690     bool m_provisioningArtifactIdHasBeenSet;
691 
692     Aws::String m_pathId;
693     bool m_pathIdHasBeenSet;
694 
695     Aws::Vector<RecordError> m_recordErrors;
696     bool m_recordErrorsHasBeenSet;
697 
698     Aws::Vector<RecordTag> m_recordTags;
699     bool m_recordTagsHasBeenSet;
700 
701     Aws::String m_launchRoleArn;
702     bool m_launchRoleArnHasBeenSet;
703   };
704 
705 } // namespace Model
706 } // namespace ServiceCatalog
707 } // namespace Aws
708