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

An object that references a schema stored in the Glue Schema * Registry.

See Also:

AWS * API Reference

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

A structure that contains schema identity fields. Either this or the * SchemaVersionId has to be provided.

*/ inline const SchemaId& GetSchemaId() const{ return m_schemaId; } /** *

A structure that contains schema identity fields. Either this or the * SchemaVersionId has to be provided.

*/ inline bool SchemaIdHasBeenSet() const { return m_schemaIdHasBeenSet; } /** *

A structure that contains schema identity fields. Either this or the * SchemaVersionId has to be provided.

*/ inline void SetSchemaId(const SchemaId& value) { m_schemaIdHasBeenSet = true; m_schemaId = value; } /** *

A structure that contains schema identity fields. Either this or the * SchemaVersionId has to be provided.

*/ inline void SetSchemaId(SchemaId&& value) { m_schemaIdHasBeenSet = true; m_schemaId = std::move(value); } /** *

A structure that contains schema identity fields. Either this or the * SchemaVersionId has to be provided.

*/ inline SchemaReference& WithSchemaId(const SchemaId& value) { SetSchemaId(value); return *this;} /** *

A structure that contains schema identity fields. Either this or the * SchemaVersionId has to be provided.

*/ inline SchemaReference& WithSchemaId(SchemaId&& value) { SetSchemaId(std::move(value)); return *this;} /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline const Aws::String& GetSchemaVersionId() const{ return m_schemaVersionId; } /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline bool SchemaVersionIdHasBeenSet() const { return m_schemaVersionIdHasBeenSet; } /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline void SetSchemaVersionId(const Aws::String& value) { m_schemaVersionIdHasBeenSet = true; m_schemaVersionId = value; } /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline void SetSchemaVersionId(Aws::String&& value) { m_schemaVersionIdHasBeenSet = true; m_schemaVersionId = std::move(value); } /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline void SetSchemaVersionId(const char* value) { m_schemaVersionIdHasBeenSet = true; m_schemaVersionId.assign(value); } /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline SchemaReference& WithSchemaVersionId(const Aws::String& value) { SetSchemaVersionId(value); return *this;} /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline SchemaReference& WithSchemaVersionId(Aws::String&& value) { SetSchemaVersionId(std::move(value)); return *this;} /** *

The unique ID assigned to a version of the schema. Either this or the * SchemaId has to be provided.

*/ inline SchemaReference& WithSchemaVersionId(const char* value) { SetSchemaVersionId(value); return *this;} /** *

The version number of the schema.

*/ inline long long GetSchemaVersionNumber() const{ return m_schemaVersionNumber; } /** *

The version number of the schema.

*/ inline bool SchemaVersionNumberHasBeenSet() const { return m_schemaVersionNumberHasBeenSet; } /** *

The version number of the schema.

*/ inline void SetSchemaVersionNumber(long long value) { m_schemaVersionNumberHasBeenSet = true; m_schemaVersionNumber = value; } /** *

The version number of the schema.

*/ inline SchemaReference& WithSchemaVersionNumber(long long value) { SetSchemaVersionNumber(value); return *this;} private: SchemaId m_schemaId; bool m_schemaIdHasBeenSet = false; Aws::String m_schemaVersionId; bool m_schemaVersionIdHasBeenSet = false; long long m_schemaVersionNumber; bool m_schemaVersionNumberHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws