/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace FinSpaceData { namespace Model { /** * Request for creating a data view.

See Also:

AWS * API Reference

*/ class CreateDataViewRequest : public FinSpaceDataRequest { public: AWS_FINSPACEDATA_API CreateDataViewRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDataView"; } AWS_FINSPACEDATA_API Aws::String SerializePayload() const override; /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateDataViewRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateDataViewRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateDataViewRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline const Aws::String& GetDatasetId() const{ return m_datasetId; } /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline bool DatasetIdHasBeenSet() const { return m_datasetIdHasBeenSet; } /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline void SetDatasetId(const Aws::String& value) { m_datasetIdHasBeenSet = true; m_datasetId = value; } /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline void SetDatasetId(Aws::String&& value) { m_datasetIdHasBeenSet = true; m_datasetId = std::move(value); } /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline void SetDatasetId(const char* value) { m_datasetIdHasBeenSet = true; m_datasetId.assign(value); } /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline CreateDataViewRequest& WithDatasetId(const Aws::String& value) { SetDatasetId(value); return *this;} /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline CreateDataViewRequest& WithDatasetId(Aws::String&& value) { SetDatasetId(std::move(value)); return *this;} /** *

The unique Dataset identifier that is used to create a Dataview.

*/ inline CreateDataViewRequest& WithDatasetId(const char* value) { SetDatasetId(value); return *this;} /** *

Flag to indicate Dataview should be updated automatically.

*/ inline bool GetAutoUpdate() const{ return m_autoUpdate; } /** *

Flag to indicate Dataview should be updated automatically.

*/ inline bool AutoUpdateHasBeenSet() const { return m_autoUpdateHasBeenSet; } /** *

Flag to indicate Dataview should be updated automatically.

*/ inline void SetAutoUpdate(bool value) { m_autoUpdateHasBeenSet = true; m_autoUpdate = value; } /** *

Flag to indicate Dataview should be updated automatically.

*/ inline CreateDataViewRequest& WithAutoUpdate(bool value) { SetAutoUpdate(value); return *this;} /** *

Columns to be used for sorting the data.

*/ inline const Aws::Vector& GetSortColumns() const{ return m_sortColumns; } /** *

Columns to be used for sorting the data.

*/ inline bool SortColumnsHasBeenSet() const { return m_sortColumnsHasBeenSet; } /** *

Columns to be used for sorting the data.

*/ inline void SetSortColumns(const Aws::Vector& value) { m_sortColumnsHasBeenSet = true; m_sortColumns = value; } /** *

Columns to be used for sorting the data.

*/ inline void SetSortColumns(Aws::Vector&& value) { m_sortColumnsHasBeenSet = true; m_sortColumns = std::move(value); } /** *

Columns to be used for sorting the data.

*/ inline CreateDataViewRequest& WithSortColumns(const Aws::Vector& value) { SetSortColumns(value); return *this;} /** *

Columns to be used for sorting the data.

*/ inline CreateDataViewRequest& WithSortColumns(Aws::Vector&& value) { SetSortColumns(std::move(value)); return *this;} /** *

Columns to be used for sorting the data.

*/ inline CreateDataViewRequest& AddSortColumns(const Aws::String& value) { m_sortColumnsHasBeenSet = true; m_sortColumns.push_back(value); return *this; } /** *

Columns to be used for sorting the data.

*/ inline CreateDataViewRequest& AddSortColumns(Aws::String&& value) { m_sortColumnsHasBeenSet = true; m_sortColumns.push_back(std::move(value)); return *this; } /** *

Columns to be used for sorting the data.

*/ inline CreateDataViewRequest& AddSortColumns(const char* value) { m_sortColumnsHasBeenSet = true; m_sortColumns.push_back(value); return *this; } /** *

Ordered set of column names used to partition data.

*/ inline const Aws::Vector& GetPartitionColumns() const{ return m_partitionColumns; } /** *

Ordered set of column names used to partition data.

*/ inline bool PartitionColumnsHasBeenSet() const { return m_partitionColumnsHasBeenSet; } /** *

Ordered set of column names used to partition data.

*/ inline void SetPartitionColumns(const Aws::Vector& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns = value; } /** *

Ordered set of column names used to partition data.

*/ inline void SetPartitionColumns(Aws::Vector&& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns = std::move(value); } /** *

Ordered set of column names used to partition data.

*/ inline CreateDataViewRequest& WithPartitionColumns(const Aws::Vector& value) { SetPartitionColumns(value); return *this;} /** *

Ordered set of column names used to partition data.

*/ inline CreateDataViewRequest& WithPartitionColumns(Aws::Vector&& value) { SetPartitionColumns(std::move(value)); return *this;} /** *

Ordered set of column names used to partition data.

*/ inline CreateDataViewRequest& AddPartitionColumns(const Aws::String& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns.push_back(value); return *this; } /** *

Ordered set of column names used to partition data.

*/ inline CreateDataViewRequest& AddPartitionColumns(Aws::String&& value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns.push_back(std::move(value)); return *this; } /** *

Ordered set of column names used to partition data.

*/ inline CreateDataViewRequest& AddPartitionColumns(const char* value) { m_partitionColumnsHasBeenSet = true; m_partitionColumns.push_back(value); return *this; } /** *

Beginning time to use for the Dataview. The value is determined as epoch time * in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM * UTC is specified as 1635768000000.

*/ inline long long GetAsOfTimestamp() const{ return m_asOfTimestamp; } /** *

Beginning time to use for the Dataview. The value is determined as epoch time * in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM * UTC is specified as 1635768000000.

*/ inline bool AsOfTimestampHasBeenSet() const { return m_asOfTimestampHasBeenSet; } /** *

Beginning time to use for the Dataview. The value is determined as epoch time * in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM * UTC is specified as 1635768000000.

*/ inline void SetAsOfTimestamp(long long value) { m_asOfTimestampHasBeenSet = true; m_asOfTimestamp = value; } /** *

Beginning time to use for the Dataview. The value is determined as epoch time * in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM * UTC is specified as 1635768000000.

*/ inline CreateDataViewRequest& WithAsOfTimestamp(long long value) { SetAsOfTimestamp(value); return *this;} /** *

Options that define the destination type for the Dataview.

*/ inline const DataViewDestinationTypeParams& GetDestinationTypeParams() const{ return m_destinationTypeParams; } /** *

Options that define the destination type for the Dataview.

*/ inline bool DestinationTypeParamsHasBeenSet() const { return m_destinationTypeParamsHasBeenSet; } /** *

Options that define the destination type for the Dataview.

*/ inline void SetDestinationTypeParams(const DataViewDestinationTypeParams& value) { m_destinationTypeParamsHasBeenSet = true; m_destinationTypeParams = value; } /** *

Options that define the destination type for the Dataview.

*/ inline void SetDestinationTypeParams(DataViewDestinationTypeParams&& value) { m_destinationTypeParamsHasBeenSet = true; m_destinationTypeParams = std::move(value); } /** *

Options that define the destination type for the Dataview.

*/ inline CreateDataViewRequest& WithDestinationTypeParams(const DataViewDestinationTypeParams& value) { SetDestinationTypeParams(value); return *this;} /** *

Options that define the destination type for the Dataview.

*/ inline CreateDataViewRequest& WithDestinationTypeParams(DataViewDestinationTypeParams&& value) { SetDestinationTypeParams(std::move(value)); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_datasetId; bool m_datasetIdHasBeenSet = false; bool m_autoUpdate; bool m_autoUpdateHasBeenSet = false; Aws::Vector m_sortColumns; bool m_sortColumnsHasBeenSet = false; Aws::Vector m_partitionColumns; bool m_partitionColumnsHasBeenSet = false; long long m_asOfTimestamp; bool m_asOfTimestampHasBeenSet = false; DataViewDestinationTypeParams m_destinationTypeParams; bool m_destinationTypeParamsHasBeenSet = false; }; } // namespace Model } // namespace FinSpaceData } // namespace Aws