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/servicecatalog/model/ProductViewSummary.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/servicecatalog/model/ProvisioningArtifact.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace ServiceCatalog
26 {
27 namespace Model
28 {
29   class AWS_SERVICECATALOG_API DescribeProductViewResult
30   {
31   public:
32     DescribeProductViewResult();
33     DescribeProductViewResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     DescribeProductViewResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>Summary information about the product.</p>
39      */
GetProductViewSummary()40     inline const ProductViewSummary& GetProductViewSummary() const{ return m_productViewSummary; }
41 
42     /**
43      * <p>Summary information about the product.</p>
44      */
SetProductViewSummary(const ProductViewSummary & value)45     inline void SetProductViewSummary(const ProductViewSummary& value) { m_productViewSummary = value; }
46 
47     /**
48      * <p>Summary information about the product.</p>
49      */
SetProductViewSummary(ProductViewSummary && value)50     inline void SetProductViewSummary(ProductViewSummary&& value) { m_productViewSummary = std::move(value); }
51 
52     /**
53      * <p>Summary information about the product.</p>
54      */
WithProductViewSummary(const ProductViewSummary & value)55     inline DescribeProductViewResult& WithProductViewSummary(const ProductViewSummary& value) { SetProductViewSummary(value); return *this;}
56 
57     /**
58      * <p>Summary information about the product.</p>
59      */
WithProductViewSummary(ProductViewSummary && value)60     inline DescribeProductViewResult& WithProductViewSummary(ProductViewSummary&& value) { SetProductViewSummary(std::move(value)); return *this;}
61 
62 
63     /**
64      * <p>Information about the provisioning artifacts for the product.</p>
65      */
GetProvisioningArtifacts()66     inline const Aws::Vector<ProvisioningArtifact>& GetProvisioningArtifacts() const{ return m_provisioningArtifacts; }
67 
68     /**
69      * <p>Information about the provisioning artifacts for the product.</p>
70      */
SetProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact> & value)71     inline void SetProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact>& value) { m_provisioningArtifacts = value; }
72 
73     /**
74      * <p>Information about the provisioning artifacts for the product.</p>
75      */
SetProvisioningArtifacts(Aws::Vector<ProvisioningArtifact> && value)76     inline void SetProvisioningArtifacts(Aws::Vector<ProvisioningArtifact>&& value) { m_provisioningArtifacts = std::move(value); }
77 
78     /**
79      * <p>Information about the provisioning artifacts for the product.</p>
80      */
WithProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact> & value)81     inline DescribeProductViewResult& WithProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact>& value) { SetProvisioningArtifacts(value); return *this;}
82 
83     /**
84      * <p>Information about the provisioning artifacts for the product.</p>
85      */
WithProvisioningArtifacts(Aws::Vector<ProvisioningArtifact> && value)86     inline DescribeProductViewResult& WithProvisioningArtifacts(Aws::Vector<ProvisioningArtifact>&& value) { SetProvisioningArtifacts(std::move(value)); return *this;}
87 
88     /**
89      * <p>Information about the provisioning artifacts for the product.</p>
90      */
AddProvisioningArtifacts(const ProvisioningArtifact & value)91     inline DescribeProductViewResult& AddProvisioningArtifacts(const ProvisioningArtifact& value) { m_provisioningArtifacts.push_back(value); return *this; }
92 
93     /**
94      * <p>Information about the provisioning artifacts for the product.</p>
95      */
AddProvisioningArtifacts(ProvisioningArtifact && value)96     inline DescribeProductViewResult& AddProvisioningArtifacts(ProvisioningArtifact&& value) { m_provisioningArtifacts.push_back(std::move(value)); return *this; }
97 
98   private:
99 
100     ProductViewSummary m_productViewSummary;
101 
102     Aws::Vector<ProvisioningArtifact> m_provisioningArtifacts;
103   };
104 
105 } // namespace Model
106 } // namespace ServiceCatalog
107 } // namespace Aws
108