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

The Athena engine version for running queries, or the PySpark engine version * for running sessions.

See Also:

AWS * API Reference

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

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline const Aws::String& GetSelectedEngineVersion() const{ return m_selectedEngineVersion; } /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline bool SelectedEngineVersionHasBeenSet() const { return m_selectedEngineVersionHasBeenSet; } /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline void SetSelectedEngineVersion(const Aws::String& value) { m_selectedEngineVersionHasBeenSet = true; m_selectedEngineVersion = value; } /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline void SetSelectedEngineVersion(Aws::String&& value) { m_selectedEngineVersionHasBeenSet = true; m_selectedEngineVersion = std::move(value); } /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline void SetSelectedEngineVersion(const char* value) { m_selectedEngineVersionHasBeenSet = true; m_selectedEngineVersion.assign(value); } /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline EngineVersion& WithSelectedEngineVersion(const Aws::String& value) { SetSelectedEngineVersion(value); return *this;} /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline EngineVersion& WithSelectedEngineVersion(Aws::String&& value) { SetSelectedEngineVersion(std::move(value)); return *this;} /** *

The engine version requested by the user. Possible values are determined by * the output of ListEngineVersions, including AUTO. The default is * AUTO.

*/ inline EngineVersion& WithSelectedEngineVersion(const char* value) { SetSelectedEngineVersion(value); return *this;} /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline const Aws::String& GetEffectiveEngineVersion() const{ return m_effectiveEngineVersion; } /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline bool EffectiveEngineVersionHasBeenSet() const { return m_effectiveEngineVersionHasBeenSet; } /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline void SetEffectiveEngineVersion(const Aws::String& value) { m_effectiveEngineVersionHasBeenSet = true; m_effectiveEngineVersion = value; } /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline void SetEffectiveEngineVersion(Aws::String&& value) { m_effectiveEngineVersionHasBeenSet = true; m_effectiveEngineVersion = std::move(value); } /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline void SetEffectiveEngineVersion(const char* value) { m_effectiveEngineVersionHasBeenSet = true; m_effectiveEngineVersion.assign(value); } /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline EngineVersion& WithEffectiveEngineVersion(const Aws::String& value) { SetEffectiveEngineVersion(value); return *this;} /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline EngineVersion& WithEffectiveEngineVersion(Aws::String&& value) { SetEffectiveEngineVersion(std::move(value)); return *this;} /** *

Read only. The engine version on which the query runs. If the user requests a * valid engine version other than Auto, the effective engine version is the same * as the engine version that the user requested. If the user requests Auto, the * effective engine version is chosen by Athena. When a request to update the * engine version is made by a CreateWorkGroup or * UpdateWorkGroup operation, the EffectiveEngineVersion * field is ignored.

*/ inline EngineVersion& WithEffectiveEngineVersion(const char* value) { SetEffectiveEngineVersion(value); return *this;} private: Aws::String m_selectedEngineVersion; bool m_selectedEngineVersionHasBeenSet = false; Aws::String m_effectiveEngineVersion; bool m_effectiveEngineVersionHasBeenSet = false; }; } // namespace Model } // namespace Athena } // namespace Aws