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

Represents a data model for an API. Supported only for WebSocket APIs. See Create * Models and Mapping Templates for Request and Response * Mappings.

See Also:

AWS * API Reference

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

The content-type for the model, for example, "application/json".

*/ inline const Aws::String& GetContentType() const{ return m_contentType; } /** *

The content-type for the model, for example, "application/json".

*/ inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } /** *

The content-type for the model, for example, "application/json".

*/ inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } /** *

The content-type for the model, for example, "application/json".

*/ inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } /** *

The content-type for the model, for example, "application/json".

*/ inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } /** *

The content-type for the model, for example, "application/json".

*/ inline Model& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} /** *

The content-type for the model, for example, "application/json".

*/ inline Model& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} /** *

The content-type for the model, for example, "application/json".

*/ inline Model& WithContentType(const char* value) { SetContentType(value); return *this;} /** *

The description of the model.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the model.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the model.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the model.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the model.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the model.

*/ inline Model& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the model.

*/ inline Model& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the model.

*/ inline Model& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The model identifier.

*/ inline const Aws::String& GetModelId() const{ return m_modelId; } /** *

The model identifier.

*/ inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; } /** *

The model identifier.

*/ inline void SetModelId(const Aws::String& value) { m_modelIdHasBeenSet = true; m_modelId = value; } /** *

The model identifier.

*/ inline void SetModelId(Aws::String&& value) { m_modelIdHasBeenSet = true; m_modelId = std::move(value); } /** *

The model identifier.

*/ inline void SetModelId(const char* value) { m_modelIdHasBeenSet = true; m_modelId.assign(value); } /** *

The model identifier.

*/ inline Model& WithModelId(const Aws::String& value) { SetModelId(value); return *this;} /** *

The model identifier.

*/ inline Model& WithModelId(Aws::String&& value) { SetModelId(std::move(value)); return *this;} /** *

The model identifier.

*/ inline Model& WithModelId(const char* value) { SetModelId(value); return *this;} /** *

The name of the model. Must be alphanumeric.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the model. Must be alphanumeric.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the model. Must be alphanumeric.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the model. Must be alphanumeric.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the model. Must be alphanumeric.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the model. Must be alphanumeric.

*/ inline Model& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the model. Must be alphanumeric.

*/ inline Model& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the model. Must be alphanumeric.

*/ inline Model& WithName(const char* value) { SetName(value); return *this;} /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline const Aws::String& GetSchema() const{ return m_schema; } /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; } /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline void SetSchema(const Aws::String& value) { m_schemaHasBeenSet = true; m_schema = value; } /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline void SetSchema(Aws::String&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); } /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline void SetSchema(const char* value) { m_schemaHasBeenSet = true; m_schema.assign(value); } /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline Model& WithSchema(const Aws::String& value) { SetSchema(value); return *this;} /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline Model& WithSchema(Aws::String&& value) { SetSchema(std::move(value)); return *this;} /** *

The schema for the model. For application/json models, this should be JSON * schema draft 4 model.

*/ inline Model& WithSchema(const char* value) { SetSchema(value); return *this;} private: Aws::String m_contentType; bool m_contentTypeHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; Aws::String m_modelId; bool m_modelIdHasBeenSet; Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_schema; bool m_schemaHasBeenSet; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws