import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ApiGatewayV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ApiGatewayV2Client"; import type { PutRoutingRuleRequest, PutRoutingRuleResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PutRoutingRuleCommand}. */ export interface PutRoutingRuleCommandInput extends PutRoutingRuleRequest { } /** * @public * * The output of {@link PutRoutingRuleCommand}. */ export interface PutRoutingRuleCommandOutput extends PutRoutingRuleResponse, __MetadataBearer { } declare const PutRoutingRuleCommand_base: { new (input: PutRoutingRuleCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: PutRoutingRuleCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Updates a routing rule.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ApiGatewayV2Client, PutRoutingRuleCommand } from "@aws-sdk/client-apigatewayv2"; // ES Modules import * // const { ApiGatewayV2Client, PutRoutingRuleCommand } = require("@aws-sdk/client-apigatewayv2"); // CommonJS import * // import type { ApiGatewayV2ClientConfig } from "@aws-sdk/client-apigatewayv2"; * const config = {}; // type is ApiGatewayV2ClientConfig * const client = new ApiGatewayV2Client(config); * const input = { // PutRoutingRuleRequest * Actions: [ // __listOfRoutingRuleAction // required * { // RoutingRuleAction * InvokeApi: { // RoutingRuleActionInvokeApi * ApiId: "STRING_VALUE", // required * Stage: "STRING_VALUE", // required * StripBasePath: true || false, * }, * }, * ], * Conditions: [ // __listOfRoutingRuleCondition // required * { // RoutingRuleCondition * MatchBasePaths: { // RoutingRuleMatchBasePaths * AnyOf: [ // __listOfSelectionKey // required * "STRING_VALUE", * ], * }, * MatchHeaders: { // RoutingRuleMatchHeaders * AnyOf: [ // __listOfRoutingRuleMatchHeaderValue // required * { // RoutingRuleMatchHeaderValue * Header: "STRING_VALUE", // required * ValueGlob: "STRING_VALUE", // required * }, * ], * }, * }, * ], * DomainName: "STRING_VALUE", // required * DomainNameId: "STRING_VALUE", * Priority: Number("int"), // required * RoutingRuleId: "STRING_VALUE", // required * }; * const command = new PutRoutingRuleCommand(input); * const response = await client.send(command); * // { // PutRoutingRuleResponse * // Actions: [ // __listOfRoutingRuleAction * // { // RoutingRuleAction * // InvokeApi: { // RoutingRuleActionInvokeApi * // ApiId: "STRING_VALUE", // required * // Stage: "STRING_VALUE", // required * // StripBasePath: true || false, * // }, * // }, * // ], * // Conditions: [ // __listOfRoutingRuleCondition * // { // RoutingRuleCondition * // MatchBasePaths: { // RoutingRuleMatchBasePaths * // AnyOf: [ // __listOfSelectionKey // required * // "STRING_VALUE", * // ], * // }, * // MatchHeaders: { // RoutingRuleMatchHeaders * // AnyOf: [ // __listOfRoutingRuleMatchHeaderValue // required * // { // RoutingRuleMatchHeaderValue * // Header: "STRING_VALUE", // required * // ValueGlob: "STRING_VALUE", // required * // }, * // ], * // }, * // }, * // ], * // Priority: Number("int"), * // RoutingRuleArn: "STRING_VALUE", * // RoutingRuleId: "STRING_VALUE", * // }; * * ``` * * @param PutRoutingRuleCommandInput - {@link PutRoutingRuleCommandInput} * @returns {@link PutRoutingRuleCommandOutput} * @see {@link PutRoutingRuleCommandInput} for command's `input` shape. * @see {@link PutRoutingRuleCommandOutput} for command's `response` shape. * @see {@link ApiGatewayV2ClientResolvedConfig | config} for ApiGatewayV2Client's `config` shape. * * @throws {@link BadRequestException} (client fault) *

The request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

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

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details.

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

The resource specified in the request was not found. See the message field for more information.

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

A limit has been exceeded. See the accompanying error message for details.

* * @throws {@link ApiGatewayV2ServiceException} *

Base exception class for all service exceptions from ApiGatewayV2 service.

* * * @public */ export declare class PutRoutingRuleCommand extends PutRoutingRuleCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PutRoutingRuleRequest; output: PutRoutingRuleResponse; }; sdk: { input: PutRoutingRuleCommandInput; output: PutRoutingRuleCommandOutput; }; }; }