/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
#pragma once
#include   The properties that can be applied to a field when connector is being used
   * as a destination. See Also:
   AWS
   * API Reference
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. 
 Specifies whether the field can be updated during an UPDATE or
     * UPSERT write operation. 
 Specifies whether the field can be updated during an UPDATE or
     * UPSERT write operation. 
 Specifies whether the field can be updated during an UPDATE or
     * UPSERT write operation. 
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. 
 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. 
 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. 
 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. 
 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. 
 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. 
 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. 
 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.