/** * 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 Amazon S3 or EFS file details to be used in the * step.

See Also:

AWS * API Reference

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

Specifies the S3 details for the file being used, such as bucket, ETag, and * so forth.

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

Specifies the S3 details for the file being used, such as bucket, ETag, and * so forth.

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

Specifies the S3 details for the file being used, such as bucket, ETag, and * so forth.

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

Specifies the S3 details for the file being used, such as bucket, ETag, and * so forth.

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

Specifies the S3 details for the file being used, such as bucket, ETag, and * so forth.

*/ inline FileLocation& WithS3FileLocation(const S3FileLocation& value) { SetS3FileLocation(value); return *this;} /** *

Specifies the S3 details for the file being used, such as bucket, ETag, and * so forth.

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

Specifies the Amazon EFS identifier and the path for the file being used.

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

Specifies the Amazon EFS identifier and the path for the file being used.

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

Specifies the Amazon EFS identifier and the path for the file being used.

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

Specifies the Amazon EFS identifier and the path for the file being used.

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

Specifies the Amazon EFS identifier and the path for the file being used.

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

Specifies the Amazon EFS identifier and the path for the file being used.

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