import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateRouteRequest, CreateRouteResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateRouteCommand}. */ export interface CreateRouteCommandInput extends CreateRouteRequest { } /** * @public * * The output of {@link CreateRouteCommand}. */ export interface CreateRouteCommandOutput extends CreateRouteResponse, __MetadataBearer { } declare const CreateRouteCommand_base: { new (input: CreateRouteCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateRouteCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates an Amazon Web Services Migration Hub Refactor Spaces route. The account owner of the service resource is always the * environment owner, regardless of which account creates the route. Routes target a service in * the application. If an application does not have any routes, then the first route must be * created as a DEFAULT * RouteType.

*

When created, the default route defaults to an active state so state is not a required * input. However, like all other state values the state of the default route can be updated * after creation, but only when all other routes are also inactive. Conversely, no route can be * active without the default route also being active.

*

When you create a route, Refactor Spaces configures the Amazon API Gateway to send traffic * to the target service as follows:

* *

* Environments without a network bridge *

*

When you create environments without a network bridge (CreateEnvironment:NetworkFabricType is NONE) and you use your own * networking infrastructure, you need to configure VPC to VPC connectivity between your network and the application proxy VPC. Route * creation from the application proxy to service endpoints will fail if your network is not * configured to connect to the application proxy VPC. For more information, see Create * a route in the Refactor Spaces User Guide.

*

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { MigrationHubRefactorSpacesClient, CreateRouteCommand } from "@aws-sdk/client-migration-hub-refactor-spaces"; // ES Modules import * // const { MigrationHubRefactorSpacesClient, CreateRouteCommand } = require("@aws-sdk/client-migration-hub-refactor-spaces"); // CommonJS import * // import type { MigrationHubRefactorSpacesClientConfig } from "@aws-sdk/client-migration-hub-refactor-spaces"; * const config = {}; // type is MigrationHubRefactorSpacesClientConfig * const client = new MigrationHubRefactorSpacesClient(config); * const input = { // CreateRouteRequest * EnvironmentIdentifier: "STRING_VALUE", // required * ApplicationIdentifier: "STRING_VALUE", // required * ServiceIdentifier: "STRING_VALUE", // required * RouteType: "STRING_VALUE", // required * DefaultRoute: { // DefaultRouteInput * ActivationState: "STRING_VALUE", * }, * UriPathRoute: { // UriPathRouteInput * SourcePath: "STRING_VALUE", // required * ActivationState: "STRING_VALUE", // required * Methods: [ // HttpMethods * "STRING_VALUE", * ], * IncludeChildPaths: true || false, * AppendSourcePath: true || false, * }, * Tags: { // TagMap * "": "STRING_VALUE", * }, * ClientToken: "STRING_VALUE", * }; * const command = new CreateRouteCommand(input); * const response = await client.send(command); * // { // CreateRouteResponse * // RouteId: "STRING_VALUE", * // Arn: "STRING_VALUE", * // OwnerAccountId: "STRING_VALUE", * // CreatedByAccountId: "STRING_VALUE", * // RouteType: "STRING_VALUE", * // ServiceId: "STRING_VALUE", * // ApplicationId: "STRING_VALUE", * // UriPathRoute: { // UriPathRouteInput * // SourcePath: "STRING_VALUE", // required * // ActivationState: "STRING_VALUE", // required * // Methods: [ // HttpMethods * // "STRING_VALUE", * // ], * // IncludeChildPaths: true || false, * // AppendSourcePath: true || false, * // }, * // State: "STRING_VALUE", * // Tags: { // TagMap * // "": "STRING_VALUE", * // }, * // LastUpdatedTime: new Date("TIMESTAMP"), * // CreatedTime: new Date("TIMESTAMP"), * // }; * * ``` * * @param CreateRouteCommandInput - {@link CreateRouteCommandInput} * @returns {@link CreateRouteCommandOutput} * @see {@link CreateRouteCommandInput} for command's `input` shape. * @see {@link CreateRouteCommandOutput} for command's `response` shape. * @see {@link MigrationHubRefactorSpacesClientResolvedConfig | config} for MigrationHubRefactorSpacesClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

The user does not have sufficient access to perform this action.

* * @throws {@link ConflictException} (client fault) *

Updating or deleting a resource can cause an inconsistent state.

* * @throws {@link InternalServerException} (server fault) *

An unexpected error occurred while processing the request.

* * @throws {@link ResourceNotFoundException} (client fault) *

The request references a resource that does not exist.

* * @throws {@link ServiceQuotaExceededException} (client fault) *

The request would cause a service quota to be exceeded.

* * @throws {@link ThrottlingException} (client fault) *

Request was denied because the request was throttled.

* * @throws {@link ValidationException} (client fault) *

The input does not satisfy the constraints specified by an Amazon Web Service. *

* * @throws {@link MigrationHubRefactorSpacesServiceException} *

Base exception class for all service exceptions from MigrationHubRefactorSpaces service.

* * * @public */ export declare class CreateRouteCommand extends CreateRouteCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateRouteRequest; output: CreateRouteResponse; }; sdk: { input: CreateRouteCommandInput; output: CreateRouteCommandOutput; }; }; }