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

Describes an Amazon DynamoDB data source configuration.

See * Also:

AWS * API Reference

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

The table name.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

The table name.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

The table name.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

The table name.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

The table name.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

The table name.

*/ inline DynamodbDataSourceConfig& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The table name.

*/ inline DynamodbDataSourceConfig& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

The table name.

*/ inline DynamodbDataSourceConfig& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

The Amazon Web Services Region.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The Amazon Web Services Region.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The Amazon Web Services Region.

*/ inline DynamodbDataSourceConfig& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The Amazon Web Services Region.

*/ inline DynamodbDataSourceConfig& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region.

*/ inline DynamodbDataSourceConfig& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} /** *

Set to TRUE to use Amazon Cognito credentials with this data source.

*/ inline bool GetUseCallerCredentials() const{ return m_useCallerCredentials; } /** *

Set to TRUE to use Amazon Cognito credentials with this data source.

*/ inline bool UseCallerCredentialsHasBeenSet() const { return m_useCallerCredentialsHasBeenSet; } /** *

Set to TRUE to use Amazon Cognito credentials with this data source.

*/ inline void SetUseCallerCredentials(bool value) { m_useCallerCredentialsHasBeenSet = true; m_useCallerCredentials = value; } /** *

Set to TRUE to use Amazon Cognito credentials with this data source.

*/ inline DynamodbDataSourceConfig& WithUseCallerCredentials(bool value) { SetUseCallerCredentials(value); return *this;} /** *

The DeltaSyncConfig for a versioned data source.

*/ inline const DeltaSyncConfig& GetDeltaSyncConfig() const{ return m_deltaSyncConfig; } /** *

The DeltaSyncConfig for a versioned data source.

*/ inline bool DeltaSyncConfigHasBeenSet() const { return m_deltaSyncConfigHasBeenSet; } /** *

The DeltaSyncConfig for a versioned data source.

*/ inline void SetDeltaSyncConfig(const DeltaSyncConfig& value) { m_deltaSyncConfigHasBeenSet = true; m_deltaSyncConfig = value; } /** *

The DeltaSyncConfig for a versioned data source.

*/ inline void SetDeltaSyncConfig(DeltaSyncConfig&& value) { m_deltaSyncConfigHasBeenSet = true; m_deltaSyncConfig = std::move(value); } /** *

The DeltaSyncConfig for a versioned data source.

*/ inline DynamodbDataSourceConfig& WithDeltaSyncConfig(const DeltaSyncConfig& value) { SetDeltaSyncConfig(value); return *this;} /** *

The DeltaSyncConfig for a versioned data source.

*/ inline DynamodbDataSourceConfig& WithDeltaSyncConfig(DeltaSyncConfig&& value) { SetDeltaSyncConfig(std::move(value)); return *this;} /** *

Set to TRUE to use Conflict Detection and Resolution with this data * source.

*/ inline bool GetVersioned() const{ return m_versioned; } /** *

Set to TRUE to use Conflict Detection and Resolution with this data * source.

*/ inline bool VersionedHasBeenSet() const { return m_versionedHasBeenSet; } /** *

Set to TRUE to use Conflict Detection and Resolution with this data * source.

*/ inline void SetVersioned(bool value) { m_versionedHasBeenSet = true; m_versioned = value; } /** *

Set to TRUE to use Conflict Detection and Resolution with this data * source.

*/ inline DynamodbDataSourceConfig& WithVersioned(bool value) { SetVersioned(value); return *this;} private: Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; bool m_useCallerCredentials; bool m_useCallerCredentialsHasBeenSet = false; DeltaSyncConfig m_deltaSyncConfig; bool m_deltaSyncConfigHasBeenSet = false; bool m_versioned; bool m_versionedHasBeenSet = false; }; } // namespace Model } // namespace AppSync } // namespace Aws