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

A wrapper object holding the Amazon API Gateway endpoint input. *

See Also:

AWS * API Reference

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

The type of endpoint to use for the API Gateway proxy. If no value is * specified in the request, the value is set to REGIONAL by * default.

If the value is set to PRIVATE in the request, this * creates a private API endpoint that is isolated from the public internet. The * private endpoint can only be accessed by using Amazon Virtual Private Cloud * (Amazon VPC) interface endpoints for the Amazon API Gateway that has been * granted access. For more information about creating a private connection with * Refactor Spaces and interface endpoint (Amazon Web Services PrivateLink) * availability, see Access * Refactor Spaces using an interface endpoint (Amazon Web Services * PrivateLink).

*/ inline const ApiGatewayEndpointType& GetEndpointType() const{ return m_endpointType; } /** *

The type of endpoint to use for the API Gateway proxy. If no value is * specified in the request, the value is set to REGIONAL by * default.

If the value is set to PRIVATE in the request, this * creates a private API endpoint that is isolated from the public internet. The * private endpoint can only be accessed by using Amazon Virtual Private Cloud * (Amazon VPC) interface endpoints for the Amazon API Gateway that has been * granted access. For more information about creating a private connection with * Refactor Spaces and interface endpoint (Amazon Web Services PrivateLink) * availability, see Access * Refactor Spaces using an interface endpoint (Amazon Web Services * PrivateLink).

*/ inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; } /** *

The type of endpoint to use for the API Gateway proxy. If no value is * specified in the request, the value is set to REGIONAL by * default.

If the value is set to PRIVATE in the request, this * creates a private API endpoint that is isolated from the public internet. The * private endpoint can only be accessed by using Amazon Virtual Private Cloud * (Amazon VPC) interface endpoints for the Amazon API Gateway that has been * granted access. For more information about creating a private connection with * Refactor Spaces and interface endpoint (Amazon Web Services PrivateLink) * availability, see Access * Refactor Spaces using an interface endpoint (Amazon Web Services * PrivateLink).

*/ inline void SetEndpointType(const ApiGatewayEndpointType& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; } /** *

The type of endpoint to use for the API Gateway proxy. If no value is * specified in the request, the value is set to REGIONAL by * default.

If the value is set to PRIVATE in the request, this * creates a private API endpoint that is isolated from the public internet. The * private endpoint can only be accessed by using Amazon Virtual Private Cloud * (Amazon VPC) interface endpoints for the Amazon API Gateway that has been * granted access. For more information about creating a private connection with * Refactor Spaces and interface endpoint (Amazon Web Services PrivateLink) * availability, see Access * Refactor Spaces using an interface endpoint (Amazon Web Services * PrivateLink).

*/ inline void SetEndpointType(ApiGatewayEndpointType&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); } /** *

The type of endpoint to use for the API Gateway proxy. If no value is * specified in the request, the value is set to REGIONAL by * default.

If the value is set to PRIVATE in the request, this * creates a private API endpoint that is isolated from the public internet. The * private endpoint can only be accessed by using Amazon Virtual Private Cloud * (Amazon VPC) interface endpoints for the Amazon API Gateway that has been * granted access. For more information about creating a private connection with * Refactor Spaces and interface endpoint (Amazon Web Services PrivateLink) * availability, see Access * Refactor Spaces using an interface endpoint (Amazon Web Services * PrivateLink).

*/ inline ApiGatewayProxyInput& WithEndpointType(const ApiGatewayEndpointType& value) { SetEndpointType(value); return *this;} /** *

The type of endpoint to use for the API Gateway proxy. If no value is * specified in the request, the value is set to REGIONAL by * default.

If the value is set to PRIVATE in the request, this * creates a private API endpoint that is isolated from the public internet. The * private endpoint can only be accessed by using Amazon Virtual Private Cloud * (Amazon VPC) interface endpoints for the Amazon API Gateway that has been * granted access. For more information about creating a private connection with * Refactor Spaces and interface endpoint (Amazon Web Services PrivateLink) * availability, see Access * Refactor Spaces using an interface endpoint (Amazon Web Services * PrivateLink).

*/ inline ApiGatewayProxyInput& WithEndpointType(ApiGatewayEndpointType&& value) { SetEndpointType(std::move(value)); return *this;} /** *

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

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

The name of the API Gateway stage. The name defaults to prod. *

*/ inline ApiGatewayProxyInput& WithStageName(const char* value) { SetStageName(value); return *this;} private: ApiGatewayEndpointType m_endpointType; bool m_endpointTypeHasBeenSet = false; Aws::String m_stageName; bool m_stageNameHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubRefactorSpaces } // namespace Aws