/** * 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 Http { class URI; } //namespace Http namespace ApiGatewayV2 { namespace Model { /** */ class ExportApiRequest : public ApiGatewayV2Request { public: AWS_APIGATEWAYV2_API ExportApiRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ExportApi"; } AWS_APIGATEWAYV2_API Aws::String SerializePayload() const override; AWS_APIGATEWAYV2_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The API identifier.

*/ inline const Aws::String& GetApiId() const{ return m_apiId; } /** *

The API identifier.

*/ inline bool ApiIdHasBeenSet() const { return m_apiIdHasBeenSet; } /** *

The API identifier.

*/ inline void SetApiId(const Aws::String& value) { m_apiIdHasBeenSet = true; m_apiId = value; } /** *

The API identifier.

*/ inline void SetApiId(Aws::String&& value) { m_apiIdHasBeenSet = true; m_apiId = std::move(value); } /** *

The API identifier.

*/ inline void SetApiId(const char* value) { m_apiIdHasBeenSet = true; m_apiId.assign(value); } /** *

The API identifier.

*/ inline ExportApiRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} /** *

The API identifier.

*/ inline ExportApiRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} /** *

The API identifier.

*/ inline ExportApiRequest& WithApiId(const char* value) { SetApiId(value); return *this;} /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline const Aws::String& GetExportVersion() const{ return m_exportVersion; } /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline bool ExportVersionHasBeenSet() const { return m_exportVersionHasBeenSet; } /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline void SetExportVersion(const Aws::String& value) { m_exportVersionHasBeenSet = true; m_exportVersion = value; } /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline void SetExportVersion(Aws::String&& value) { m_exportVersionHasBeenSet = true; m_exportVersion = std::move(value); } /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline void SetExportVersion(const char* value) { m_exportVersionHasBeenSet = true; m_exportVersion.assign(value); } /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline ExportApiRequest& WithExportVersion(const Aws::String& value) { SetExportVersion(value); return *this;} /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline ExportApiRequest& WithExportVersion(Aws::String&& value) { SetExportVersion(std::move(value)); return *this;} /** *

The version of the API Gateway export algorithm. API Gateway uses the latest * version by default. Currently, the only supported version is 1.0.

*/ inline ExportApiRequest& WithExportVersion(const char* value) { SetExportVersion(value); return *this;} /** *

Specifies whether to include API * Gateway extensions in the exported API definition. API Gateway extensions * are included by default.

*/ inline bool GetIncludeExtensions() const{ return m_includeExtensions; } /** *

Specifies whether to include API * Gateway extensions in the exported API definition. API Gateway extensions * are included by default.

*/ inline bool IncludeExtensionsHasBeenSet() const { return m_includeExtensionsHasBeenSet; } /** *

Specifies whether to include API * Gateway extensions in the exported API definition. API Gateway extensions * are included by default.

*/ inline void SetIncludeExtensions(bool value) { m_includeExtensionsHasBeenSet = true; m_includeExtensions = value; } /** *

Specifies whether to include API * Gateway extensions in the exported API definition. API Gateway extensions * are included by default.

*/ inline ExportApiRequest& WithIncludeExtensions(bool value) { SetIncludeExtensions(value); return *this;} /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline const Aws::String& GetOutputType() const{ return m_outputType; } /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline bool OutputTypeHasBeenSet() const { return m_outputTypeHasBeenSet; } /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline void SetOutputType(const Aws::String& value) { m_outputTypeHasBeenSet = true; m_outputType = value; } /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline void SetOutputType(Aws::String&& value) { m_outputTypeHasBeenSet = true; m_outputType = std::move(value); } /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline void SetOutputType(const char* value) { m_outputTypeHasBeenSet = true; m_outputType.assign(value); } /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline ExportApiRequest& WithOutputType(const Aws::String& value) { SetOutputType(value); return *this;} /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline ExportApiRequest& WithOutputType(Aws::String&& value) { SetOutputType(std::move(value)); return *this;} /** *

The output type of the exported definition file. Valid values are JSON and * YAML.

*/ inline ExportApiRequest& WithOutputType(const char* value) { SetOutputType(value); return *this;} /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline const Aws::String& GetSpecification() const{ return m_specification; } /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline bool SpecificationHasBeenSet() const { return m_specificationHasBeenSet; } /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline void SetSpecification(const Aws::String& value) { m_specificationHasBeenSet = true; m_specification = value; } /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline void SetSpecification(Aws::String&& value) { m_specificationHasBeenSet = true; m_specification = std::move(value); } /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline void SetSpecification(const char* value) { m_specificationHasBeenSet = true; m_specification.assign(value); } /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline ExportApiRequest& WithSpecification(const Aws::String& value) { SetSpecification(value); return *this;} /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline ExportApiRequest& WithSpecification(Aws::String&& value) { SetSpecification(std::move(value)); return *this;} /** *

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the * only supported value.

*/ inline ExportApiRequest& WithSpecification(const char* value) { SetSpecification(value); return *this;} /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline const Aws::String& GetStageName() const{ return m_stageName; } /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; } /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; } /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); } /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); } /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline ExportApiRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;} /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline ExportApiRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;} /** *

The name of the API stage to export. If you don't specify this property, a * representation of the latest API configuration is exported.

*/ inline ExportApiRequest& WithStageName(const char* value) { SetStageName(value); return *this;} private: Aws::String m_apiId; bool m_apiIdHasBeenSet = false; Aws::String m_exportVersion; bool m_exportVersionHasBeenSet = false; bool m_includeExtensions; bool m_includeExtensionsHasBeenSet = false; Aws::String m_outputType; bool m_outputTypeHasBeenSet = false; Aws::String m_specification; bool m_specificationHasBeenSet = false; Aws::String m_stageName; bool m_stageNameHasBeenSet = false; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws