/** * 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 Redshift is being used as a * destination.

See Also:

AWS * API Reference

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

The object specified in the Amazon Redshift flow destination.

*/ inline const Aws::String& GetObject() const{ return m_object; } /** *

The object specified in the Amazon Redshift flow destination.

*/ inline bool ObjectHasBeenSet() const { return m_objectHasBeenSet; } /** *

The object specified in the Amazon Redshift flow destination.

*/ inline void SetObject(const Aws::String& value) { m_objectHasBeenSet = true; m_object = value; } /** *

The object specified in the Amazon Redshift flow destination.

*/ inline void SetObject(Aws::String&& value) { m_objectHasBeenSet = true; m_object = std::move(value); } /** *

The object specified in the Amazon Redshift flow destination.

*/ inline void SetObject(const char* value) { m_objectHasBeenSet = true; m_object.assign(value); } /** *

The object specified in the Amazon Redshift flow destination.

*/ inline RedshiftDestinationProperties& WithObject(const Aws::String& value) { SetObject(value); return *this;} /** *

The object specified in the Amazon Redshift flow destination.

*/ inline RedshiftDestinationProperties& WithObject(Aws::String&& value) { SetObject(std::move(value)); return *this;} /** *

The object specified in the Amazon Redshift flow destination.

*/ inline RedshiftDestinationProperties& WithObject(const char* value) { SetObject(value); return *this;} /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline const Aws::String& GetIntermediateBucketName() const{ return m_intermediateBucketName; } /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline bool IntermediateBucketNameHasBeenSet() const { return m_intermediateBucketNameHasBeenSet; } /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline void SetIntermediateBucketName(const Aws::String& value) { m_intermediateBucketNameHasBeenSet = true; m_intermediateBucketName = value; } /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline void SetIntermediateBucketName(Aws::String&& value) { m_intermediateBucketNameHasBeenSet = true; m_intermediateBucketName = std::move(value); } /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline void SetIntermediateBucketName(const char* value) { m_intermediateBucketNameHasBeenSet = true; m_intermediateBucketName.assign(value); } /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline RedshiftDestinationProperties& WithIntermediateBucketName(const Aws::String& value) { SetIntermediateBucketName(value); return *this;} /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline RedshiftDestinationProperties& WithIntermediateBucketName(Aws::String&& value) { SetIntermediateBucketName(std::move(value)); return *this;} /** *

The intermediate bucket that Amazon AppFlow uses when moving data into * Amazon Redshift.

*/ inline RedshiftDestinationProperties& WithIntermediateBucketName(const char* value) { SetIntermediateBucketName(value); return *this;} /** *

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

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

The object key for the bucket in which Amazon AppFlow places the destination * files.

*/ inline RedshiftDestinationProperties& WithBucketPrefix(const char* value) { SetBucketPrefix(value); return *this;} /** *

The settings that determine how Amazon AppFlow handles an error when placing * data in the Amazon Redshift destination. For example, this setting would * determine if the flow should fail after one insertion error, or continue and * attempt to insert every record regardless of the initial failure. * ErrorHandlingConfig is a part of the destination connector details. *

*/ inline const ErrorHandlingConfig& GetErrorHandlingConfig() const{ return m_errorHandlingConfig; } /** *

The settings that determine how Amazon AppFlow handles an error when placing * data in the Amazon Redshift destination. For example, this setting would * determine if the flow should fail after one insertion error, or continue and * attempt to insert every record regardless of the initial failure. * ErrorHandlingConfig is a part of the destination connector details. *

*/ inline bool ErrorHandlingConfigHasBeenSet() const { return m_errorHandlingConfigHasBeenSet; } /** *

The settings that determine how Amazon AppFlow handles an error when placing * data in the Amazon Redshift destination. For example, this setting would * determine if the flow should fail after one insertion error, or continue and * attempt to insert every record regardless of the initial failure. * ErrorHandlingConfig is a part of the destination connector details. *

*/ inline void SetErrorHandlingConfig(const ErrorHandlingConfig& value) { m_errorHandlingConfigHasBeenSet = true; m_errorHandlingConfig = value; } /** *

The settings that determine how Amazon AppFlow handles an error when placing * data in the Amazon Redshift destination. For example, this setting would * determine if the flow should fail after one insertion error, or continue and * attempt to insert every record regardless of the initial failure. * ErrorHandlingConfig is a part of the destination connector details. *

*/ inline void SetErrorHandlingConfig(ErrorHandlingConfig&& value) { m_errorHandlingConfigHasBeenSet = true; m_errorHandlingConfig = std::move(value); } /** *

The settings that determine how Amazon AppFlow handles an error when placing * data in the Amazon Redshift destination. For example, this setting would * determine if the flow should fail after one insertion error, or continue and * attempt to insert every record regardless of the initial failure. * ErrorHandlingConfig is a part of the destination connector details. *

*/ inline RedshiftDestinationProperties& WithErrorHandlingConfig(const ErrorHandlingConfig& value) { SetErrorHandlingConfig(value); return *this;} /** *

The settings that determine how Amazon AppFlow handles an error when placing * data in the Amazon Redshift destination. For example, this setting would * determine if the flow should fail after one insertion error, or continue and * attempt to insert every record regardless of the initial failure. * ErrorHandlingConfig is a part of the destination connector details. *

*/ inline RedshiftDestinationProperties& WithErrorHandlingConfig(ErrorHandlingConfig&& value) { SetErrorHandlingConfig(std::move(value)); return *this;} private: Aws::String m_object; bool m_objectHasBeenSet = false; Aws::String m_intermediateBucketName; bool m_intermediateBucketNameHasBeenSet = false; Aws::String m_bucketPrefix; bool m_bucketPrefixHasBeenSet = false; ErrorHandlingConfig m_errorHandlingConfig; bool m_errorHandlingConfigHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws