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