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/lambda/Lambda_EXPORTS.h>
8 #include <aws/lambda/LambdaRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/lambda/model/Runtime.h>
11 #include <aws/lambda/model/FunctionCode.h>
12 #include <aws/lambda/model/VpcConfig.h>
13 #include <aws/lambda/model/PackageType.h>
14 #include <aws/lambda/model/DeadLetterConfig.h>
15 #include <aws/lambda/model/Environment.h>
16 #include <aws/lambda/model/TracingConfig.h>
17 #include <aws/core/utils/memory/stl/AWSMap.h>
18 #include <aws/core/utils/memory/stl/AWSVector.h>
19 #include <aws/lambda/model/ImageConfig.h>
20 #include <aws/lambda/model/FileSystemConfig.h>
21 #include <aws/lambda/model/Architecture.h>
22 #include <utility>
23 
24 namespace Aws
25 {
26 namespace Lambda
27 {
28 namespace Model
29 {
30 
31   /**
32    */
33   class AWS_LAMBDA_API CreateFunctionRequest : public LambdaRequest
34   {
35   public:
36     CreateFunctionRequest();
37 
38     // Service request name is the Operation name which will send this request out,
39     // each operation should has unique request name, so that we can get operation's name from this request.
40     // Note: this is not true for response, multiple operations may have the same response name,
41     // so we can not get operation's name from response.
GetServiceRequestName()42     inline virtual const char* GetServiceRequestName() const override { return "CreateFunction"; }
43 
44     Aws::String SerializePayload() const override;
45 
46 
47     /**
48      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
49      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
50      * <li> <p> <b>Function ARN</b> -
51      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
52      * </li> <li> <p> <b>Partial ARN</b> -
53      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
54      * constraint applies only to the full ARN. If you specify only the function name,
55      * it is limited to 64 characters in length.</p>
56      */
GetFunctionName()57     inline const Aws::String& GetFunctionName() const{ return m_functionName; }
58 
59     /**
60      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
61      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
62      * <li> <p> <b>Function ARN</b> -
63      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
64      * </li> <li> <p> <b>Partial ARN</b> -
65      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
66      * constraint applies only to the full ARN. If you specify only the function name,
67      * it is limited to 64 characters in length.</p>
68      */
FunctionNameHasBeenSet()69     inline bool FunctionNameHasBeenSet() const { return m_functionNameHasBeenSet; }
70 
71     /**
72      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
73      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
74      * <li> <p> <b>Function ARN</b> -
75      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
76      * </li> <li> <p> <b>Partial ARN</b> -
77      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
78      * constraint applies only to the full ARN. If you specify only the function name,
79      * it is limited to 64 characters in length.</p>
80      */
SetFunctionName(const Aws::String & value)81     inline void SetFunctionName(const Aws::String& value) { m_functionNameHasBeenSet = true; m_functionName = value; }
82 
83     /**
84      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
85      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
86      * <li> <p> <b>Function ARN</b> -
87      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
88      * </li> <li> <p> <b>Partial ARN</b> -
89      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
90      * constraint applies only to the full ARN. If you specify only the function name,
91      * it is limited to 64 characters in length.</p>
92      */
SetFunctionName(Aws::String && value)93     inline void SetFunctionName(Aws::String&& value) { m_functionNameHasBeenSet = true; m_functionName = std::move(value); }
94 
95     /**
96      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
97      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
98      * <li> <p> <b>Function ARN</b> -
99      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
100      * </li> <li> <p> <b>Partial ARN</b> -
101      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
102      * constraint applies only to the full ARN. If you specify only the function name,
103      * it is limited to 64 characters in length.</p>
104      */
SetFunctionName(const char * value)105     inline void SetFunctionName(const char* value) { m_functionNameHasBeenSet = true; m_functionName.assign(value); }
106 
107     /**
108      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
109      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
110      * <li> <p> <b>Function ARN</b> -
111      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
112      * </li> <li> <p> <b>Partial ARN</b> -
113      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
114      * constraint applies only to the full ARN. If you specify only the function name,
115      * it is limited to 64 characters in length.</p>
116      */
WithFunctionName(const Aws::String & value)117     inline CreateFunctionRequest& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;}
118 
119     /**
120      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
121      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
122      * <li> <p> <b>Function ARN</b> -
123      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
124      * </li> <li> <p> <b>Partial ARN</b> -
125      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
126      * constraint applies only to the full ARN. If you specify only the function name,
127      * it is limited to 64 characters in length.</p>
128      */
WithFunctionName(Aws::String && value)129     inline CreateFunctionRequest& WithFunctionName(Aws::String&& value) { SetFunctionName(std::move(value)); return *this;}
130 
131     /**
132      * <p>The name of the Lambda function.</p> <p class="title"> <b>Name formats</b>
133      * </p> <ul> <li> <p> <b>Function name</b> - <code>my-function</code>.</p> </li>
134      * <li> <p> <b>Function ARN</b> -
135      * <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p>
136      * </li> <li> <p> <b>Partial ARN</b> -
137      * <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length
138      * constraint applies only to the full ARN. If you specify only the function name,
139      * it is limited to 64 characters in length.</p>
140      */
WithFunctionName(const char * value)141     inline CreateFunctionRequest& WithFunctionName(const char* value) { SetFunctionName(value); return *this;}
142 
143 
144     /**
145      * <p>The identifier of the function's <a
146      * href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">runtime</a>.</p>
147      */
GetRuntime()148     inline const Runtime& GetRuntime() const{ return m_runtime; }
149 
150     /**
151      * <p>The identifier of the function's <a
152      * href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">runtime</a>.</p>
153      */
RuntimeHasBeenSet()154     inline bool RuntimeHasBeenSet() const { return m_runtimeHasBeenSet; }
155 
156     /**
157      * <p>The identifier of the function's <a
158      * href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">runtime</a>.</p>
159      */
SetRuntime(const Runtime & value)160     inline void SetRuntime(const Runtime& value) { m_runtimeHasBeenSet = true; m_runtime = value; }
161 
162     /**
163      * <p>The identifier of the function's <a
164      * href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">runtime</a>.</p>
165      */
SetRuntime(Runtime && value)166     inline void SetRuntime(Runtime&& value) { m_runtimeHasBeenSet = true; m_runtime = std::move(value); }
167 
168     /**
169      * <p>The identifier of the function's <a
170      * href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">runtime</a>.</p>
171      */
WithRuntime(const Runtime & value)172     inline CreateFunctionRequest& WithRuntime(const Runtime& value) { SetRuntime(value); return *this;}
173 
174     /**
175      * <p>The identifier of the function's <a
176      * href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html">runtime</a>.</p>
177      */
WithRuntime(Runtime && value)178     inline CreateFunctionRequest& WithRuntime(Runtime&& value) { SetRuntime(std::move(value)); return *this;}
179 
180 
181     /**
182      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
183      */
GetRole()184     inline const Aws::String& GetRole() const{ return m_role; }
185 
186     /**
187      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
188      */
RoleHasBeenSet()189     inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; }
190 
191     /**
192      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
193      */
SetRole(const Aws::String & value)194     inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; }
195 
196     /**
197      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
198      */
SetRole(Aws::String && value)199     inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); }
200 
201     /**
202      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
203      */
SetRole(const char * value)204     inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); }
205 
206     /**
207      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
208      */
WithRole(const Aws::String & value)209     inline CreateFunctionRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;}
210 
211     /**
212      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
213      */
WithRole(Aws::String && value)214     inline CreateFunctionRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;}
215 
216     /**
217      * <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
218      */
WithRole(const char * value)219     inline CreateFunctionRequest& WithRole(const char* value) { SetRole(value); return *this;}
220 
221 
222     /**
223      * <p>The name of the method within your code that Lambda calls to execute your
224      * function. The format includes the file name. It can also include namespaces and
225      * other qualifiers, depending on the runtime. For more information, see <a
226      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
227      * Model</a>.</p>
228      */
GetHandler()229     inline const Aws::String& GetHandler() const{ return m_handler; }
230 
231     /**
232      * <p>The name of the method within your code that Lambda calls to execute your
233      * function. The format includes the file name. It can also include namespaces and
234      * other qualifiers, depending on the runtime. For more information, see <a
235      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
236      * Model</a>.</p>
237      */
HandlerHasBeenSet()238     inline bool HandlerHasBeenSet() const { return m_handlerHasBeenSet; }
239 
240     /**
241      * <p>The name of the method within your code that Lambda calls to execute your
242      * function. The format includes the file name. It can also include namespaces and
243      * other qualifiers, depending on the runtime. For more information, see <a
244      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
245      * Model</a>.</p>
246      */
SetHandler(const Aws::String & value)247     inline void SetHandler(const Aws::String& value) { m_handlerHasBeenSet = true; m_handler = value; }
248 
249     /**
250      * <p>The name of the method within your code that Lambda calls to execute your
251      * function. The format includes the file name. It can also include namespaces and
252      * other qualifiers, depending on the runtime. For more information, see <a
253      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
254      * Model</a>.</p>
255      */
SetHandler(Aws::String && value)256     inline void SetHandler(Aws::String&& value) { m_handlerHasBeenSet = true; m_handler = std::move(value); }
257 
258     /**
259      * <p>The name of the method within your code that Lambda calls to execute your
260      * function. The format includes the file name. It can also include namespaces and
261      * other qualifiers, depending on the runtime. For more information, see <a
262      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
263      * Model</a>.</p>
264      */
SetHandler(const char * value)265     inline void SetHandler(const char* value) { m_handlerHasBeenSet = true; m_handler.assign(value); }
266 
267     /**
268      * <p>The name of the method within your code that Lambda calls to execute your
269      * function. The format includes the file name. It can also include namespaces and
270      * other qualifiers, depending on the runtime. For more information, see <a
271      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
272      * Model</a>.</p>
273      */
WithHandler(const Aws::String & value)274     inline CreateFunctionRequest& WithHandler(const Aws::String& value) { SetHandler(value); return *this;}
275 
276     /**
277      * <p>The name of the method within your code that Lambda calls to execute your
278      * function. The format includes the file name. It can also include namespaces and
279      * other qualifiers, depending on the runtime. For more information, see <a
280      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
281      * Model</a>.</p>
282      */
WithHandler(Aws::String && value)283     inline CreateFunctionRequest& WithHandler(Aws::String&& value) { SetHandler(std::move(value)); return *this;}
284 
285     /**
286      * <p>The name of the method within your code that Lambda calls to execute your
287      * function. The format includes the file name. It can also include namespaces and
288      * other qualifiers, depending on the runtime. For more information, see <a
289      * href="https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html">Programming
290      * Model</a>.</p>
291      */
WithHandler(const char * value)292     inline CreateFunctionRequest& WithHandler(const char* value) { SetHandler(value); return *this;}
293 
294 
295     /**
296      * <p>The code for the function.</p>
297      */
GetCode()298     inline const FunctionCode& GetCode() const{ return m_code; }
299 
300     /**
301      * <p>The code for the function.</p>
302      */
CodeHasBeenSet()303     inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; }
304 
305     /**
306      * <p>The code for the function.</p>
307      */
SetCode(const FunctionCode & value)308     inline void SetCode(const FunctionCode& value) { m_codeHasBeenSet = true; m_code = value; }
309 
310     /**
311      * <p>The code for the function.</p>
312      */
SetCode(FunctionCode && value)313     inline void SetCode(FunctionCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); }
314 
315     /**
316      * <p>The code for the function.</p>
317      */
WithCode(const FunctionCode & value)318     inline CreateFunctionRequest& WithCode(const FunctionCode& value) { SetCode(value); return *this;}
319 
320     /**
321      * <p>The code for the function.</p>
322      */
WithCode(FunctionCode && value)323     inline CreateFunctionRequest& WithCode(FunctionCode&& value) { SetCode(std::move(value)); return *this;}
324 
325 
326     /**
327      * <p>A description of the function.</p>
328      */
GetDescription()329     inline const Aws::String& GetDescription() const{ return m_description; }
330 
331     /**
332      * <p>A description of the function.</p>
333      */
DescriptionHasBeenSet()334     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
335 
336     /**
337      * <p>A description of the function.</p>
338      */
SetDescription(const Aws::String & value)339     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
340 
341     /**
342      * <p>A description of the function.</p>
343      */
SetDescription(Aws::String && value)344     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
345 
346     /**
347      * <p>A description of the function.</p>
348      */
SetDescription(const char * value)349     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
350 
351     /**
352      * <p>A description of the function.</p>
353      */
WithDescription(const Aws::String & value)354     inline CreateFunctionRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
355 
356     /**
357      * <p>A description of the function.</p>
358      */
WithDescription(Aws::String && value)359     inline CreateFunctionRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
360 
361     /**
362      * <p>A description of the function.</p>
363      */
WithDescription(const char * value)364     inline CreateFunctionRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
365 
366 
367     /**
368      * <p>The amount of time that Lambda allows a function to run before stopping it.
369      * The default is 3 seconds. The maximum allowed value is 900 seconds. For
370      * additional information, see <a
371      * href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda
372      * execution environment</a>.</p>
373      */
GetTimeout()374     inline int GetTimeout() const{ return m_timeout; }
375 
376     /**
377      * <p>The amount of time that Lambda allows a function to run before stopping it.
378      * The default is 3 seconds. The maximum allowed value is 900 seconds. For
379      * additional information, see <a
380      * href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda
381      * execution environment</a>.</p>
382      */
TimeoutHasBeenSet()383     inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
384 
385     /**
386      * <p>The amount of time that Lambda allows a function to run before stopping it.
387      * The default is 3 seconds. The maximum allowed value is 900 seconds. For
388      * additional information, see <a
389      * href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda
390      * execution environment</a>.</p>
391      */
SetTimeout(int value)392     inline void SetTimeout(int value) { m_timeoutHasBeenSet = true; m_timeout = value; }
393 
394     /**
395      * <p>The amount of time that Lambda allows a function to run before stopping it.
396      * The default is 3 seconds. The maximum allowed value is 900 seconds. For
397      * additional information, see <a
398      * href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda
399      * execution environment</a>.</p>
400      */
WithTimeout(int value)401     inline CreateFunctionRequest& WithTimeout(int value) { SetTimeout(value); return *this;}
402 
403 
404     /**
405      * <p>The amount of <a
406      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html">memory
407      * available to the function</a> at runtime. Increasing the function memory also
408      * increases its CPU allocation. The default value is 128 MB. The value can be any
409      * multiple of 1 MB.</p>
410      */
GetMemorySize()411     inline int GetMemorySize() const{ return m_memorySize; }
412 
413     /**
414      * <p>The amount of <a
415      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html">memory
416      * available to the function</a> at runtime. Increasing the function memory also
417      * increases its CPU allocation. The default value is 128 MB. The value can be any
418      * multiple of 1 MB.</p>
419      */
MemorySizeHasBeenSet()420     inline bool MemorySizeHasBeenSet() const { return m_memorySizeHasBeenSet; }
421 
422     /**
423      * <p>The amount of <a
424      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html">memory
425      * available to the function</a> at runtime. Increasing the function memory also
426      * increases its CPU allocation. The default value is 128 MB. The value can be any
427      * multiple of 1 MB.</p>
428      */
SetMemorySize(int value)429     inline void SetMemorySize(int value) { m_memorySizeHasBeenSet = true; m_memorySize = value; }
430 
431     /**
432      * <p>The amount of <a
433      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html">memory
434      * available to the function</a> at runtime. Increasing the function memory also
435      * increases its CPU allocation. The default value is 128 MB. The value can be any
436      * multiple of 1 MB.</p>
437      */
WithMemorySize(int value)438     inline CreateFunctionRequest& WithMemorySize(int value) { SetMemorySize(value); return *this;}
439 
440 
441     /**
442      * <p>Set to true to publish the first version of the function during creation.</p>
443      */
GetPublish()444     inline bool GetPublish() const{ return m_publish; }
445 
446     /**
447      * <p>Set to true to publish the first version of the function during creation.</p>
448      */
PublishHasBeenSet()449     inline bool PublishHasBeenSet() const { return m_publishHasBeenSet; }
450 
451     /**
452      * <p>Set to true to publish the first version of the function during creation.</p>
453      */
SetPublish(bool value)454     inline void SetPublish(bool value) { m_publishHasBeenSet = true; m_publish = value; }
455 
456     /**
457      * <p>Set to true to publish the first version of the function during creation.</p>
458      */
WithPublish(bool value)459     inline CreateFunctionRequest& WithPublish(bool value) { SetPublish(value); return *this;}
460 
461 
462     /**
463      * <p>For network connectivity to Amazon Web Services resources in a VPC, specify a
464      * list of security groups and subnets in the VPC. When you connect a function to a
465      * VPC, it can only access resources and the internet through that VPC. For more
466      * information, see <a
467      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">VPC
468      * Settings</a>.</p>
469      */
GetVpcConfig()470     inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; }
471 
472     /**
473      * <p>For network connectivity to Amazon Web Services resources in a VPC, specify a
474      * list of security groups and subnets in the VPC. When you connect a function to a
475      * VPC, it can only access resources and the internet through that VPC. For more
476      * information, see <a
477      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">VPC
478      * Settings</a>.</p>
479      */
VpcConfigHasBeenSet()480     inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; }
481 
482     /**
483      * <p>For network connectivity to Amazon Web Services resources in a VPC, specify a
484      * list of security groups and subnets in the VPC. When you connect a function to a
485      * VPC, it can only access resources and the internet through that VPC. For more
486      * information, see <a
487      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">VPC
488      * Settings</a>.</p>
489      */
SetVpcConfig(const VpcConfig & value)490     inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; }
491 
492     /**
493      * <p>For network connectivity to Amazon Web Services resources in a VPC, specify a
494      * list of security groups and subnets in the VPC. When you connect a function to a
495      * VPC, it can only access resources and the internet through that VPC. For more
496      * information, see <a
497      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">VPC
498      * Settings</a>.</p>
499      */
SetVpcConfig(VpcConfig && value)500     inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); }
501 
502     /**
503      * <p>For network connectivity to Amazon Web Services resources in a VPC, specify a
504      * list of security groups and subnets in the VPC. When you connect a function to a
505      * VPC, it can only access resources and the internet through that VPC. For more
506      * information, see <a
507      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">VPC
508      * Settings</a>.</p>
509      */
WithVpcConfig(const VpcConfig & value)510     inline CreateFunctionRequest& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;}
511 
512     /**
513      * <p>For network connectivity to Amazon Web Services resources in a VPC, specify a
514      * list of security groups and subnets in the VPC. When you connect a function to a
515      * VPC, it can only access resources and the internet through that VPC. For more
516      * information, see <a
517      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">VPC
518      * Settings</a>.</p>
519      */
WithVpcConfig(VpcConfig && value)520     inline CreateFunctionRequest& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;}
521 
522 
523     /**
524      * <p>The type of deployment package. Set to <code>Image</code> for container image
525      * and set <code>Zip</code> for ZIP archive.</p>
526      */
GetPackageType()527     inline const PackageType& GetPackageType() const{ return m_packageType; }
528 
529     /**
530      * <p>The type of deployment package. Set to <code>Image</code> for container image
531      * and set <code>Zip</code> for ZIP archive.</p>
532      */
PackageTypeHasBeenSet()533     inline bool PackageTypeHasBeenSet() const { return m_packageTypeHasBeenSet; }
534 
535     /**
536      * <p>The type of deployment package. Set to <code>Image</code> for container image
537      * and set <code>Zip</code> for ZIP archive.</p>
538      */
SetPackageType(const PackageType & value)539     inline void SetPackageType(const PackageType& value) { m_packageTypeHasBeenSet = true; m_packageType = value; }
540 
541     /**
542      * <p>The type of deployment package. Set to <code>Image</code> for container image
543      * and set <code>Zip</code> for ZIP archive.</p>
544      */
SetPackageType(PackageType && value)545     inline void SetPackageType(PackageType&& value) { m_packageTypeHasBeenSet = true; m_packageType = std::move(value); }
546 
547     /**
548      * <p>The type of deployment package. Set to <code>Image</code> for container image
549      * and set <code>Zip</code> for ZIP archive.</p>
550      */
WithPackageType(const PackageType & value)551     inline CreateFunctionRequest& WithPackageType(const PackageType& value) { SetPackageType(value); return *this;}
552 
553     /**
554      * <p>The type of deployment package. Set to <code>Image</code> for container image
555      * and set <code>Zip</code> for ZIP archive.</p>
556      */
WithPackageType(PackageType && value)557     inline CreateFunctionRequest& WithPackageType(PackageType&& value) { SetPackageType(std::move(value)); return *this;}
558 
559 
560     /**
561      * <p>A dead letter queue configuration that specifies the queue or topic where
562      * Lambda sends asynchronous events when they fail processing. For more
563      * information, see <a
564      * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq">Dead
565      * Letter Queues</a>.</p>
566      */
GetDeadLetterConfig()567     inline const DeadLetterConfig& GetDeadLetterConfig() const{ return m_deadLetterConfig; }
568 
569     /**
570      * <p>A dead letter queue configuration that specifies the queue or topic where
571      * Lambda sends asynchronous events when they fail processing. For more
572      * information, see <a
573      * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq">Dead
574      * Letter Queues</a>.</p>
575      */
DeadLetterConfigHasBeenSet()576     inline bool DeadLetterConfigHasBeenSet() const { return m_deadLetterConfigHasBeenSet; }
577 
578     /**
579      * <p>A dead letter queue configuration that specifies the queue or topic where
580      * Lambda sends asynchronous events when they fail processing. For more
581      * information, see <a
582      * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq">Dead
583      * Letter Queues</a>.</p>
584      */
SetDeadLetterConfig(const DeadLetterConfig & value)585     inline void SetDeadLetterConfig(const DeadLetterConfig& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = value; }
586 
587     /**
588      * <p>A dead letter queue configuration that specifies the queue or topic where
589      * Lambda sends asynchronous events when they fail processing. For more
590      * information, see <a
591      * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq">Dead
592      * Letter Queues</a>.</p>
593      */
SetDeadLetterConfig(DeadLetterConfig && value)594     inline void SetDeadLetterConfig(DeadLetterConfig&& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = std::move(value); }
595 
596     /**
597      * <p>A dead letter queue configuration that specifies the queue or topic where
598      * Lambda sends asynchronous events when they fail processing. For more
599      * information, see <a
600      * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq">Dead
601      * Letter Queues</a>.</p>
602      */
WithDeadLetterConfig(const DeadLetterConfig & value)603     inline CreateFunctionRequest& WithDeadLetterConfig(const DeadLetterConfig& value) { SetDeadLetterConfig(value); return *this;}
604 
605     /**
606      * <p>A dead letter queue configuration that specifies the queue or topic where
607      * Lambda sends asynchronous events when they fail processing. For more
608      * information, see <a
609      * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq">Dead
610      * Letter Queues</a>.</p>
611      */
WithDeadLetterConfig(DeadLetterConfig && value)612     inline CreateFunctionRequest& WithDeadLetterConfig(DeadLetterConfig&& value) { SetDeadLetterConfig(std::move(value)); return *this;}
613 
614 
615     /**
616      * <p>Environment variables that are accessible from function code during
617      * execution.</p>
618      */
GetEnvironment()619     inline const Environment& GetEnvironment() const{ return m_environment; }
620 
621     /**
622      * <p>Environment variables that are accessible from function code during
623      * execution.</p>
624      */
EnvironmentHasBeenSet()625     inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; }
626 
627     /**
628      * <p>Environment variables that are accessible from function code during
629      * execution.</p>
630      */
SetEnvironment(const Environment & value)631     inline void SetEnvironment(const Environment& value) { m_environmentHasBeenSet = true; m_environment = value; }
632 
633     /**
634      * <p>Environment variables that are accessible from function code during
635      * execution.</p>
636      */
SetEnvironment(Environment && value)637     inline void SetEnvironment(Environment&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); }
638 
639     /**
640      * <p>Environment variables that are accessible from function code during
641      * execution.</p>
642      */
WithEnvironment(const Environment & value)643     inline CreateFunctionRequest& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;}
644 
645     /**
646      * <p>Environment variables that are accessible from function code during
647      * execution.</p>
648      */
WithEnvironment(Environment && value)649     inline CreateFunctionRequest& WithEnvironment(Environment&& value) { SetEnvironment(std::move(value)); return *this;}
650 
651 
652     /**
653      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
654      * used to encrypt your function's environment variables. If it's not provided,
655      * Lambda uses a default service key.</p>
656      */
GetKMSKeyArn()657     inline const Aws::String& GetKMSKeyArn() const{ return m_kMSKeyArn; }
658 
659     /**
660      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
661      * used to encrypt your function's environment variables. If it's not provided,
662      * Lambda uses a default service key.</p>
663      */
KMSKeyArnHasBeenSet()664     inline bool KMSKeyArnHasBeenSet() const { return m_kMSKeyArnHasBeenSet; }
665 
666     /**
667      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
668      * used to encrypt your function's environment variables. If it's not provided,
669      * Lambda uses a default service key.</p>
670      */
SetKMSKeyArn(const Aws::String & value)671     inline void SetKMSKeyArn(const Aws::String& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = value; }
672 
673     /**
674      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
675      * used to encrypt your function's environment variables. If it's not provided,
676      * Lambda uses a default service key.</p>
677      */
SetKMSKeyArn(Aws::String && value)678     inline void SetKMSKeyArn(Aws::String&& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = std::move(value); }
679 
680     /**
681      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
682      * used to encrypt your function's environment variables. If it's not provided,
683      * Lambda uses a default service key.</p>
684      */
SetKMSKeyArn(const char * value)685     inline void SetKMSKeyArn(const char* value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn.assign(value); }
686 
687     /**
688      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
689      * used to encrypt your function's environment variables. If it's not provided,
690      * Lambda uses a default service key.</p>
691      */
WithKMSKeyArn(const Aws::String & value)692     inline CreateFunctionRequest& WithKMSKeyArn(const Aws::String& value) { SetKMSKeyArn(value); return *this;}
693 
694     /**
695      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
696      * used to encrypt your function's environment variables. If it's not provided,
697      * Lambda uses a default service key.</p>
698      */
WithKMSKeyArn(Aws::String && value)699     inline CreateFunctionRequest& WithKMSKeyArn(Aws::String&& value) { SetKMSKeyArn(std::move(value)); return *this;}
700 
701     /**
702      * <p>The ARN of the Amazon Web Services Key Management Service (KMS) key that's
703      * used to encrypt your function's environment variables. If it's not provided,
704      * Lambda uses a default service key.</p>
705      */
WithKMSKeyArn(const char * value)706     inline CreateFunctionRequest& WithKMSKeyArn(const char* value) { SetKMSKeyArn(value); return *this;}
707 
708 
709     /**
710      * <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
711      * incoming requests with <a
712      * href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
713      */
GetTracingConfig()714     inline const TracingConfig& GetTracingConfig() const{ return m_tracingConfig; }
715 
716     /**
717      * <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
718      * incoming requests with <a
719      * href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
720      */
TracingConfigHasBeenSet()721     inline bool TracingConfigHasBeenSet() const { return m_tracingConfigHasBeenSet; }
722 
723     /**
724      * <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
725      * incoming requests with <a
726      * href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
727      */
SetTracingConfig(const TracingConfig & value)728     inline void SetTracingConfig(const TracingConfig& value) { m_tracingConfigHasBeenSet = true; m_tracingConfig = value; }
729 
730     /**
731      * <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
732      * incoming requests with <a
733      * href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
734      */
SetTracingConfig(TracingConfig && value)735     inline void SetTracingConfig(TracingConfig&& value) { m_tracingConfigHasBeenSet = true; m_tracingConfig = std::move(value); }
736 
737     /**
738      * <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
739      * incoming requests with <a
740      * href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
741      */
WithTracingConfig(const TracingConfig & value)742     inline CreateFunctionRequest& WithTracingConfig(const TracingConfig& value) { SetTracingConfig(value); return *this;}
743 
744     /**
745      * <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of
746      * incoming requests with <a
747      * href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
748      */
WithTracingConfig(TracingConfig && value)749     inline CreateFunctionRequest& WithTracingConfig(TracingConfig&& value) { SetTracingConfig(std::move(value)); return *this;}
750 
751 
752     /**
753      * <p>A list of <a
754      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
755      * apply to the function.</p>
756      */
GetTags()757     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
758 
759     /**
760      * <p>A list of <a
761      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
762      * apply to the function.</p>
763      */
TagsHasBeenSet()764     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
765 
766     /**
767      * <p>A list of <a
768      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
769      * apply to the function.</p>
770      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)771     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
772 
773     /**
774      * <p>A list of <a
775      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
776      * apply to the function.</p>
777      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)778     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
779 
780     /**
781      * <p>A list of <a
782      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
783      * apply to the function.</p>
784      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)785     inline CreateFunctionRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
786 
787     /**
788      * <p>A list of <a
789      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
790      * apply to the function.</p>
791      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)792     inline CreateFunctionRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
793 
794     /**
795      * <p>A list of <a
796      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
797      * apply to the function.</p>
798      */
AddTags(const Aws::String & key,const Aws::String & value)799     inline CreateFunctionRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
800 
801     /**
802      * <p>A list of <a
803      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
804      * apply to the function.</p>
805      */
AddTags(Aws::String && key,const Aws::String & value)806     inline CreateFunctionRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
807 
808     /**
809      * <p>A list of <a
810      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
811      * apply to the function.</p>
812      */
AddTags(const Aws::String & key,Aws::String && value)813     inline CreateFunctionRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
814 
815     /**
816      * <p>A list of <a
817      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
818      * apply to the function.</p>
819      */
AddTags(Aws::String && key,Aws::String && value)820     inline CreateFunctionRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
821 
822     /**
823      * <p>A list of <a
824      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
825      * apply to the function.</p>
826      */
AddTags(const char * key,Aws::String && value)827     inline CreateFunctionRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
828 
829     /**
830      * <p>A list of <a
831      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
832      * apply to the function.</p>
833      */
AddTags(Aws::String && key,const char * value)834     inline CreateFunctionRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
835 
836     /**
837      * <p>A list of <a
838      * href="https://docs.aws.amazon.com/lambda/latest/dg/tagging.html">tags</a> to
839      * apply to the function.</p>
840      */
AddTags(const char * key,const char * value)841     inline CreateFunctionRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
842 
843 
844     /**
845      * <p>A list of <a
846      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
847      * layers</a> to add to the function's execution environment. Specify each layer by
848      * its ARN, including the version.</p>
849      */
GetLayers()850     inline const Aws::Vector<Aws::String>& GetLayers() const{ return m_layers; }
851 
852     /**
853      * <p>A list of <a
854      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
855      * layers</a> to add to the function's execution environment. Specify each layer by
856      * its ARN, including the version.</p>
857      */
LayersHasBeenSet()858     inline bool LayersHasBeenSet() const { return m_layersHasBeenSet; }
859 
860     /**
861      * <p>A list of <a
862      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
863      * layers</a> to add to the function's execution environment. Specify each layer by
864      * its ARN, including the version.</p>
865      */
SetLayers(const Aws::Vector<Aws::String> & value)866     inline void SetLayers(const Aws::Vector<Aws::String>& value) { m_layersHasBeenSet = true; m_layers = value; }
867 
868     /**
869      * <p>A list of <a
870      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
871      * layers</a> to add to the function's execution environment. Specify each layer by
872      * its ARN, including the version.</p>
873      */
SetLayers(Aws::Vector<Aws::String> && value)874     inline void SetLayers(Aws::Vector<Aws::String>&& value) { m_layersHasBeenSet = true; m_layers = std::move(value); }
875 
876     /**
877      * <p>A list of <a
878      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
879      * layers</a> to add to the function's execution environment. Specify each layer by
880      * its ARN, including the version.</p>
881      */
WithLayers(const Aws::Vector<Aws::String> & value)882     inline CreateFunctionRequest& WithLayers(const Aws::Vector<Aws::String>& value) { SetLayers(value); return *this;}
883 
884     /**
885      * <p>A list of <a
886      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
887      * layers</a> to add to the function's execution environment. Specify each layer by
888      * its ARN, including the version.</p>
889      */
WithLayers(Aws::Vector<Aws::String> && value)890     inline CreateFunctionRequest& WithLayers(Aws::Vector<Aws::String>&& value) { SetLayers(std::move(value)); return *this;}
891 
892     /**
893      * <p>A list of <a
894      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
895      * layers</a> to add to the function's execution environment. Specify each layer by
896      * its ARN, including the version.</p>
897      */
AddLayers(const Aws::String & value)898     inline CreateFunctionRequest& AddLayers(const Aws::String& value) { m_layersHasBeenSet = true; m_layers.push_back(value); return *this; }
899 
900     /**
901      * <p>A list of <a
902      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
903      * layers</a> to add to the function's execution environment. Specify each layer by
904      * its ARN, including the version.</p>
905      */
AddLayers(Aws::String && value)906     inline CreateFunctionRequest& AddLayers(Aws::String&& value) { m_layersHasBeenSet = true; m_layers.push_back(std::move(value)); return *this; }
907 
908     /**
909      * <p>A list of <a
910      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function
911      * layers</a> to add to the function's execution environment. Specify each layer by
912      * its ARN, including the version.</p>
913      */
AddLayers(const char * value)914     inline CreateFunctionRequest& AddLayers(const char* value) { m_layersHasBeenSet = true; m_layers.push_back(value); return *this; }
915 
916 
917     /**
918      * <p>Connection settings for an Amazon EFS file system.</p>
919      */
GetFileSystemConfigs()920     inline const Aws::Vector<FileSystemConfig>& GetFileSystemConfigs() const{ return m_fileSystemConfigs; }
921 
922     /**
923      * <p>Connection settings for an Amazon EFS file system.</p>
924      */
FileSystemConfigsHasBeenSet()925     inline bool FileSystemConfigsHasBeenSet() const { return m_fileSystemConfigsHasBeenSet; }
926 
927     /**
928      * <p>Connection settings for an Amazon EFS file system.</p>
929      */
SetFileSystemConfigs(const Aws::Vector<FileSystemConfig> & value)930     inline void SetFileSystemConfigs(const Aws::Vector<FileSystemConfig>& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs = value; }
931 
932     /**
933      * <p>Connection settings for an Amazon EFS file system.</p>
934      */
SetFileSystemConfigs(Aws::Vector<FileSystemConfig> && value)935     inline void SetFileSystemConfigs(Aws::Vector<FileSystemConfig>&& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs = std::move(value); }
936 
937     /**
938      * <p>Connection settings for an Amazon EFS file system.</p>
939      */
WithFileSystemConfigs(const Aws::Vector<FileSystemConfig> & value)940     inline CreateFunctionRequest& WithFileSystemConfigs(const Aws::Vector<FileSystemConfig>& value) { SetFileSystemConfigs(value); return *this;}
941 
942     /**
943      * <p>Connection settings for an Amazon EFS file system.</p>
944      */
WithFileSystemConfigs(Aws::Vector<FileSystemConfig> && value)945     inline CreateFunctionRequest& WithFileSystemConfigs(Aws::Vector<FileSystemConfig>&& value) { SetFileSystemConfigs(std::move(value)); return *this;}
946 
947     /**
948      * <p>Connection settings for an Amazon EFS file system.</p>
949      */
AddFileSystemConfigs(const FileSystemConfig & value)950     inline CreateFunctionRequest& AddFileSystemConfigs(const FileSystemConfig& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs.push_back(value); return *this; }
951 
952     /**
953      * <p>Connection settings for an Amazon EFS file system.</p>
954      */
AddFileSystemConfigs(FileSystemConfig && value)955     inline CreateFunctionRequest& AddFileSystemConfigs(FileSystemConfig&& value) { m_fileSystemConfigsHasBeenSet = true; m_fileSystemConfigs.push_back(std::move(value)); return *this; }
956 
957 
958     /**
959      * <p>Container image <a
960      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings">configuration
961      * values</a> that override the values in the container image Dockerfile.</p>
962      */
GetImageConfig()963     inline const ImageConfig& GetImageConfig() const{ return m_imageConfig; }
964 
965     /**
966      * <p>Container image <a
967      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings">configuration
968      * values</a> that override the values in the container image Dockerfile.</p>
969      */
ImageConfigHasBeenSet()970     inline bool ImageConfigHasBeenSet() const { return m_imageConfigHasBeenSet; }
971 
972     /**
973      * <p>Container image <a
974      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings">configuration
975      * values</a> that override the values in the container image Dockerfile.</p>
976      */
SetImageConfig(const ImageConfig & value)977     inline void SetImageConfig(const ImageConfig& value) { m_imageConfigHasBeenSet = true; m_imageConfig = value; }
978 
979     /**
980      * <p>Container image <a
981      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings">configuration
982      * values</a> that override the values in the container image Dockerfile.</p>
983      */
SetImageConfig(ImageConfig && value)984     inline void SetImageConfig(ImageConfig&& value) { m_imageConfigHasBeenSet = true; m_imageConfig = std::move(value); }
985 
986     /**
987      * <p>Container image <a
988      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings">configuration
989      * values</a> that override the values in the container image Dockerfile.</p>
990      */
WithImageConfig(const ImageConfig & value)991     inline CreateFunctionRequest& WithImageConfig(const ImageConfig& value) { SetImageConfig(value); return *this;}
992 
993     /**
994      * <p>Container image <a
995      * href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings">configuration
996      * values</a> that override the values in the container image Dockerfile.</p>
997      */
WithImageConfig(ImageConfig && value)998     inline CreateFunctionRequest& WithImageConfig(ImageConfig&& value) { SetImageConfig(std::move(value)); return *this;}
999 
1000 
1001     /**
1002      * <p>To enable code signing for this function, specify the ARN of a code-signing
1003      * configuration. A code-signing configuration includes a set of signing profiles,
1004      * which define the trusted publishers for this function.</p>
1005      */
GetCodeSigningConfigArn()1006     inline const Aws::String& GetCodeSigningConfigArn() const{ return m_codeSigningConfigArn; }
1007 
1008     /**
1009      * <p>To enable code signing for this function, specify the ARN of a code-signing
1010      * configuration. A code-signing configuration includes a set of signing profiles,
1011      * which define the trusted publishers for this function.</p>
1012      */
CodeSigningConfigArnHasBeenSet()1013     inline bool CodeSigningConfigArnHasBeenSet() const { return m_codeSigningConfigArnHasBeenSet; }
1014 
1015     /**
1016      * <p>To enable code signing for this function, specify the ARN of a code-signing
1017      * configuration. A code-signing configuration includes a set of signing profiles,
1018      * which define the trusted publishers for this function.</p>
1019      */
SetCodeSigningConfigArn(const Aws::String & value)1020     inline void SetCodeSigningConfigArn(const Aws::String& value) { m_codeSigningConfigArnHasBeenSet = true; m_codeSigningConfigArn = value; }
1021 
1022     /**
1023      * <p>To enable code signing for this function, specify the ARN of a code-signing
1024      * configuration. A code-signing configuration includes a set of signing profiles,
1025      * which define the trusted publishers for this function.</p>
1026      */
SetCodeSigningConfigArn(Aws::String && value)1027     inline void SetCodeSigningConfigArn(Aws::String&& value) { m_codeSigningConfigArnHasBeenSet = true; m_codeSigningConfigArn = std::move(value); }
1028 
1029     /**
1030      * <p>To enable code signing for this function, specify the ARN of a code-signing
1031      * configuration. A code-signing configuration includes a set of signing profiles,
1032      * which define the trusted publishers for this function.</p>
1033      */
SetCodeSigningConfigArn(const char * value)1034     inline void SetCodeSigningConfigArn(const char* value) { m_codeSigningConfigArnHasBeenSet = true; m_codeSigningConfigArn.assign(value); }
1035 
1036     /**
1037      * <p>To enable code signing for this function, specify the ARN of a code-signing
1038      * configuration. A code-signing configuration includes a set of signing profiles,
1039      * which define the trusted publishers for this function.</p>
1040      */
WithCodeSigningConfigArn(const Aws::String & value)1041     inline CreateFunctionRequest& WithCodeSigningConfigArn(const Aws::String& value) { SetCodeSigningConfigArn(value); return *this;}
1042 
1043     /**
1044      * <p>To enable code signing for this function, specify the ARN of a code-signing
1045      * configuration. A code-signing configuration includes a set of signing profiles,
1046      * which define the trusted publishers for this function.</p>
1047      */
WithCodeSigningConfigArn(Aws::String && value)1048     inline CreateFunctionRequest& WithCodeSigningConfigArn(Aws::String&& value) { SetCodeSigningConfigArn(std::move(value)); return *this;}
1049 
1050     /**
1051      * <p>To enable code signing for this function, specify the ARN of a code-signing
1052      * configuration. A code-signing configuration includes a set of signing profiles,
1053      * which define the trusted publishers for this function.</p>
1054      */
WithCodeSigningConfigArn(const char * value)1055     inline CreateFunctionRequest& WithCodeSigningConfigArn(const char* value) { SetCodeSigningConfigArn(value); return *this;}
1056 
1057 
1058     /**
1059      * <p>The instruction set architecture that the function supports. Enter a string
1060      * array with one of the valid values. The default value is
1061      * <code>x86_64</code>.</p>
1062      */
GetArchitectures()1063     inline const Aws::Vector<Architecture>& GetArchitectures() const{ return m_architectures; }
1064 
1065     /**
1066      * <p>The instruction set architecture that the function supports. Enter a string
1067      * array with one of the valid values. The default value is
1068      * <code>x86_64</code>.</p>
1069      */
ArchitecturesHasBeenSet()1070     inline bool ArchitecturesHasBeenSet() const { return m_architecturesHasBeenSet; }
1071 
1072     /**
1073      * <p>The instruction set architecture that the function supports. Enter a string
1074      * array with one of the valid values. The default value is
1075      * <code>x86_64</code>.</p>
1076      */
SetArchitectures(const Aws::Vector<Architecture> & value)1077     inline void SetArchitectures(const Aws::Vector<Architecture>& value) { m_architecturesHasBeenSet = true; m_architectures = value; }
1078 
1079     /**
1080      * <p>The instruction set architecture that the function supports. Enter a string
1081      * array with one of the valid values. The default value is
1082      * <code>x86_64</code>.</p>
1083      */
SetArchitectures(Aws::Vector<Architecture> && value)1084     inline void SetArchitectures(Aws::Vector<Architecture>&& value) { m_architecturesHasBeenSet = true; m_architectures = std::move(value); }
1085 
1086     /**
1087      * <p>The instruction set architecture that the function supports. Enter a string
1088      * array with one of the valid values. The default value is
1089      * <code>x86_64</code>.</p>
1090      */
WithArchitectures(const Aws::Vector<Architecture> & value)1091     inline CreateFunctionRequest& WithArchitectures(const Aws::Vector<Architecture>& value) { SetArchitectures(value); return *this;}
1092 
1093     /**
1094      * <p>The instruction set architecture that the function supports. Enter a string
1095      * array with one of the valid values. The default value is
1096      * <code>x86_64</code>.</p>
1097      */
WithArchitectures(Aws::Vector<Architecture> && value)1098     inline CreateFunctionRequest& WithArchitectures(Aws::Vector<Architecture>&& value) { SetArchitectures(std::move(value)); return *this;}
1099 
1100     /**
1101      * <p>The instruction set architecture that the function supports. Enter a string
1102      * array with one of the valid values. The default value is
1103      * <code>x86_64</code>.</p>
1104      */
AddArchitectures(const Architecture & value)1105     inline CreateFunctionRequest& AddArchitectures(const Architecture& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(value); return *this; }
1106 
1107     /**
1108      * <p>The instruction set architecture that the function supports. Enter a string
1109      * array with one of the valid values. The default value is
1110      * <code>x86_64</code>.</p>
1111      */
AddArchitectures(Architecture && value)1112     inline CreateFunctionRequest& AddArchitectures(Architecture&& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(std::move(value)); return *this; }
1113 
1114   private:
1115 
1116     Aws::String m_functionName;
1117     bool m_functionNameHasBeenSet;
1118 
1119     Runtime m_runtime;
1120     bool m_runtimeHasBeenSet;
1121 
1122     Aws::String m_role;
1123     bool m_roleHasBeenSet;
1124 
1125     Aws::String m_handler;
1126     bool m_handlerHasBeenSet;
1127 
1128     FunctionCode m_code;
1129     bool m_codeHasBeenSet;
1130 
1131     Aws::String m_description;
1132     bool m_descriptionHasBeenSet;
1133 
1134     int m_timeout;
1135     bool m_timeoutHasBeenSet;
1136 
1137     int m_memorySize;
1138     bool m_memorySizeHasBeenSet;
1139 
1140     bool m_publish;
1141     bool m_publishHasBeenSet;
1142 
1143     VpcConfig m_vpcConfig;
1144     bool m_vpcConfigHasBeenSet;
1145 
1146     PackageType m_packageType;
1147     bool m_packageTypeHasBeenSet;
1148 
1149     DeadLetterConfig m_deadLetterConfig;
1150     bool m_deadLetterConfigHasBeenSet;
1151 
1152     Environment m_environment;
1153     bool m_environmentHasBeenSet;
1154 
1155     Aws::String m_kMSKeyArn;
1156     bool m_kMSKeyArnHasBeenSet;
1157 
1158     TracingConfig m_tracingConfig;
1159     bool m_tracingConfigHasBeenSet;
1160 
1161     Aws::Map<Aws::String, Aws::String> m_tags;
1162     bool m_tagsHasBeenSet;
1163 
1164     Aws::Vector<Aws::String> m_layers;
1165     bool m_layersHasBeenSet;
1166 
1167     Aws::Vector<FileSystemConfig> m_fileSystemConfigs;
1168     bool m_fileSystemConfigsHasBeenSet;
1169 
1170     ImageConfig m_imageConfig;
1171     bool m_imageConfigHasBeenSet;
1172 
1173     Aws::String m_codeSigningConfigArn;
1174     bool m_codeSigningConfigArnHasBeenSet;
1175 
1176     Aws::Vector<Architecture> m_architectures;
1177     bool m_architecturesHasBeenSet;
1178   };
1179 
1180 } // namespace Model
1181 } // namespace Lambda
1182 } // namespace Aws
1183