/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lambda { namespace Model { /** *

The code for the Lambda function. You can either specify an object in Amazon * S3, upload a .zip file archive deployment package directly, or specify the URI * of a container image.

See Also:

AWS * API Reference

*/ class FunctionCode { public: AWS_LAMBDA_API FunctionCode(); AWS_LAMBDA_API FunctionCode(Aws::Utils::Json::JsonView jsonValue); AWS_LAMBDA_API FunctionCode& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The base64-encoded contents of the deployment package. Amazon Web Services * SDK and CLI clients handle the encoding for you.

*/ inline const Aws::Utils::CryptoBuffer& GetZipFile() const{ return m_zipFile; } /** *

The base64-encoded contents of the deployment package. Amazon Web Services * SDK and CLI clients handle the encoding for you.

*/ inline bool ZipFileHasBeenSet() const { return m_zipFileHasBeenSet; } /** *

The base64-encoded contents of the deployment package. Amazon Web Services * SDK and CLI clients handle the encoding for you.

*/ inline void SetZipFile(const Aws::Utils::CryptoBuffer& value) { m_zipFileHasBeenSet = true; m_zipFile = value; } /** *

The base64-encoded contents of the deployment package. Amazon Web Services * SDK and CLI clients handle the encoding for you.

*/ inline void SetZipFile(Aws::Utils::CryptoBuffer&& value) { m_zipFileHasBeenSet = true; m_zipFile = std::move(value); } /** *

The base64-encoded contents of the deployment package. Amazon Web Services * SDK and CLI clients handle the encoding for you.

*/ inline FunctionCode& WithZipFile(const Aws::Utils::CryptoBuffer& value) { SetZipFile(value); return *this;} /** *

The base64-encoded contents of the deployment package. Amazon Web Services * SDK and CLI clients handle the encoding for you.

*/ inline FunctionCode& WithZipFile(Aws::Utils::CryptoBuffer&& value) { SetZipFile(std::move(value)); return *this;} /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline FunctionCode& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline FunctionCode& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} /** *

An Amazon S3 bucket in the same Amazon Web Services Region as your function. * The bucket can be in a different Amazon Web Services account.

*/ inline FunctionCode& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} /** *

The Amazon S3 key of the deployment package.

*/ inline const Aws::String& GetS3Key() const{ return m_s3Key; } /** *

The Amazon S3 key of the deployment package.

*/ inline bool S3KeyHasBeenSet() const { return m_s3KeyHasBeenSet; } /** *

The Amazon S3 key of the deployment package.

*/ inline void SetS3Key(const Aws::String& value) { m_s3KeyHasBeenSet = true; m_s3Key = value; } /** *

The Amazon S3 key of the deployment package.

*/ inline void SetS3Key(Aws::String&& value) { m_s3KeyHasBeenSet = true; m_s3Key = std::move(value); } /** *

The Amazon S3 key of the deployment package.

*/ inline void SetS3Key(const char* value) { m_s3KeyHasBeenSet = true; m_s3Key.assign(value); } /** *

The Amazon S3 key of the deployment package.

*/ inline FunctionCode& WithS3Key(const Aws::String& value) { SetS3Key(value); return *this;} /** *

The Amazon S3 key of the deployment package.

*/ inline FunctionCode& WithS3Key(Aws::String&& value) { SetS3Key(std::move(value)); return *this;} /** *

The Amazon S3 key of the deployment package.

*/ inline FunctionCode& WithS3Key(const char* value) { SetS3Key(value); return *this;} /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline const Aws::String& GetS3ObjectVersion() const{ return m_s3ObjectVersion; } /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline bool S3ObjectVersionHasBeenSet() const { return m_s3ObjectVersionHasBeenSet; } /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline void SetS3ObjectVersion(const Aws::String& value) { m_s3ObjectVersionHasBeenSet = true; m_s3ObjectVersion = value; } /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline void SetS3ObjectVersion(Aws::String&& value) { m_s3ObjectVersionHasBeenSet = true; m_s3ObjectVersion = std::move(value); } /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline void SetS3ObjectVersion(const char* value) { m_s3ObjectVersionHasBeenSet = true; m_s3ObjectVersion.assign(value); } /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline FunctionCode& WithS3ObjectVersion(const Aws::String& value) { SetS3ObjectVersion(value); return *this;} /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline FunctionCode& WithS3ObjectVersion(Aws::String&& value) { SetS3ObjectVersion(std::move(value)); return *this;} /** *

For versioned objects, the version of the deployment package object to * use.

*/ inline FunctionCode& WithS3ObjectVersion(const char* value) { SetS3ObjectVersion(value); return *this;} /** *

URI of a container * image in the Amazon ECR registry.

*/ inline const Aws::String& GetImageUri() const{ return m_imageUri; } /** *

URI of a container * image in the Amazon ECR registry.

*/ inline bool ImageUriHasBeenSet() const { return m_imageUriHasBeenSet; } /** *

URI of a container * image in the Amazon ECR registry.

*/ inline void SetImageUri(const Aws::String& value) { m_imageUriHasBeenSet = true; m_imageUri = value; } /** *

URI of a container * image in the Amazon ECR registry.

*/ inline void SetImageUri(Aws::String&& value) { m_imageUriHasBeenSet = true; m_imageUri = std::move(value); } /** *

URI of a container * image in the Amazon ECR registry.

*/ inline void SetImageUri(const char* value) { m_imageUriHasBeenSet = true; m_imageUri.assign(value); } /** *

URI of a container * image in the Amazon ECR registry.

*/ inline FunctionCode& WithImageUri(const Aws::String& value) { SetImageUri(value); return *this;} /** *

URI of a container * image in the Amazon ECR registry.

*/ inline FunctionCode& WithImageUri(Aws::String&& value) { SetImageUri(std::move(value)); return *this;} /** *

URI of a container * image in the Amazon ECR registry.

*/ inline FunctionCode& WithImageUri(const char* value) { SetImageUri(value); return *this;} private: Aws::Utils::CryptoBuffer m_zipFile; bool m_zipFileHasBeenSet = false; Aws::String m_s3Bucket; bool m_s3BucketHasBeenSet = false; Aws::String m_s3Key; bool m_s3KeyHasBeenSet = false; Aws::String m_s3ObjectVersion; bool m_s3ObjectVersionHasBeenSet = false; Aws::String m_imageUri; bool m_imageUriHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws