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 <aws/servicecatalog/model/BudgetDetail.h> 12 #include <aws/servicecatalog/model/LaunchPath.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 template<typename RESULT_TYPE> 18 class AmazonWebServiceResult; 19 20 namespace Utils 21 { 22 namespace Json 23 { 24 class JsonValue; 25 } // namespace Json 26 } // namespace Utils 27 namespace ServiceCatalog 28 { 29 namespace Model 30 { 31 class AWS_SERVICECATALOG_API DescribeProductResult 32 { 33 public: 34 DescribeProductResult(); 35 DescribeProductResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 36 DescribeProductResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 37 38 39 /** 40 * <p>Summary information about the product view.</p> 41 */ GetProductViewSummary()42 inline const ProductViewSummary& GetProductViewSummary() const{ return m_productViewSummary; } 43 44 /** 45 * <p>Summary information about the product view.</p> 46 */ SetProductViewSummary(const ProductViewSummary & value)47 inline void SetProductViewSummary(const ProductViewSummary& value) { m_productViewSummary = value; } 48 49 /** 50 * <p>Summary information about the product view.</p> 51 */ SetProductViewSummary(ProductViewSummary && value)52 inline void SetProductViewSummary(ProductViewSummary&& value) { m_productViewSummary = std::move(value); } 53 54 /** 55 * <p>Summary information about the product view.</p> 56 */ WithProductViewSummary(const ProductViewSummary & value)57 inline DescribeProductResult& WithProductViewSummary(const ProductViewSummary& value) { SetProductViewSummary(value); return *this;} 58 59 /** 60 * <p>Summary information about the product view.</p> 61 */ WithProductViewSummary(ProductViewSummary && value)62 inline DescribeProductResult& WithProductViewSummary(ProductViewSummary&& value) { SetProductViewSummary(std::move(value)); return *this;} 63 64 65 /** 66 * <p>Information about the provisioning artifacts for the specified product.</p> 67 */ GetProvisioningArtifacts()68 inline const Aws::Vector<ProvisioningArtifact>& GetProvisioningArtifacts() const{ return m_provisioningArtifacts; } 69 70 /** 71 * <p>Information about the provisioning artifacts for the specified product.</p> 72 */ SetProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact> & value)73 inline void SetProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact>& value) { m_provisioningArtifacts = value; } 74 75 /** 76 * <p>Information about the provisioning artifacts for the specified product.</p> 77 */ SetProvisioningArtifacts(Aws::Vector<ProvisioningArtifact> && value)78 inline void SetProvisioningArtifacts(Aws::Vector<ProvisioningArtifact>&& value) { m_provisioningArtifacts = std::move(value); } 79 80 /** 81 * <p>Information about the provisioning artifacts for the specified product.</p> 82 */ WithProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact> & value)83 inline DescribeProductResult& WithProvisioningArtifacts(const Aws::Vector<ProvisioningArtifact>& value) { SetProvisioningArtifacts(value); return *this;} 84 85 /** 86 * <p>Information about the provisioning artifacts for the specified product.</p> 87 */ WithProvisioningArtifacts(Aws::Vector<ProvisioningArtifact> && value)88 inline DescribeProductResult& WithProvisioningArtifacts(Aws::Vector<ProvisioningArtifact>&& value) { SetProvisioningArtifacts(std::move(value)); return *this;} 89 90 /** 91 * <p>Information about the provisioning artifacts for the specified product.</p> 92 */ AddProvisioningArtifacts(const ProvisioningArtifact & value)93 inline DescribeProductResult& AddProvisioningArtifacts(const ProvisioningArtifact& value) { m_provisioningArtifacts.push_back(value); return *this; } 94 95 /** 96 * <p>Information about the provisioning artifacts for the specified product.</p> 97 */ AddProvisioningArtifacts(ProvisioningArtifact && value)98 inline DescribeProductResult& AddProvisioningArtifacts(ProvisioningArtifact&& value) { m_provisioningArtifacts.push_back(std::move(value)); return *this; } 99 100 101 /** 102 * <p>Information about the associated budgets.</p> 103 */ GetBudgets()104 inline const Aws::Vector<BudgetDetail>& GetBudgets() const{ return m_budgets; } 105 106 /** 107 * <p>Information about the associated budgets.</p> 108 */ SetBudgets(const Aws::Vector<BudgetDetail> & value)109 inline void SetBudgets(const Aws::Vector<BudgetDetail>& value) { m_budgets = value; } 110 111 /** 112 * <p>Information about the associated budgets.</p> 113 */ SetBudgets(Aws::Vector<BudgetDetail> && value)114 inline void SetBudgets(Aws::Vector<BudgetDetail>&& value) { m_budgets = std::move(value); } 115 116 /** 117 * <p>Information about the associated budgets.</p> 118 */ WithBudgets(const Aws::Vector<BudgetDetail> & value)119 inline DescribeProductResult& WithBudgets(const Aws::Vector<BudgetDetail>& value) { SetBudgets(value); return *this;} 120 121 /** 122 * <p>Information about the associated budgets.</p> 123 */ WithBudgets(Aws::Vector<BudgetDetail> && value)124 inline DescribeProductResult& WithBudgets(Aws::Vector<BudgetDetail>&& value) { SetBudgets(std::move(value)); return *this;} 125 126 /** 127 * <p>Information about the associated budgets.</p> 128 */ AddBudgets(const BudgetDetail & value)129 inline DescribeProductResult& AddBudgets(const BudgetDetail& value) { m_budgets.push_back(value); return *this; } 130 131 /** 132 * <p>Information about the associated budgets.</p> 133 */ AddBudgets(BudgetDetail && value)134 inline DescribeProductResult& AddBudgets(BudgetDetail&& value) { m_budgets.push_back(std::move(value)); return *this; } 135 136 137 /** 138 * <p>Information about the associated launch paths.</p> 139 */ GetLaunchPaths()140 inline const Aws::Vector<LaunchPath>& GetLaunchPaths() const{ return m_launchPaths; } 141 142 /** 143 * <p>Information about the associated launch paths.</p> 144 */ SetLaunchPaths(const Aws::Vector<LaunchPath> & value)145 inline void SetLaunchPaths(const Aws::Vector<LaunchPath>& value) { m_launchPaths = value; } 146 147 /** 148 * <p>Information about the associated launch paths.</p> 149 */ SetLaunchPaths(Aws::Vector<LaunchPath> && value)150 inline void SetLaunchPaths(Aws::Vector<LaunchPath>&& value) { m_launchPaths = std::move(value); } 151 152 /** 153 * <p>Information about the associated launch paths.</p> 154 */ WithLaunchPaths(const Aws::Vector<LaunchPath> & value)155 inline DescribeProductResult& WithLaunchPaths(const Aws::Vector<LaunchPath>& value) { SetLaunchPaths(value); return *this;} 156 157 /** 158 * <p>Information about the associated launch paths.</p> 159 */ WithLaunchPaths(Aws::Vector<LaunchPath> && value)160 inline DescribeProductResult& WithLaunchPaths(Aws::Vector<LaunchPath>&& value) { SetLaunchPaths(std::move(value)); return *this;} 161 162 /** 163 * <p>Information about the associated launch paths.</p> 164 */ AddLaunchPaths(const LaunchPath & value)165 inline DescribeProductResult& AddLaunchPaths(const LaunchPath& value) { m_launchPaths.push_back(value); return *this; } 166 167 /** 168 * <p>Information about the associated launch paths.</p> 169 */ AddLaunchPaths(LaunchPath && value)170 inline DescribeProductResult& AddLaunchPaths(LaunchPath&& value) { m_launchPaths.push_back(std::move(value)); return *this; } 171 172 private: 173 174 ProductViewSummary m_productViewSummary; 175 176 Aws::Vector<ProvisioningArtifact> m_provisioningArtifacts; 177 178 Aws::Vector<BudgetDetail> m_budgets; 179 180 Aws::Vector<LaunchPath> m_launchPaths; 181 }; 182 183 } // namespace Model 184 } // namespace ServiceCatalog 185 } // namespace Aws 186