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/ServiceCatalogRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/servicecatalog/model/ProvisioningArtifactGuidance.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ServiceCatalog
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_SERVICECATALOG_API UpdateProvisioningArtifactRequest : public ServiceCatalogRequest
23   {
24   public:
25     UpdateProvisioningArtifactRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "UpdateProvisioningArtifact"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
40      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
41      * Chinese</p> </li> </ul>
42      */
GetAcceptLanguage()43     inline const Aws::String& GetAcceptLanguage() const{ return m_acceptLanguage; }
44 
45     /**
46      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
47      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
48      * Chinese</p> </li> </ul>
49      */
AcceptLanguageHasBeenSet()50     inline bool AcceptLanguageHasBeenSet() const { return m_acceptLanguageHasBeenSet; }
51 
52     /**
53      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
54      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
55      * Chinese</p> </li> </ul>
56      */
SetAcceptLanguage(const Aws::String & value)57     inline void SetAcceptLanguage(const Aws::String& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = value; }
58 
59     /**
60      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
61      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
62      * Chinese</p> </li> </ul>
63      */
SetAcceptLanguage(Aws::String && value)64     inline void SetAcceptLanguage(Aws::String&& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = std::move(value); }
65 
66     /**
67      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
68      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
69      * Chinese</p> </li> </ul>
70      */
SetAcceptLanguage(const char * value)71     inline void SetAcceptLanguage(const char* value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage.assign(value); }
72 
73     /**
74      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
75      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
76      * Chinese</p> </li> </ul>
77      */
WithAcceptLanguage(const Aws::String & value)78     inline UpdateProvisioningArtifactRequest& WithAcceptLanguage(const Aws::String& value) { SetAcceptLanguage(value); return *this;}
79 
80     /**
81      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
82      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
83      * Chinese</p> </li> </ul>
84      */
WithAcceptLanguage(Aws::String && value)85     inline UpdateProvisioningArtifactRequest& WithAcceptLanguage(Aws::String&& value) { SetAcceptLanguage(std::move(value)); return *this;}
86 
87     /**
88      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
89      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
90      * Chinese</p> </li> </ul>
91      */
WithAcceptLanguage(const char * value)92     inline UpdateProvisioningArtifactRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;}
93 
94 
95     /**
96      * <p>The product identifier.</p>
97      */
GetProductId()98     inline const Aws::String& GetProductId() const{ return m_productId; }
99 
100     /**
101      * <p>The product identifier.</p>
102      */
ProductIdHasBeenSet()103     inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; }
104 
105     /**
106      * <p>The product identifier.</p>
107      */
SetProductId(const Aws::String & value)108     inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; }
109 
110     /**
111      * <p>The product identifier.</p>
112      */
SetProductId(Aws::String && value)113     inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); }
114 
115     /**
116      * <p>The product identifier.</p>
117      */
SetProductId(const char * value)118     inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); }
119 
120     /**
121      * <p>The product identifier.</p>
122      */
WithProductId(const Aws::String & value)123     inline UpdateProvisioningArtifactRequest& WithProductId(const Aws::String& value) { SetProductId(value); return *this;}
124 
125     /**
126      * <p>The product identifier.</p>
127      */
WithProductId(Aws::String && value)128     inline UpdateProvisioningArtifactRequest& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;}
129 
130     /**
131      * <p>The product identifier.</p>
132      */
WithProductId(const char * value)133     inline UpdateProvisioningArtifactRequest& WithProductId(const char* value) { SetProductId(value); return *this;}
134 
135 
136     /**
137      * <p>The identifier of the provisioning artifact.</p>
138      */
GetProvisioningArtifactId()139     inline const Aws::String& GetProvisioningArtifactId() const{ return m_provisioningArtifactId; }
140 
141     /**
142      * <p>The identifier of the provisioning artifact.</p>
143      */
ProvisioningArtifactIdHasBeenSet()144     inline bool ProvisioningArtifactIdHasBeenSet() const { return m_provisioningArtifactIdHasBeenSet; }
145 
146     /**
147      * <p>The identifier of the provisioning artifact.</p>
148      */
SetProvisioningArtifactId(const Aws::String & value)149     inline void SetProvisioningArtifactId(const Aws::String& value) { m_provisioningArtifactIdHasBeenSet = true; m_provisioningArtifactId = value; }
150 
151     /**
152      * <p>The identifier of the provisioning artifact.</p>
153      */
SetProvisioningArtifactId(Aws::String && value)154     inline void SetProvisioningArtifactId(Aws::String&& value) { m_provisioningArtifactIdHasBeenSet = true; m_provisioningArtifactId = std::move(value); }
155 
156     /**
157      * <p>The identifier of the provisioning artifact.</p>
158      */
SetProvisioningArtifactId(const char * value)159     inline void SetProvisioningArtifactId(const char* value) { m_provisioningArtifactIdHasBeenSet = true; m_provisioningArtifactId.assign(value); }
160 
161     /**
162      * <p>The identifier of the provisioning artifact.</p>
163      */
WithProvisioningArtifactId(const Aws::String & value)164     inline UpdateProvisioningArtifactRequest& WithProvisioningArtifactId(const Aws::String& value) { SetProvisioningArtifactId(value); return *this;}
165 
166     /**
167      * <p>The identifier of the provisioning artifact.</p>
168      */
WithProvisioningArtifactId(Aws::String && value)169     inline UpdateProvisioningArtifactRequest& WithProvisioningArtifactId(Aws::String&& value) { SetProvisioningArtifactId(std::move(value)); return *this;}
170 
171     /**
172      * <p>The identifier of the provisioning artifact.</p>
173      */
WithProvisioningArtifactId(const char * value)174     inline UpdateProvisioningArtifactRequest& WithProvisioningArtifactId(const char* value) { SetProvisioningArtifactId(value); return *this;}
175 
176 
177     /**
178      * <p>The updated name of the provisioning artifact.</p>
179      */
GetName()180     inline const Aws::String& GetName() const{ return m_name; }
181 
182     /**
183      * <p>The updated name of the provisioning artifact.</p>
184      */
NameHasBeenSet()185     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
186 
187     /**
188      * <p>The updated name of the provisioning artifact.</p>
189      */
SetName(const Aws::String & value)190     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
191 
192     /**
193      * <p>The updated name of the provisioning artifact.</p>
194      */
SetName(Aws::String && value)195     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
196 
197     /**
198      * <p>The updated name of the provisioning artifact.</p>
199      */
SetName(const char * value)200     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
201 
202     /**
203      * <p>The updated name of the provisioning artifact.</p>
204      */
WithName(const Aws::String & value)205     inline UpdateProvisioningArtifactRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
206 
207     /**
208      * <p>The updated name of the provisioning artifact.</p>
209      */
WithName(Aws::String && value)210     inline UpdateProvisioningArtifactRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
211 
212     /**
213      * <p>The updated name of the provisioning artifact.</p>
214      */
WithName(const char * value)215     inline UpdateProvisioningArtifactRequest& WithName(const char* value) { SetName(value); return *this;}
216 
217 
218     /**
219      * <p>The updated description of the provisioning artifact.</p>
220      */
GetDescription()221     inline const Aws::String& GetDescription() const{ return m_description; }
222 
223     /**
224      * <p>The updated description of the provisioning artifact.</p>
225      */
DescriptionHasBeenSet()226     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
227 
228     /**
229      * <p>The updated description of the provisioning artifact.</p>
230      */
SetDescription(const Aws::String & value)231     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
232 
233     /**
234      * <p>The updated description of the provisioning artifact.</p>
235      */
SetDescription(Aws::String && value)236     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
237 
238     /**
239      * <p>The updated description of the provisioning artifact.</p>
240      */
SetDescription(const char * value)241     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
242 
243     /**
244      * <p>The updated description of the provisioning artifact.</p>
245      */
WithDescription(const Aws::String & value)246     inline UpdateProvisioningArtifactRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
247 
248     /**
249      * <p>The updated description of the provisioning artifact.</p>
250      */
WithDescription(Aws::String && value)251     inline UpdateProvisioningArtifactRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
252 
253     /**
254      * <p>The updated description of the provisioning artifact.</p>
255      */
WithDescription(const char * value)256     inline UpdateProvisioningArtifactRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
257 
258 
259     /**
260      * <p>Indicates whether the product version is active.</p> <p>Inactive provisioning
261      * artifacts are invisible to end users. End users cannot launch or update a
262      * provisioned product from an inactive provisioning artifact.</p>
263      */
GetActive()264     inline bool GetActive() const{ return m_active; }
265 
266     /**
267      * <p>Indicates whether the product version is active.</p> <p>Inactive provisioning
268      * artifacts are invisible to end users. End users cannot launch or update a
269      * provisioned product from an inactive provisioning artifact.</p>
270      */
ActiveHasBeenSet()271     inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; }
272 
273     /**
274      * <p>Indicates whether the product version is active.</p> <p>Inactive provisioning
275      * artifacts are invisible to end users. End users cannot launch or update a
276      * provisioned product from an inactive provisioning artifact.</p>
277      */
SetActive(bool value)278     inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; }
279 
280     /**
281      * <p>Indicates whether the product version is active.</p> <p>Inactive provisioning
282      * artifacts are invisible to end users. End users cannot launch or update a
283      * provisioned product from an inactive provisioning artifact.</p>
284      */
WithActive(bool value)285     inline UpdateProvisioningArtifactRequest& WithActive(bool value) { SetActive(value); return *this;}
286 
287 
288     /**
289      * <p>Information set by the administrator to provide guidance to end users about
290      * which provisioning artifacts to use.</p> <p>The <code>DEFAULT</code> value
291      * indicates that the product version is active.</p> <p>The administrator can set
292      * the guidance to <code>DEPRECATED</code> to inform users that the product version
293      * is deprecated. Users are able to make updates to a provisioned product of a
294      * deprecated version but cannot launch new provisioned products using a deprecated
295      * version.</p>
296      */
GetGuidance()297     inline const ProvisioningArtifactGuidance& GetGuidance() const{ return m_guidance; }
298 
299     /**
300      * <p>Information set by the administrator to provide guidance to end users about
301      * which provisioning artifacts to use.</p> <p>The <code>DEFAULT</code> value
302      * indicates that the product version is active.</p> <p>The administrator can set
303      * the guidance to <code>DEPRECATED</code> to inform users that the product version
304      * is deprecated. Users are able to make updates to a provisioned product of a
305      * deprecated version but cannot launch new provisioned products using a deprecated
306      * version.</p>
307      */
GuidanceHasBeenSet()308     inline bool GuidanceHasBeenSet() const { return m_guidanceHasBeenSet; }
309 
310     /**
311      * <p>Information set by the administrator to provide guidance to end users about
312      * which provisioning artifacts to use.</p> <p>The <code>DEFAULT</code> value
313      * indicates that the product version is active.</p> <p>The administrator can set
314      * the guidance to <code>DEPRECATED</code> to inform users that the product version
315      * is deprecated. Users are able to make updates to a provisioned product of a
316      * deprecated version but cannot launch new provisioned products using a deprecated
317      * version.</p>
318      */
SetGuidance(const ProvisioningArtifactGuidance & value)319     inline void SetGuidance(const ProvisioningArtifactGuidance& value) { m_guidanceHasBeenSet = true; m_guidance = value; }
320 
321     /**
322      * <p>Information set by the administrator to provide guidance to end users about
323      * which provisioning artifacts to use.</p> <p>The <code>DEFAULT</code> value
324      * indicates that the product version is active.</p> <p>The administrator can set
325      * the guidance to <code>DEPRECATED</code> to inform users that the product version
326      * is deprecated. Users are able to make updates to a provisioned product of a
327      * deprecated version but cannot launch new provisioned products using a deprecated
328      * version.</p>
329      */
SetGuidance(ProvisioningArtifactGuidance && value)330     inline void SetGuidance(ProvisioningArtifactGuidance&& value) { m_guidanceHasBeenSet = true; m_guidance = std::move(value); }
331 
332     /**
333      * <p>Information set by the administrator to provide guidance to end users about
334      * which provisioning artifacts to use.</p> <p>The <code>DEFAULT</code> value
335      * indicates that the product version is active.</p> <p>The administrator can set
336      * the guidance to <code>DEPRECATED</code> to inform users that the product version
337      * is deprecated. Users are able to make updates to a provisioned product of a
338      * deprecated version but cannot launch new provisioned products using a deprecated
339      * version.</p>
340      */
WithGuidance(const ProvisioningArtifactGuidance & value)341     inline UpdateProvisioningArtifactRequest& WithGuidance(const ProvisioningArtifactGuidance& value) { SetGuidance(value); return *this;}
342 
343     /**
344      * <p>Information set by the administrator to provide guidance to end users about
345      * which provisioning artifacts to use.</p> <p>The <code>DEFAULT</code> value
346      * indicates that the product version is active.</p> <p>The administrator can set
347      * the guidance to <code>DEPRECATED</code> to inform users that the product version
348      * is deprecated. Users are able to make updates to a provisioned product of a
349      * deprecated version but cannot launch new provisioned products using a deprecated
350      * version.</p>
351      */
WithGuidance(ProvisioningArtifactGuidance && value)352     inline UpdateProvisioningArtifactRequest& WithGuidance(ProvisioningArtifactGuidance&& value) { SetGuidance(std::move(value)); return *this;}
353 
354   private:
355 
356     Aws::String m_acceptLanguage;
357     bool m_acceptLanguageHasBeenSet;
358 
359     Aws::String m_productId;
360     bool m_productIdHasBeenSet;
361 
362     Aws::String m_provisioningArtifactId;
363     bool m_provisioningArtifactIdHasBeenSet;
364 
365     Aws::String m_name;
366     bool m_nameHasBeenSet;
367 
368     Aws::String m_description;
369     bool m_descriptionHasBeenSet;
370 
371     bool m_active;
372     bool m_activeHasBeenSet;
373 
374     ProvisioningArtifactGuidance m_guidance;
375     bool m_guidanceHasBeenSet;
376   };
377 
378 } // namespace Model
379 } // namespace ServiceCatalog
380 } // namespace Aws
381