/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LakeFormation { namespace Model { /** *

A structure that contains information about a transaction.

See * Also:

AWS * API Reference

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

The ID of the transaction.

*/ inline const Aws::String& GetTransactionId() const{ return m_transactionId; } /** *

The ID of the transaction.

*/ inline bool TransactionIdHasBeenSet() const { return m_transactionIdHasBeenSet; } /** *

The ID of the transaction.

*/ inline void SetTransactionId(const Aws::String& value) { m_transactionIdHasBeenSet = true; m_transactionId = value; } /** *

The ID of the transaction.

*/ inline void SetTransactionId(Aws::String&& value) { m_transactionIdHasBeenSet = true; m_transactionId = std::move(value); } /** *

The ID of the transaction.

*/ inline void SetTransactionId(const char* value) { m_transactionIdHasBeenSet = true; m_transactionId.assign(value); } /** *

The ID of the transaction.

*/ inline TransactionDescription& WithTransactionId(const Aws::String& value) { SetTransactionId(value); return *this;} /** *

The ID of the transaction.

*/ inline TransactionDescription& WithTransactionId(Aws::String&& value) { SetTransactionId(std::move(value)); return *this;} /** *

The ID of the transaction.

*/ inline TransactionDescription& WithTransactionId(const char* value) { SetTransactionId(value); return *this;} /** *

A status of ACTIVE, COMMITTED, or ABORTED.

*/ inline const TransactionStatus& GetTransactionStatus() const{ return m_transactionStatus; } /** *

A status of ACTIVE, COMMITTED, or ABORTED.

*/ inline bool TransactionStatusHasBeenSet() const { return m_transactionStatusHasBeenSet; } /** *

A status of ACTIVE, COMMITTED, or ABORTED.

*/ inline void SetTransactionStatus(const TransactionStatus& value) { m_transactionStatusHasBeenSet = true; m_transactionStatus = value; } /** *

A status of ACTIVE, COMMITTED, or ABORTED.

*/ inline void SetTransactionStatus(TransactionStatus&& value) { m_transactionStatusHasBeenSet = true; m_transactionStatus = std::move(value); } /** *

A status of ACTIVE, COMMITTED, or ABORTED.

*/ inline TransactionDescription& WithTransactionStatus(const TransactionStatus& value) { SetTransactionStatus(value); return *this;} /** *

A status of ACTIVE, COMMITTED, or ABORTED.

*/ inline TransactionDescription& WithTransactionStatus(TransactionStatus&& value) { SetTransactionStatus(std::move(value)); return *this;} /** *

The time when the transaction started.

*/ inline const Aws::Utils::DateTime& GetTransactionStartTime() const{ return m_transactionStartTime; } /** *

The time when the transaction started.

*/ inline bool TransactionStartTimeHasBeenSet() const { return m_transactionStartTimeHasBeenSet; } /** *

The time when the transaction started.

*/ inline void SetTransactionStartTime(const Aws::Utils::DateTime& value) { m_transactionStartTimeHasBeenSet = true; m_transactionStartTime = value; } /** *

The time when the transaction started.

*/ inline void SetTransactionStartTime(Aws::Utils::DateTime&& value) { m_transactionStartTimeHasBeenSet = true; m_transactionStartTime = std::move(value); } /** *

The time when the transaction started.

*/ inline TransactionDescription& WithTransactionStartTime(const Aws::Utils::DateTime& value) { SetTransactionStartTime(value); return *this;} /** *

The time when the transaction started.

*/ inline TransactionDescription& WithTransactionStartTime(Aws::Utils::DateTime&& value) { SetTransactionStartTime(std::move(value)); return *this;} /** *

The time when the transaction committed or aborted, if it is not currently * active.

*/ inline const Aws::Utils::DateTime& GetTransactionEndTime() const{ return m_transactionEndTime; } /** *

The time when the transaction committed or aborted, if it is not currently * active.

*/ inline bool TransactionEndTimeHasBeenSet() const { return m_transactionEndTimeHasBeenSet; } /** *

The time when the transaction committed or aborted, if it is not currently * active.

*/ inline void SetTransactionEndTime(const Aws::Utils::DateTime& value) { m_transactionEndTimeHasBeenSet = true; m_transactionEndTime = value; } /** *

The time when the transaction committed or aborted, if it is not currently * active.

*/ inline void SetTransactionEndTime(Aws::Utils::DateTime&& value) { m_transactionEndTimeHasBeenSet = true; m_transactionEndTime = std::move(value); } /** *

The time when the transaction committed or aborted, if it is not currently * active.

*/ inline TransactionDescription& WithTransactionEndTime(const Aws::Utils::DateTime& value) { SetTransactionEndTime(value); return *this;} /** *

The time when the transaction committed or aborted, if it is not currently * active.

*/ inline TransactionDescription& WithTransactionEndTime(Aws::Utils::DateTime&& value) { SetTransactionEndTime(std::move(value)); return *this;} private: Aws::String m_transactionId; bool m_transactionIdHasBeenSet = false; TransactionStatus m_transactionStatus; bool m_transactionStatusHasBeenSet = false; Aws::Utils::DateTime m_transactionStartTime; bool m_transactionStartTimeHasBeenSet = false; Aws::Utils::DateTime m_transactionEndTime; bool m_transactionEndTimeHasBeenSet = false; }; } // namespace Model } // namespace LakeFormation } // namespace Aws