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/ProductType.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 ServiceCatalog
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Summary information about a product view.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProductViewSummary">AWS
30    * API Reference</a></p>
31    */
32   class AWS_SERVICECATALOG_API ProductViewSummary
33   {
34   public:
35     ProductViewSummary();
36     ProductViewSummary(Aws::Utils::Json::JsonView jsonValue);
37     ProductViewSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The product view identifier.</p>
43      */
GetId()44     inline const Aws::String& GetId() const{ return m_id; }
45 
46     /**
47      * <p>The product view identifier.</p>
48      */
IdHasBeenSet()49     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
50 
51     /**
52      * <p>The product view identifier.</p>
53      */
SetId(const Aws::String & value)54     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
55 
56     /**
57      * <p>The product view identifier.</p>
58      */
SetId(Aws::String && value)59     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
60 
61     /**
62      * <p>The product view identifier.</p>
63      */
SetId(const char * value)64     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
65 
66     /**
67      * <p>The product view identifier.</p>
68      */
WithId(const Aws::String & value)69     inline ProductViewSummary& WithId(const Aws::String& value) { SetId(value); return *this;}
70 
71     /**
72      * <p>The product view identifier.</p>
73      */
WithId(Aws::String && value)74     inline ProductViewSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
75 
76     /**
77      * <p>The product view identifier.</p>
78      */
WithId(const char * value)79     inline ProductViewSummary& WithId(const char* value) { SetId(value); return *this;}
80 
81 
82     /**
83      * <p>The product identifier.</p>
84      */
GetProductId()85     inline const Aws::String& GetProductId() const{ return m_productId; }
86 
87     /**
88      * <p>The product identifier.</p>
89      */
ProductIdHasBeenSet()90     inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; }
91 
92     /**
93      * <p>The product identifier.</p>
94      */
SetProductId(const Aws::String & value)95     inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; }
96 
97     /**
98      * <p>The product identifier.</p>
99      */
SetProductId(Aws::String && value)100     inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); }
101 
102     /**
103      * <p>The product identifier.</p>
104      */
SetProductId(const char * value)105     inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); }
106 
107     /**
108      * <p>The product identifier.</p>
109      */
WithProductId(const Aws::String & value)110     inline ProductViewSummary& WithProductId(const Aws::String& value) { SetProductId(value); return *this;}
111 
112     /**
113      * <p>The product identifier.</p>
114      */
WithProductId(Aws::String && value)115     inline ProductViewSummary& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;}
116 
117     /**
118      * <p>The product identifier.</p>
119      */
WithProductId(const char * value)120     inline ProductViewSummary& WithProductId(const char* value) { SetProductId(value); return *this;}
121 
122 
123     /**
124      * <p>The name of the product.</p>
125      */
GetName()126     inline const Aws::String& GetName() const{ return m_name; }
127 
128     /**
129      * <p>The name of the product.</p>
130      */
NameHasBeenSet()131     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
132 
133     /**
134      * <p>The name of the product.</p>
135      */
SetName(const Aws::String & value)136     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
137 
138     /**
139      * <p>The name of the product.</p>
140      */
SetName(Aws::String && value)141     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
142 
143     /**
144      * <p>The name of the product.</p>
145      */
SetName(const char * value)146     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
147 
148     /**
149      * <p>The name of the product.</p>
150      */
WithName(const Aws::String & value)151     inline ProductViewSummary& WithName(const Aws::String& value) { SetName(value); return *this;}
152 
153     /**
154      * <p>The name of the product.</p>
155      */
WithName(Aws::String && value)156     inline ProductViewSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
157 
158     /**
159      * <p>The name of the product.</p>
160      */
WithName(const char * value)161     inline ProductViewSummary& WithName(const char* value) { SetName(value); return *this;}
162 
163 
164     /**
165      * <p>The owner of the product. Contact the product administrator for the
166      * significance of this value.</p>
167      */
GetOwner()168     inline const Aws::String& GetOwner() const{ return m_owner; }
169 
170     /**
171      * <p>The owner of the product. Contact the product administrator for the
172      * significance of this value.</p>
173      */
OwnerHasBeenSet()174     inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
175 
176     /**
177      * <p>The owner of the product. Contact the product administrator for the
178      * significance of this value.</p>
179      */
SetOwner(const Aws::String & value)180     inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; }
181 
182     /**
183      * <p>The owner of the product. Contact the product administrator for the
184      * significance of this value.</p>
185      */
SetOwner(Aws::String && value)186     inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
187 
188     /**
189      * <p>The owner of the product. Contact the product administrator for the
190      * significance of this value.</p>
191      */
SetOwner(const char * value)192     inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); }
193 
194     /**
195      * <p>The owner of the product. Contact the product administrator for the
196      * significance of this value.</p>
197      */
WithOwner(const Aws::String & value)198     inline ProductViewSummary& WithOwner(const Aws::String& value) { SetOwner(value); return *this;}
199 
200     /**
201      * <p>The owner of the product. Contact the product administrator for the
202      * significance of this value.</p>
203      */
WithOwner(Aws::String && value)204     inline ProductViewSummary& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;}
205 
206     /**
207      * <p>The owner of the product. Contact the product administrator for the
208      * significance of this value.</p>
209      */
WithOwner(const char * value)210     inline ProductViewSummary& WithOwner(const char* value) { SetOwner(value); return *this;}
211 
212 
213     /**
214      * <p>Short description of the product.</p>
215      */
GetShortDescription()216     inline const Aws::String& GetShortDescription() const{ return m_shortDescription; }
217 
218     /**
219      * <p>Short description of the product.</p>
220      */
ShortDescriptionHasBeenSet()221     inline bool ShortDescriptionHasBeenSet() const { return m_shortDescriptionHasBeenSet; }
222 
223     /**
224      * <p>Short description of the product.</p>
225      */
SetShortDescription(const Aws::String & value)226     inline void SetShortDescription(const Aws::String& value) { m_shortDescriptionHasBeenSet = true; m_shortDescription = value; }
227 
228     /**
229      * <p>Short description of the product.</p>
230      */
SetShortDescription(Aws::String && value)231     inline void SetShortDescription(Aws::String&& value) { m_shortDescriptionHasBeenSet = true; m_shortDescription = std::move(value); }
232 
233     /**
234      * <p>Short description of the product.</p>
235      */
SetShortDescription(const char * value)236     inline void SetShortDescription(const char* value) { m_shortDescriptionHasBeenSet = true; m_shortDescription.assign(value); }
237 
238     /**
239      * <p>Short description of the product.</p>
240      */
WithShortDescription(const Aws::String & value)241     inline ProductViewSummary& WithShortDescription(const Aws::String& value) { SetShortDescription(value); return *this;}
242 
243     /**
244      * <p>Short description of the product.</p>
245      */
WithShortDescription(Aws::String && value)246     inline ProductViewSummary& WithShortDescription(Aws::String&& value) { SetShortDescription(std::move(value)); return *this;}
247 
248     /**
249      * <p>Short description of the product.</p>
250      */
WithShortDescription(const char * value)251     inline ProductViewSummary& WithShortDescription(const char* value) { SetShortDescription(value); return *this;}
252 
253 
254     /**
255      * <p>The product type. Contact the product administrator for the significance of
256      * this value. If this value is <code>MARKETPLACE</code>, the product was created
257      * by AWS Marketplace.</p>
258      */
GetType()259     inline const ProductType& GetType() const{ return m_type; }
260 
261     /**
262      * <p>The product type. Contact the product administrator for the significance of
263      * this value. If this value is <code>MARKETPLACE</code>, the product was created
264      * by AWS Marketplace.</p>
265      */
TypeHasBeenSet()266     inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
267 
268     /**
269      * <p>The product type. Contact the product administrator for the significance of
270      * this value. If this value is <code>MARKETPLACE</code>, the product was created
271      * by AWS Marketplace.</p>
272      */
SetType(const ProductType & value)273     inline void SetType(const ProductType& value) { m_typeHasBeenSet = true; m_type = value; }
274 
275     /**
276      * <p>The product type. Contact the product administrator for the significance of
277      * this value. If this value is <code>MARKETPLACE</code>, the product was created
278      * by AWS Marketplace.</p>
279      */
SetType(ProductType && value)280     inline void SetType(ProductType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
281 
282     /**
283      * <p>The product type. Contact the product administrator for the significance of
284      * this value. If this value is <code>MARKETPLACE</code>, the product was created
285      * by AWS Marketplace.</p>
286      */
WithType(const ProductType & value)287     inline ProductViewSummary& WithType(const ProductType& value) { SetType(value); return *this;}
288 
289     /**
290      * <p>The product type. Contact the product administrator for the significance of
291      * this value. If this value is <code>MARKETPLACE</code>, the product was created
292      * by AWS Marketplace.</p>
293      */
WithType(ProductType && value)294     inline ProductViewSummary& WithType(ProductType&& value) { SetType(std::move(value)); return *this;}
295 
296 
297     /**
298      * <p>The distributor of the product. Contact the product administrator for the
299      * significance of this value.</p>
300      */
GetDistributor()301     inline const Aws::String& GetDistributor() const{ return m_distributor; }
302 
303     /**
304      * <p>The distributor of the product. Contact the product administrator for the
305      * significance of this value.</p>
306      */
DistributorHasBeenSet()307     inline bool DistributorHasBeenSet() const { return m_distributorHasBeenSet; }
308 
309     /**
310      * <p>The distributor of the product. Contact the product administrator for the
311      * significance of this value.</p>
312      */
SetDistributor(const Aws::String & value)313     inline void SetDistributor(const Aws::String& value) { m_distributorHasBeenSet = true; m_distributor = value; }
314 
315     /**
316      * <p>The distributor of the product. Contact the product administrator for the
317      * significance of this value.</p>
318      */
SetDistributor(Aws::String && value)319     inline void SetDistributor(Aws::String&& value) { m_distributorHasBeenSet = true; m_distributor = std::move(value); }
320 
321     /**
322      * <p>The distributor of the product. Contact the product administrator for the
323      * significance of this value.</p>
324      */
SetDistributor(const char * value)325     inline void SetDistributor(const char* value) { m_distributorHasBeenSet = true; m_distributor.assign(value); }
326 
327     /**
328      * <p>The distributor of the product. Contact the product administrator for the
329      * significance of this value.</p>
330      */
WithDistributor(const Aws::String & value)331     inline ProductViewSummary& WithDistributor(const Aws::String& value) { SetDistributor(value); return *this;}
332 
333     /**
334      * <p>The distributor of the product. Contact the product administrator for the
335      * significance of this value.</p>
336      */
WithDistributor(Aws::String && value)337     inline ProductViewSummary& WithDistributor(Aws::String&& value) { SetDistributor(std::move(value)); return *this;}
338 
339     /**
340      * <p>The distributor of the product. Contact the product administrator for the
341      * significance of this value.</p>
342      */
WithDistributor(const char * value)343     inline ProductViewSummary& WithDistributor(const char* value) { SetDistributor(value); return *this;}
344 
345 
346     /**
347      * <p>Indicates whether the product has a default path. If the product does not
348      * have a default path, call <a>ListLaunchPaths</a> to disambiguate between paths.
349      * Otherwise, <a>ListLaunchPaths</a> is not required, and the output of
350      * <a>ProductViewSummary</a> can be used directly with
351      * <a>DescribeProvisioningParameters</a>.</p>
352      */
GetHasDefaultPath()353     inline bool GetHasDefaultPath() const{ return m_hasDefaultPath; }
354 
355     /**
356      * <p>Indicates whether the product has a default path. If the product does not
357      * have a default path, call <a>ListLaunchPaths</a> to disambiguate between paths.
358      * Otherwise, <a>ListLaunchPaths</a> is not required, and the output of
359      * <a>ProductViewSummary</a> can be used directly with
360      * <a>DescribeProvisioningParameters</a>.</p>
361      */
HasDefaultPathHasBeenSet()362     inline bool HasDefaultPathHasBeenSet() const { return m_hasDefaultPathHasBeenSet; }
363 
364     /**
365      * <p>Indicates whether the product has a default path. If the product does not
366      * have a default path, call <a>ListLaunchPaths</a> to disambiguate between paths.
367      * Otherwise, <a>ListLaunchPaths</a> is not required, and the output of
368      * <a>ProductViewSummary</a> can be used directly with
369      * <a>DescribeProvisioningParameters</a>.</p>
370      */
SetHasDefaultPath(bool value)371     inline void SetHasDefaultPath(bool value) { m_hasDefaultPathHasBeenSet = true; m_hasDefaultPath = value; }
372 
373     /**
374      * <p>Indicates whether the product has a default path. If the product does not
375      * have a default path, call <a>ListLaunchPaths</a> to disambiguate between paths.
376      * Otherwise, <a>ListLaunchPaths</a> is not required, and the output of
377      * <a>ProductViewSummary</a> can be used directly with
378      * <a>DescribeProvisioningParameters</a>.</p>
379      */
WithHasDefaultPath(bool value)380     inline ProductViewSummary& WithHasDefaultPath(bool value) { SetHasDefaultPath(value); return *this;}
381 
382 
383     /**
384      * <p>The email contact information to obtain support for this Product.</p>
385      */
GetSupportEmail()386     inline const Aws::String& GetSupportEmail() const{ return m_supportEmail; }
387 
388     /**
389      * <p>The email contact information to obtain support for this Product.</p>
390      */
SupportEmailHasBeenSet()391     inline bool SupportEmailHasBeenSet() const { return m_supportEmailHasBeenSet; }
392 
393     /**
394      * <p>The email contact information to obtain support for this Product.</p>
395      */
SetSupportEmail(const Aws::String & value)396     inline void SetSupportEmail(const Aws::String& value) { m_supportEmailHasBeenSet = true; m_supportEmail = value; }
397 
398     /**
399      * <p>The email contact information to obtain support for this Product.</p>
400      */
SetSupportEmail(Aws::String && value)401     inline void SetSupportEmail(Aws::String&& value) { m_supportEmailHasBeenSet = true; m_supportEmail = std::move(value); }
402 
403     /**
404      * <p>The email contact information to obtain support for this Product.</p>
405      */
SetSupportEmail(const char * value)406     inline void SetSupportEmail(const char* value) { m_supportEmailHasBeenSet = true; m_supportEmail.assign(value); }
407 
408     /**
409      * <p>The email contact information to obtain support for this Product.</p>
410      */
WithSupportEmail(const Aws::String & value)411     inline ProductViewSummary& WithSupportEmail(const Aws::String& value) { SetSupportEmail(value); return *this;}
412 
413     /**
414      * <p>The email contact information to obtain support for this Product.</p>
415      */
WithSupportEmail(Aws::String && value)416     inline ProductViewSummary& WithSupportEmail(Aws::String&& value) { SetSupportEmail(std::move(value)); return *this;}
417 
418     /**
419      * <p>The email contact information to obtain support for this Product.</p>
420      */
WithSupportEmail(const char * value)421     inline ProductViewSummary& WithSupportEmail(const char* value) { SetSupportEmail(value); return *this;}
422 
423 
424     /**
425      * <p>The description of the support for this Product.</p>
426      */
GetSupportDescription()427     inline const Aws::String& GetSupportDescription() const{ return m_supportDescription; }
428 
429     /**
430      * <p>The description of the support for this Product.</p>
431      */
SupportDescriptionHasBeenSet()432     inline bool SupportDescriptionHasBeenSet() const { return m_supportDescriptionHasBeenSet; }
433 
434     /**
435      * <p>The description of the support for this Product.</p>
436      */
SetSupportDescription(const Aws::String & value)437     inline void SetSupportDescription(const Aws::String& value) { m_supportDescriptionHasBeenSet = true; m_supportDescription = value; }
438 
439     /**
440      * <p>The description of the support for this Product.</p>
441      */
SetSupportDescription(Aws::String && value)442     inline void SetSupportDescription(Aws::String&& value) { m_supportDescriptionHasBeenSet = true; m_supportDescription = std::move(value); }
443 
444     /**
445      * <p>The description of the support for this Product.</p>
446      */
SetSupportDescription(const char * value)447     inline void SetSupportDescription(const char* value) { m_supportDescriptionHasBeenSet = true; m_supportDescription.assign(value); }
448 
449     /**
450      * <p>The description of the support for this Product.</p>
451      */
WithSupportDescription(const Aws::String & value)452     inline ProductViewSummary& WithSupportDescription(const Aws::String& value) { SetSupportDescription(value); return *this;}
453 
454     /**
455      * <p>The description of the support for this Product.</p>
456      */
WithSupportDescription(Aws::String && value)457     inline ProductViewSummary& WithSupportDescription(Aws::String&& value) { SetSupportDescription(std::move(value)); return *this;}
458 
459     /**
460      * <p>The description of the support for this Product.</p>
461      */
WithSupportDescription(const char * value)462     inline ProductViewSummary& WithSupportDescription(const char* value) { SetSupportDescription(value); return *this;}
463 
464 
465     /**
466      * <p>The URL information to obtain support for this Product.</p>
467      */
GetSupportUrl()468     inline const Aws::String& GetSupportUrl() const{ return m_supportUrl; }
469 
470     /**
471      * <p>The URL information to obtain support for this Product.</p>
472      */
SupportUrlHasBeenSet()473     inline bool SupportUrlHasBeenSet() const { return m_supportUrlHasBeenSet; }
474 
475     /**
476      * <p>The URL information to obtain support for this Product.</p>
477      */
SetSupportUrl(const Aws::String & value)478     inline void SetSupportUrl(const Aws::String& value) { m_supportUrlHasBeenSet = true; m_supportUrl = value; }
479 
480     /**
481      * <p>The URL information to obtain support for this Product.</p>
482      */
SetSupportUrl(Aws::String && value)483     inline void SetSupportUrl(Aws::String&& value) { m_supportUrlHasBeenSet = true; m_supportUrl = std::move(value); }
484 
485     /**
486      * <p>The URL information to obtain support for this Product.</p>
487      */
SetSupportUrl(const char * value)488     inline void SetSupportUrl(const char* value) { m_supportUrlHasBeenSet = true; m_supportUrl.assign(value); }
489 
490     /**
491      * <p>The URL information to obtain support for this Product.</p>
492      */
WithSupportUrl(const Aws::String & value)493     inline ProductViewSummary& WithSupportUrl(const Aws::String& value) { SetSupportUrl(value); return *this;}
494 
495     /**
496      * <p>The URL information to obtain support for this Product.</p>
497      */
WithSupportUrl(Aws::String && value)498     inline ProductViewSummary& WithSupportUrl(Aws::String&& value) { SetSupportUrl(std::move(value)); return *this;}
499 
500     /**
501      * <p>The URL information to obtain support for this Product.</p>
502      */
WithSupportUrl(const char * value)503     inline ProductViewSummary& WithSupportUrl(const char* value) { SetSupportUrl(value); return *this;}
504 
505   private:
506 
507     Aws::String m_id;
508     bool m_idHasBeenSet;
509 
510     Aws::String m_productId;
511     bool m_productIdHasBeenSet;
512 
513     Aws::String m_name;
514     bool m_nameHasBeenSet;
515 
516     Aws::String m_owner;
517     bool m_ownerHasBeenSet;
518 
519     Aws::String m_shortDescription;
520     bool m_shortDescriptionHasBeenSet;
521 
522     ProductType m_type;
523     bool m_typeHasBeenSet;
524 
525     Aws::String m_distributor;
526     bool m_distributorHasBeenSet;
527 
528     bool m_hasDefaultPath;
529     bool m_hasDefaultPathHasBeenSet;
530 
531     Aws::String m_supportEmail;
532     bool m_supportEmailHasBeenSet;
533 
534     Aws::String m_supportDescription;
535     bool m_supportDescriptionHasBeenSet;
536 
537     Aws::String m_supportUrl;
538     bool m_supportUrlHasBeenSet;
539   };
540 
541 } // namespace Model
542 } // namespace ServiceCatalog
543 } // namespace Aws
544