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/AWSVector.h>
9 #include <aws/servicecatalog/model/ProvisioningArtifactPreferences.h>
10 #include <aws/servicecatalog/model/ProvisioningArtifactParameter.h>
11 #include <aws/servicecatalog/model/ConstraintSummary.h>
12 #include <aws/servicecatalog/model/UsageInstruction.h>
13 #include <aws/servicecatalog/model/TagOptionSummary.h>
14 #include <aws/servicecatalog/model/ProvisioningArtifactOutput.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 template<typename RESULT_TYPE>
20 class AmazonWebServiceResult;
21 
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace ServiceCatalog
30 {
31 namespace Model
32 {
33   class AWS_SERVICECATALOG_API DescribeProvisioningParametersResult
34   {
35   public:
36     DescribeProvisioningParametersResult();
37     DescribeProvisioningParametersResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38     DescribeProvisioningParametersResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39 
40 
41     /**
42      * <p>Information about the parameters used to provision the product.</p>
43      */
GetProvisioningArtifactParameters()44     inline const Aws::Vector<ProvisioningArtifactParameter>& GetProvisioningArtifactParameters() const{ return m_provisioningArtifactParameters; }
45 
46     /**
47      * <p>Information about the parameters used to provision the product.</p>
48      */
SetProvisioningArtifactParameters(const Aws::Vector<ProvisioningArtifactParameter> & value)49     inline void SetProvisioningArtifactParameters(const Aws::Vector<ProvisioningArtifactParameter>& value) { m_provisioningArtifactParameters = value; }
50 
51     /**
52      * <p>Information about the parameters used to provision the product.</p>
53      */
SetProvisioningArtifactParameters(Aws::Vector<ProvisioningArtifactParameter> && value)54     inline void SetProvisioningArtifactParameters(Aws::Vector<ProvisioningArtifactParameter>&& value) { m_provisioningArtifactParameters = std::move(value); }
55 
56     /**
57      * <p>Information about the parameters used to provision the product.</p>
58      */
WithProvisioningArtifactParameters(const Aws::Vector<ProvisioningArtifactParameter> & value)59     inline DescribeProvisioningParametersResult& WithProvisioningArtifactParameters(const Aws::Vector<ProvisioningArtifactParameter>& value) { SetProvisioningArtifactParameters(value); return *this;}
60 
61     /**
62      * <p>Information about the parameters used to provision the product.</p>
63      */
WithProvisioningArtifactParameters(Aws::Vector<ProvisioningArtifactParameter> && value)64     inline DescribeProvisioningParametersResult& WithProvisioningArtifactParameters(Aws::Vector<ProvisioningArtifactParameter>&& value) { SetProvisioningArtifactParameters(std::move(value)); return *this;}
65 
66     /**
67      * <p>Information about the parameters used to provision the product.</p>
68      */
AddProvisioningArtifactParameters(const ProvisioningArtifactParameter & value)69     inline DescribeProvisioningParametersResult& AddProvisioningArtifactParameters(const ProvisioningArtifactParameter& value) { m_provisioningArtifactParameters.push_back(value); return *this; }
70 
71     /**
72      * <p>Information about the parameters used to provision the product.</p>
73      */
AddProvisioningArtifactParameters(ProvisioningArtifactParameter && value)74     inline DescribeProvisioningParametersResult& AddProvisioningArtifactParameters(ProvisioningArtifactParameter&& value) { m_provisioningArtifactParameters.push_back(std::move(value)); return *this; }
75 
76 
77     /**
78      * <p>Information about the constraints used to provision the product.</p>
79      */
GetConstraintSummaries()80     inline const Aws::Vector<ConstraintSummary>& GetConstraintSummaries() const{ return m_constraintSummaries; }
81 
82     /**
83      * <p>Information about the constraints used to provision the product.</p>
84      */
SetConstraintSummaries(const Aws::Vector<ConstraintSummary> & value)85     inline void SetConstraintSummaries(const Aws::Vector<ConstraintSummary>& value) { m_constraintSummaries = value; }
86 
87     /**
88      * <p>Information about the constraints used to provision the product.</p>
89      */
SetConstraintSummaries(Aws::Vector<ConstraintSummary> && value)90     inline void SetConstraintSummaries(Aws::Vector<ConstraintSummary>&& value) { m_constraintSummaries = std::move(value); }
91 
92     /**
93      * <p>Information about the constraints used to provision the product.</p>
94      */
WithConstraintSummaries(const Aws::Vector<ConstraintSummary> & value)95     inline DescribeProvisioningParametersResult& WithConstraintSummaries(const Aws::Vector<ConstraintSummary>& value) { SetConstraintSummaries(value); return *this;}
96 
97     /**
98      * <p>Information about the constraints used to provision the product.</p>
99      */
WithConstraintSummaries(Aws::Vector<ConstraintSummary> && value)100     inline DescribeProvisioningParametersResult& WithConstraintSummaries(Aws::Vector<ConstraintSummary>&& value) { SetConstraintSummaries(std::move(value)); return *this;}
101 
102     /**
103      * <p>Information about the constraints used to provision the product.</p>
104      */
AddConstraintSummaries(const ConstraintSummary & value)105     inline DescribeProvisioningParametersResult& AddConstraintSummaries(const ConstraintSummary& value) { m_constraintSummaries.push_back(value); return *this; }
106 
107     /**
108      * <p>Information about the constraints used to provision the product.</p>
109      */
AddConstraintSummaries(ConstraintSummary && value)110     inline DescribeProvisioningParametersResult& AddConstraintSummaries(ConstraintSummary&& value) { m_constraintSummaries.push_back(std::move(value)); return *this; }
111 
112 
113     /**
114      * <p>Any additional metadata specifically related to the provisioning of the
115      * product. For example, see the <code>Version</code> field of the CloudFormation
116      * template.</p>
117      */
GetUsageInstructions()118     inline const Aws::Vector<UsageInstruction>& GetUsageInstructions() const{ return m_usageInstructions; }
119 
120     /**
121      * <p>Any additional metadata specifically related to the provisioning of the
122      * product. For example, see the <code>Version</code> field of the CloudFormation
123      * template.</p>
124      */
SetUsageInstructions(const Aws::Vector<UsageInstruction> & value)125     inline void SetUsageInstructions(const Aws::Vector<UsageInstruction>& value) { m_usageInstructions = value; }
126 
127     /**
128      * <p>Any additional metadata specifically related to the provisioning of the
129      * product. For example, see the <code>Version</code> field of the CloudFormation
130      * template.</p>
131      */
SetUsageInstructions(Aws::Vector<UsageInstruction> && value)132     inline void SetUsageInstructions(Aws::Vector<UsageInstruction>&& value) { m_usageInstructions = std::move(value); }
133 
134     /**
135      * <p>Any additional metadata specifically related to the provisioning of the
136      * product. For example, see the <code>Version</code> field of the CloudFormation
137      * template.</p>
138      */
WithUsageInstructions(const Aws::Vector<UsageInstruction> & value)139     inline DescribeProvisioningParametersResult& WithUsageInstructions(const Aws::Vector<UsageInstruction>& value) { SetUsageInstructions(value); return *this;}
140 
141     /**
142      * <p>Any additional metadata specifically related to the provisioning of the
143      * product. For example, see the <code>Version</code> field of the CloudFormation
144      * template.</p>
145      */
WithUsageInstructions(Aws::Vector<UsageInstruction> && value)146     inline DescribeProvisioningParametersResult& WithUsageInstructions(Aws::Vector<UsageInstruction>&& value) { SetUsageInstructions(std::move(value)); return *this;}
147 
148     /**
149      * <p>Any additional metadata specifically related to the provisioning of the
150      * product. For example, see the <code>Version</code> field of the CloudFormation
151      * template.</p>
152      */
AddUsageInstructions(const UsageInstruction & value)153     inline DescribeProvisioningParametersResult& AddUsageInstructions(const UsageInstruction& value) { m_usageInstructions.push_back(value); return *this; }
154 
155     /**
156      * <p>Any additional metadata specifically related to the provisioning of the
157      * product. For example, see the <code>Version</code> field of the CloudFormation
158      * template.</p>
159      */
AddUsageInstructions(UsageInstruction && value)160     inline DescribeProvisioningParametersResult& AddUsageInstructions(UsageInstruction&& value) { m_usageInstructions.push_back(std::move(value)); return *this; }
161 
162 
163     /**
164      * <p>Information about the TagOptions associated with the resource.</p>
165      */
GetTagOptions()166     inline const Aws::Vector<TagOptionSummary>& GetTagOptions() const{ return m_tagOptions; }
167 
168     /**
169      * <p>Information about the TagOptions associated with the resource.</p>
170      */
SetTagOptions(const Aws::Vector<TagOptionSummary> & value)171     inline void SetTagOptions(const Aws::Vector<TagOptionSummary>& value) { m_tagOptions = value; }
172 
173     /**
174      * <p>Information about the TagOptions associated with the resource.</p>
175      */
SetTagOptions(Aws::Vector<TagOptionSummary> && value)176     inline void SetTagOptions(Aws::Vector<TagOptionSummary>&& value) { m_tagOptions = std::move(value); }
177 
178     /**
179      * <p>Information about the TagOptions associated with the resource.</p>
180      */
WithTagOptions(const Aws::Vector<TagOptionSummary> & value)181     inline DescribeProvisioningParametersResult& WithTagOptions(const Aws::Vector<TagOptionSummary>& value) { SetTagOptions(value); return *this;}
182 
183     /**
184      * <p>Information about the TagOptions associated with the resource.</p>
185      */
WithTagOptions(Aws::Vector<TagOptionSummary> && value)186     inline DescribeProvisioningParametersResult& WithTagOptions(Aws::Vector<TagOptionSummary>&& value) { SetTagOptions(std::move(value)); return *this;}
187 
188     /**
189      * <p>Information about the TagOptions associated with the resource.</p>
190      */
AddTagOptions(const TagOptionSummary & value)191     inline DescribeProvisioningParametersResult& AddTagOptions(const TagOptionSummary& value) { m_tagOptions.push_back(value); return *this; }
192 
193     /**
194      * <p>Information about the TagOptions associated with the resource.</p>
195      */
AddTagOptions(TagOptionSummary && value)196     inline DescribeProvisioningParametersResult& AddTagOptions(TagOptionSummary&& value) { m_tagOptions.push_back(std::move(value)); return *this; }
197 
198 
199     /**
200      * <p>An object that contains information about preferences, such as regions and
201      * accounts, for the provisioning artifact.</p>
202      */
GetProvisioningArtifactPreferences()203     inline const ProvisioningArtifactPreferences& GetProvisioningArtifactPreferences() const{ return m_provisioningArtifactPreferences; }
204 
205     /**
206      * <p>An object that contains information about preferences, such as regions and
207      * accounts, for the provisioning artifact.</p>
208      */
SetProvisioningArtifactPreferences(const ProvisioningArtifactPreferences & value)209     inline void SetProvisioningArtifactPreferences(const ProvisioningArtifactPreferences& value) { m_provisioningArtifactPreferences = value; }
210 
211     /**
212      * <p>An object that contains information about preferences, such as regions and
213      * accounts, for the provisioning artifact.</p>
214      */
SetProvisioningArtifactPreferences(ProvisioningArtifactPreferences && value)215     inline void SetProvisioningArtifactPreferences(ProvisioningArtifactPreferences&& value) { m_provisioningArtifactPreferences = std::move(value); }
216 
217     /**
218      * <p>An object that contains information about preferences, such as regions and
219      * accounts, for the provisioning artifact.</p>
220      */
WithProvisioningArtifactPreferences(const ProvisioningArtifactPreferences & value)221     inline DescribeProvisioningParametersResult& WithProvisioningArtifactPreferences(const ProvisioningArtifactPreferences& value) { SetProvisioningArtifactPreferences(value); return *this;}
222 
223     /**
224      * <p>An object that contains information about preferences, such as regions and
225      * accounts, for the provisioning artifact.</p>
226      */
WithProvisioningArtifactPreferences(ProvisioningArtifactPreferences && value)227     inline DescribeProvisioningParametersResult& WithProvisioningArtifactPreferences(ProvisioningArtifactPreferences&& value) { SetProvisioningArtifactPreferences(std::move(value)); return *this;}
228 
229 
230     /**
231      * <p>The output of the provisioning artifact.</p>
232      */
GetProvisioningArtifactOutputs()233     inline const Aws::Vector<ProvisioningArtifactOutput>& GetProvisioningArtifactOutputs() const{ return m_provisioningArtifactOutputs; }
234 
235     /**
236      * <p>The output of the provisioning artifact.</p>
237      */
SetProvisioningArtifactOutputs(const Aws::Vector<ProvisioningArtifactOutput> & value)238     inline void SetProvisioningArtifactOutputs(const Aws::Vector<ProvisioningArtifactOutput>& value) { m_provisioningArtifactOutputs = value; }
239 
240     /**
241      * <p>The output of the provisioning artifact.</p>
242      */
SetProvisioningArtifactOutputs(Aws::Vector<ProvisioningArtifactOutput> && value)243     inline void SetProvisioningArtifactOutputs(Aws::Vector<ProvisioningArtifactOutput>&& value) { m_provisioningArtifactOutputs = std::move(value); }
244 
245     /**
246      * <p>The output of the provisioning artifact.</p>
247      */
WithProvisioningArtifactOutputs(const Aws::Vector<ProvisioningArtifactOutput> & value)248     inline DescribeProvisioningParametersResult& WithProvisioningArtifactOutputs(const Aws::Vector<ProvisioningArtifactOutput>& value) { SetProvisioningArtifactOutputs(value); return *this;}
249 
250     /**
251      * <p>The output of the provisioning artifact.</p>
252      */
WithProvisioningArtifactOutputs(Aws::Vector<ProvisioningArtifactOutput> && value)253     inline DescribeProvisioningParametersResult& WithProvisioningArtifactOutputs(Aws::Vector<ProvisioningArtifactOutput>&& value) { SetProvisioningArtifactOutputs(std::move(value)); return *this;}
254 
255     /**
256      * <p>The output of the provisioning artifact.</p>
257      */
AddProvisioningArtifactOutputs(const ProvisioningArtifactOutput & value)258     inline DescribeProvisioningParametersResult& AddProvisioningArtifactOutputs(const ProvisioningArtifactOutput& value) { m_provisioningArtifactOutputs.push_back(value); return *this; }
259 
260     /**
261      * <p>The output of the provisioning artifact.</p>
262      */
AddProvisioningArtifactOutputs(ProvisioningArtifactOutput && value)263     inline DescribeProvisioningParametersResult& AddProvisioningArtifactOutputs(ProvisioningArtifactOutput&& value) { m_provisioningArtifactOutputs.push_back(std::move(value)); return *this; }
264 
265   private:
266 
267     Aws::Vector<ProvisioningArtifactParameter> m_provisioningArtifactParameters;
268 
269     Aws::Vector<ConstraintSummary> m_constraintSummaries;
270 
271     Aws::Vector<UsageInstruction> m_usageInstructions;
272 
273     Aws::Vector<TagOptionSummary> m_tagOptions;
274 
275     ProvisioningArtifactPreferences m_provisioningArtifactPreferences;
276 
277     Aws::Vector<ProvisioningArtifactOutput> m_provisioningArtifactOutputs;
278   };
279 
280 } // namespace Model
281 } // namespace ServiceCatalog
282 } // namespace Aws
283