/** * 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 can be applied to a field when connector is being used * as a destination.

See Also:

AWS * API Reference

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

Specifies if the destination field can be created by the current user.

*/ inline bool GetIsCreatable() const{ return m_isCreatable; } /** *

Specifies if the destination field can be created by the current user.

*/ inline bool IsCreatableHasBeenSet() const { return m_isCreatableHasBeenSet; } /** *

Specifies if the destination field can be created by the current user.

*/ inline void SetIsCreatable(bool value) { m_isCreatableHasBeenSet = true; m_isCreatable = value; } /** *

Specifies if the destination field can be created by the current user.

*/ inline DestinationFieldProperties& WithIsCreatable(bool value) { SetIsCreatable(value); return *this;} /** *

Specifies if the destination field can have a null value.

*/ inline bool GetIsNullable() const{ return m_isNullable; } /** *

Specifies if the destination field can have a null value.

*/ inline bool IsNullableHasBeenSet() const { return m_isNullableHasBeenSet; } /** *

Specifies if the destination field can have a null value.

*/ inline void SetIsNullable(bool value) { m_isNullableHasBeenSet = true; m_isNullable = value; } /** *

Specifies if the destination field can have a null value.

*/ inline DestinationFieldProperties& WithIsNullable(bool value) { SetIsNullable(value); return *this;} /** *

Specifies if the flow run can either insert new rows in the destination * field if they do not already exist, or update them if they do.

*/ inline bool GetIsUpsertable() const{ return m_isUpsertable; } /** *

Specifies if the flow run can either insert new rows in the destination * field if they do not already exist, or update them if they do.

*/ inline bool IsUpsertableHasBeenSet() const { return m_isUpsertableHasBeenSet; } /** *

Specifies if the flow run can either insert new rows in the destination * field if they do not already exist, or update them if they do.

*/ inline void SetIsUpsertable(bool value) { m_isUpsertableHasBeenSet = true; m_isUpsertable = value; } /** *

Specifies if the flow run can either insert new rows in the destination * field if they do not already exist, or update them if they do.

*/ inline DestinationFieldProperties& WithIsUpsertable(bool value) { SetIsUpsertable(value); return *this;} /** *

Specifies whether the field can be updated during an UPDATE or * UPSERT write operation.

*/ inline bool GetIsUpdatable() const{ return m_isUpdatable; } /** *

Specifies whether the field can be updated during an UPDATE or * UPSERT write operation.

*/ inline bool IsUpdatableHasBeenSet() const { return m_isUpdatableHasBeenSet; } /** *

Specifies whether the field can be updated during an UPDATE or * UPSERT write operation.

*/ inline void SetIsUpdatable(bool value) { m_isUpdatableHasBeenSet = true; m_isUpdatable = value; } /** *

Specifies whether the field can be updated during an UPDATE or * UPSERT write operation.

*/ inline DestinationFieldProperties& WithIsUpdatable(bool value) { SetIsUpdatable(value); return *this;} /** *

Specifies whether the field can use the default value during a Create * operation.

*/ inline bool GetIsDefaultedOnCreate() const{ return m_isDefaultedOnCreate; } /** *

Specifies whether the field can use the default value during a Create * operation.

*/ inline bool IsDefaultedOnCreateHasBeenSet() const { return m_isDefaultedOnCreateHasBeenSet; } /** *

Specifies whether the field can use the default value during a Create * operation.

*/ inline void SetIsDefaultedOnCreate(bool value) { m_isDefaultedOnCreateHasBeenSet = true; m_isDefaultedOnCreate = value; } /** *

Specifies whether the field can use the default value during a Create * operation.

*/ inline DestinationFieldProperties& WithIsDefaultedOnCreate(bool value) { SetIsDefaultedOnCreate(value); return *this;} /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline const Aws::Vector& GetSupportedWriteOperations() const{ return m_supportedWriteOperations; } /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline bool SupportedWriteOperationsHasBeenSet() const { return m_supportedWriteOperationsHasBeenSet; } /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline void SetSupportedWriteOperations(const Aws::Vector& value) { m_supportedWriteOperationsHasBeenSet = true; m_supportedWriteOperations = value; } /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline void SetSupportedWriteOperations(Aws::Vector&& value) { m_supportedWriteOperationsHasBeenSet = true; m_supportedWriteOperations = std::move(value); } /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline DestinationFieldProperties& WithSupportedWriteOperations(const Aws::Vector& value) { SetSupportedWriteOperations(value); return *this;} /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline DestinationFieldProperties& WithSupportedWriteOperations(Aws::Vector&& value) { SetSupportedWriteOperations(std::move(value)); return *this;} /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline DestinationFieldProperties& AddSupportedWriteOperations(const WriteOperationType& value) { m_supportedWriteOperationsHasBeenSet = true; m_supportedWriteOperations.push_back(value); return *this; } /** *

A list of supported write operations. For each write operation listed, this * field can be used in idFieldNames when that write operation is * present as a destination option.

*/ inline DestinationFieldProperties& AddSupportedWriteOperations(WriteOperationType&& value) { m_supportedWriteOperationsHasBeenSet = true; m_supportedWriteOperations.push_back(std::move(value)); return *this; } private: bool m_isCreatable; bool m_isCreatableHasBeenSet = false; bool m_isNullable; bool m_isNullableHasBeenSet = false; bool m_isUpsertable; bool m_isUpsertableHasBeenSet = false; bool m_isUpdatable; bool m_isUpdatableHasBeenSet = false; bool m_isDefaultedOnCreate; bool m_isDefaultedOnCreateHasBeenSet = false; Aws::Vector m_supportedWriteOperations; bool m_supportedWriteOperationsHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws