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/ProvisioningArtifactProperties.h>
11 #include <utility>
12 #include <aws/core/utils/UUID.h>
13 
14 namespace Aws
15 {
16 namespace ServiceCatalog
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_SERVICECATALOG_API CreateProvisioningArtifactRequest : public ServiceCatalogRequest
24   {
25   public:
26     CreateProvisioningArtifactRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "CreateProvisioningArtifact"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
41      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
42      * Chinese</p> </li> </ul>
43      */
GetAcceptLanguage()44     inline const Aws::String& GetAcceptLanguage() const{ return m_acceptLanguage; }
45 
46     /**
47      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
48      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
49      * Chinese</p> </li> </ul>
50      */
AcceptLanguageHasBeenSet()51     inline bool AcceptLanguageHasBeenSet() const { return m_acceptLanguageHasBeenSet; }
52 
53     /**
54      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
55      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
56      * Chinese</p> </li> </ul>
57      */
SetAcceptLanguage(const Aws::String & value)58     inline void SetAcceptLanguage(const Aws::String& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = value; }
59 
60     /**
61      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
62      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
63      * Chinese</p> </li> </ul>
64      */
SetAcceptLanguage(Aws::String && value)65     inline void SetAcceptLanguage(Aws::String&& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = std::move(value); }
66 
67     /**
68      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
69      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
70      * Chinese</p> </li> </ul>
71      */
SetAcceptLanguage(const char * value)72     inline void SetAcceptLanguage(const char* value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage.assign(value); }
73 
74     /**
75      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
76      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
77      * Chinese</p> </li> </ul>
78      */
WithAcceptLanguage(const Aws::String & value)79     inline CreateProvisioningArtifactRequest& WithAcceptLanguage(const Aws::String& value) { SetAcceptLanguage(value); return *this;}
80 
81     /**
82      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
83      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
84      * Chinese</p> </li> </ul>
85      */
WithAcceptLanguage(Aws::String && value)86     inline CreateProvisioningArtifactRequest& WithAcceptLanguage(Aws::String&& value) { SetAcceptLanguage(std::move(value)); return *this;}
87 
88     /**
89      * <p>The language code.</p> <ul> <li> <p> <code>en</code> - English (default)</p>
90      * </li> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> -
91      * Chinese</p> </li> </ul>
92      */
WithAcceptLanguage(const char * value)93     inline CreateProvisioningArtifactRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;}
94 
95 
96     /**
97      * <p>The product identifier.</p>
98      */
GetProductId()99     inline const Aws::String& GetProductId() const{ return m_productId; }
100 
101     /**
102      * <p>The product identifier.</p>
103      */
ProductIdHasBeenSet()104     inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; }
105 
106     /**
107      * <p>The product identifier.</p>
108      */
SetProductId(const Aws::String & value)109     inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; }
110 
111     /**
112      * <p>The product identifier.</p>
113      */
SetProductId(Aws::String && value)114     inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); }
115 
116     /**
117      * <p>The product identifier.</p>
118      */
SetProductId(const char * value)119     inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); }
120 
121     /**
122      * <p>The product identifier.</p>
123      */
WithProductId(const Aws::String & value)124     inline CreateProvisioningArtifactRequest& WithProductId(const Aws::String& value) { SetProductId(value); return *this;}
125 
126     /**
127      * <p>The product identifier.</p>
128      */
WithProductId(Aws::String && value)129     inline CreateProvisioningArtifactRequest& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;}
130 
131     /**
132      * <p>The product identifier.</p>
133      */
WithProductId(const char * value)134     inline CreateProvisioningArtifactRequest& WithProductId(const char* value) { SetProductId(value); return *this;}
135 
136 
137     /**
138      * <p>The configuration for the provisioning artifact.</p>
139      */
GetParameters()140     inline const ProvisioningArtifactProperties& GetParameters() const{ return m_parameters; }
141 
142     /**
143      * <p>The configuration for the provisioning artifact.</p>
144      */
ParametersHasBeenSet()145     inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
146 
147     /**
148      * <p>The configuration for the provisioning artifact.</p>
149      */
SetParameters(const ProvisioningArtifactProperties & value)150     inline void SetParameters(const ProvisioningArtifactProperties& value) { m_parametersHasBeenSet = true; m_parameters = value; }
151 
152     /**
153      * <p>The configuration for the provisioning artifact.</p>
154      */
SetParameters(ProvisioningArtifactProperties && value)155     inline void SetParameters(ProvisioningArtifactProperties&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
156 
157     /**
158      * <p>The configuration for the provisioning artifact.</p>
159      */
WithParameters(const ProvisioningArtifactProperties & value)160     inline CreateProvisioningArtifactRequest& WithParameters(const ProvisioningArtifactProperties& value) { SetParameters(value); return *this;}
161 
162     /**
163      * <p>The configuration for the provisioning artifact.</p>
164      */
WithParameters(ProvisioningArtifactProperties && value)165     inline CreateProvisioningArtifactRequest& WithParameters(ProvisioningArtifactProperties&& value) { SetParameters(std::move(value)); return *this;}
166 
167 
168     /**
169      * <p>A unique identifier that you provide to ensure idempotency. If multiple
170      * requests differ only by the idempotency token, the same response is returned for
171      * each repeated request.</p>
172      */
GetIdempotencyToken()173     inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; }
174 
175     /**
176      * <p>A unique identifier that you provide to ensure idempotency. If multiple
177      * requests differ only by the idempotency token, the same response is returned for
178      * each repeated request.</p>
179      */
IdempotencyTokenHasBeenSet()180     inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; }
181 
182     /**
183      * <p>A unique identifier that you provide to ensure idempotency. If multiple
184      * requests differ only by the idempotency token, the same response is returned for
185      * each repeated request.</p>
186      */
SetIdempotencyToken(const Aws::String & value)187     inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; }
188 
189     /**
190      * <p>A unique identifier that you provide to ensure idempotency. If multiple
191      * requests differ only by the idempotency token, the same response is returned for
192      * each repeated request.</p>
193      */
SetIdempotencyToken(Aws::String && value)194     inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); }
195 
196     /**
197      * <p>A unique identifier that you provide to ensure idempotency. If multiple
198      * requests differ only by the idempotency token, the same response is returned for
199      * each repeated request.</p>
200      */
SetIdempotencyToken(const char * value)201     inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); }
202 
203     /**
204      * <p>A unique identifier that you provide to ensure idempotency. If multiple
205      * requests differ only by the idempotency token, the same response is returned for
206      * each repeated request.</p>
207      */
WithIdempotencyToken(const Aws::String & value)208     inline CreateProvisioningArtifactRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;}
209 
210     /**
211      * <p>A unique identifier that you provide to ensure idempotency. If multiple
212      * requests differ only by the idempotency token, the same response is returned for
213      * each repeated request.</p>
214      */
WithIdempotencyToken(Aws::String && value)215     inline CreateProvisioningArtifactRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;}
216 
217     /**
218      * <p>A unique identifier that you provide to ensure idempotency. If multiple
219      * requests differ only by the idempotency token, the same response is returned for
220      * each repeated request.</p>
221      */
WithIdempotencyToken(const char * value)222     inline CreateProvisioningArtifactRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;}
223 
224   private:
225 
226     Aws::String m_acceptLanguage;
227     bool m_acceptLanguageHasBeenSet;
228 
229     Aws::String m_productId;
230     bool m_productIdHasBeenSet;
231 
232     ProvisioningArtifactProperties m_parameters;
233     bool m_parametersHasBeenSet;
234 
235     Aws::String m_idempotencyToken;
236     bool m_idempotencyTokenHasBeenSet;
237   };
238 
239 } // namespace Model
240 } // namespace ServiceCatalog
241 } // namespace Aws
242