/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/apigatewayv2/ApiGatewayV2_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ApiGatewayV2 { namespace Model { /** * <p>Represents a data model for an API. Supported only for WebSocket APIs. See <a * href="https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html">Create * Models and Mapping Templates for Request and Response * Mappings</a>.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/Model">AWS * API Reference</a></p> */ class Model { public: AWS_APIGATEWAYV2_API Model(); AWS_APIGATEWAYV2_API Model(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAYV2_API Model& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAYV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>The content-type for the model, for example, "application/json".</p> */ inline const Aws::String& GetContentType() const{ return m_contentType; } /** * <p>The content-type for the model, for example, "application/json".</p> */ inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } /** * <p>The content-type for the model, for example, "application/json".</p> */ inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } /** * <p>The content-type for the model, for example, "application/json".</p> */ inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } /** * <p>The content-type for the model, for example, "application/json".</p> */ inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } /** * <p>The content-type for the model, for example, "application/json".</p> */ inline Model& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} /** * <p>The content-type for the model, for example, "application/json".</p> */ inline Model& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} /** * <p>The content-type for the model, for example, "application/json".</p> */ inline Model& WithContentType(const char* value) { SetContentType(value); return *this;} /** * <p>The description of the model.</p> */ inline const Aws::String& GetDescription() const{ return m_description; } /** * <p>The description of the model.</p> */ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** * <p>The description of the model.</p> */ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** * <p>The description of the model.</p> */ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** * <p>The description of the model.</p> */ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** * <p>The description of the model.</p> */ inline Model& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** * <p>The description of the model.</p> */ inline Model& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** * <p>The description of the model.</p> */ inline Model& WithDescription(const char* value) { SetDescription(value); return *this;} /** * <p>The model identifier.</p> */ inline const Aws::String& GetModelId() const{ return m_modelId; } /** * <p>The model identifier.</p> */ inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; } /** * <p>The model identifier.</p> */ inline void SetModelId(const Aws::String& value) { m_modelIdHasBeenSet = true; m_modelId = value; } /** * <p>The model identifier.</p> */ inline void SetModelId(Aws::String&& value) { m_modelIdHasBeenSet = true; m_modelId = std::move(value); } /** * <p>The model identifier.</p> */ inline void SetModelId(const char* value) { m_modelIdHasBeenSet = true; m_modelId.assign(value); } /** * <p>The model identifier.</p> */ inline Model& WithModelId(const Aws::String& value) { SetModelId(value); return *this;} /** * <p>The model identifier.</p> */ inline Model& WithModelId(Aws::String&& value) { SetModelId(std::move(value)); return *this;} /** * <p>The model identifier.</p> */ inline Model& WithModelId(const char* value) { SetModelId(value); return *this;} /** * <p>The name of the model. Must be alphanumeric.</p> */ inline const Aws::String& GetName() const{ return m_name; } /** * <p>The name of the model. Must be alphanumeric.</p> */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** * <p>The name of the model. Must be alphanumeric.</p> */ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** * <p>The name of the model. Must be alphanumeric.</p> */ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** * <p>The name of the model. Must be alphanumeric.</p> */ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** * <p>The name of the model. Must be alphanumeric.</p> */ inline Model& WithName(const Aws::String& value) { SetName(value); return *this;} /** * <p>The name of the model. Must be alphanumeric.</p> */ inline Model& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** * <p>The name of the model. Must be alphanumeric.</p> */ inline Model& WithName(const char* value) { SetName(value); return *this;} /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline const Aws::String& GetSchema() const{ return m_schema; } /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; } /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline void SetSchema(const Aws::String& value) { m_schemaHasBeenSet = true; m_schema = value; } /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline void SetSchema(Aws::String&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); } /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline void SetSchema(const char* value) { m_schemaHasBeenSet = true; m_schema.assign(value); } /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline Model& WithSchema(const Aws::String& value) { SetSchema(value); return *this;} /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline Model& WithSchema(Aws::String&& value) { SetSchema(std::move(value)); return *this;} /** * <p>The schema for the model. For application/json models, this should be JSON * schema draft 4 model.</p> */ inline Model& WithSchema(const char* value) { SetSchema(value); return *this;} private: Aws::String m_contentType; bool m_contentTypeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_modelId; bool m_modelIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_schema; bool m_schemaHasBeenSet = false; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws