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

The properties that are applied when Amazon S3 is being used as the flow * source.

See Also:

AWS * API Reference

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

The Amazon S3 bucket name where the source files are stored.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline S3SourceProperties& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline S3SourceProperties& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The Amazon S3 bucket name where the source files are stored.

*/ inline S3SourceProperties& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline const Aws::String& GetBucketPrefix() const{ return m_bucketPrefix; } /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline bool BucketPrefixHasBeenSet() const { return m_bucketPrefixHasBeenSet; } /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline void SetBucketPrefix(const Aws::String& value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix = value; } /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline void SetBucketPrefix(Aws::String&& value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix = std::move(value); } /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline void SetBucketPrefix(const char* value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix.assign(value); } /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline S3SourceProperties& WithBucketPrefix(const Aws::String& value) { SetBucketPrefix(value); return *this;} /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline S3SourceProperties& WithBucketPrefix(Aws::String&& value) { SetBucketPrefix(std::move(value)); return *this;} /** *

The object key for the Amazon S3 bucket in which the source files are * stored.

*/ inline S3SourceProperties& WithBucketPrefix(const char* value) { SetBucketPrefix(value); return *this;} inline const S3InputFormatConfig& GetS3InputFormatConfig() const{ return m_s3InputFormatConfig; } inline bool S3InputFormatConfigHasBeenSet() const { return m_s3InputFormatConfigHasBeenSet; } inline void SetS3InputFormatConfig(const S3InputFormatConfig& value) { m_s3InputFormatConfigHasBeenSet = true; m_s3InputFormatConfig = value; } inline void SetS3InputFormatConfig(S3InputFormatConfig&& value) { m_s3InputFormatConfigHasBeenSet = true; m_s3InputFormatConfig = std::move(value); } inline S3SourceProperties& WithS3InputFormatConfig(const S3InputFormatConfig& value) { SetS3InputFormatConfig(value); return *this;} inline S3SourceProperties& WithS3InputFormatConfig(S3InputFormatConfig&& value) { SetS3InputFormatConfig(std::move(value)); return *this;} private: Aws::String m_bucketName; bool m_bucketNameHasBeenSet = false; Aws::String m_bucketPrefix; bool m_bucketPrefixHasBeenSet = false; S3InputFormatConfig m_s3InputFormatConfig; bool m_s3InputFormatConfigHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws