/** * 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 Transfer { namespace Model { /** *

Specifies the location for the file that's being processed.

See * Also:

AWS * API Reference

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

Specifies the details for the Amazon S3 file that's being copied or * decrypted.

*/ inline const S3InputFileLocation& GetS3FileLocation() const{ return m_s3FileLocation; } /** *

Specifies the details for the Amazon S3 file that's being copied or * decrypted.

*/ inline bool S3FileLocationHasBeenSet() const { return m_s3FileLocationHasBeenSet; } /** *

Specifies the details for the Amazon S3 file that's being copied or * decrypted.

*/ inline void SetS3FileLocation(const S3InputFileLocation& value) { m_s3FileLocationHasBeenSet = true; m_s3FileLocation = value; } /** *

Specifies the details for the Amazon S3 file that's being copied or * decrypted.

*/ inline void SetS3FileLocation(S3InputFileLocation&& value) { m_s3FileLocationHasBeenSet = true; m_s3FileLocation = std::move(value); } /** *

Specifies the details for the Amazon S3 file that's being copied or * decrypted.

*/ inline InputFileLocation& WithS3FileLocation(const S3InputFileLocation& value) { SetS3FileLocation(value); return *this;} /** *

Specifies the details for the Amazon S3 file that's being copied or * decrypted.

*/ inline InputFileLocation& WithS3FileLocation(S3InputFileLocation&& value) { SetS3FileLocation(std::move(value)); return *this;} /** *

Specifies the details for the Amazon Elastic File System (Amazon EFS) file * that's being decrypted.

*/ inline const EfsFileLocation& GetEfsFileLocation() const{ return m_efsFileLocation; } /** *

Specifies the details for the Amazon Elastic File System (Amazon EFS) file * that's being decrypted.

*/ inline bool EfsFileLocationHasBeenSet() const { return m_efsFileLocationHasBeenSet; } /** *

Specifies the details for the Amazon Elastic File System (Amazon EFS) file * that's being decrypted.

*/ inline void SetEfsFileLocation(const EfsFileLocation& value) { m_efsFileLocationHasBeenSet = true; m_efsFileLocation = value; } /** *

Specifies the details for the Amazon Elastic File System (Amazon EFS) file * that's being decrypted.

*/ inline void SetEfsFileLocation(EfsFileLocation&& value) { m_efsFileLocationHasBeenSet = true; m_efsFileLocation = std::move(value); } /** *

Specifies the details for the Amazon Elastic File System (Amazon EFS) file * that's being decrypted.

*/ inline InputFileLocation& WithEfsFileLocation(const EfsFileLocation& value) { SetEfsFileLocation(value); return *this;} /** *

Specifies the details for the Amazon Elastic File System (Amazon EFS) file * that's being decrypted.

*/ inline InputFileLocation& WithEfsFileLocation(EfsFileLocation&& value) { SetEfsFileLocation(std::move(value)); return *this;} private: S3InputFileLocation m_s3FileLocation; bool m_s3FileLocationHasBeenSet = false; EfsFileLocation m_efsFileLocation; bool m_efsFileLocationHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws