import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { UpdateRegexPatternSetRequest, UpdateRegexPatternSetResponse } from "../models/models_0"; import type { ServiceInputTypes, ServiceOutputTypes, WAFV2ClientResolvedConfig } from "../WAFV2Client"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link UpdateRegexPatternSetCommand}. */ export interface UpdateRegexPatternSetCommandInput extends UpdateRegexPatternSetRequest { } /** * @public * * The output of {@link UpdateRegexPatternSetCommand}. */ export interface UpdateRegexPatternSetCommandOutput extends UpdateRegexPatternSetResponse, __MetadataBearer { } declare const UpdateRegexPatternSetCommand_base: { new (input: UpdateRegexPatternSetCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: UpdateRegexPatternSetCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Updates the specified RegexPatternSet.

* *

This operation completely replaces the mutable specifications that you already have for the regex pattern set with the ones that you provide to this call.

*

To modify a regex pattern set, do the following:

*
    *
  1. *

    Retrieve it by calling GetRegexPatternSet *

    *
  2. *
  3. *

    Update its settings as needed

    *
  4. *
  5. *

    Provide the complete regex pattern set specification to this call

    *
  6. *
*
*

* Temporary inconsistencies during updates *

*

When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

*

The following are examples of the temporary inconsistencies that you might notice during change propagation:

* * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { WAFV2Client, UpdateRegexPatternSetCommand } from "@aws-sdk/client-wafv2"; // ES Modules import * // const { WAFV2Client, UpdateRegexPatternSetCommand } = require("@aws-sdk/client-wafv2"); // CommonJS import * // import type { WAFV2ClientConfig } from "@aws-sdk/client-wafv2"; * const config = {}; // type is WAFV2ClientConfig * const client = new WAFV2Client(config); * const input = { // UpdateRegexPatternSetRequest * Name: "STRING_VALUE", // required * Scope: "CLOUDFRONT" || "REGIONAL", // required * Id: "STRING_VALUE", // required * Description: "STRING_VALUE", * RegularExpressionList: [ // RegularExpressionList // required * { // Regex * RegexString: "STRING_VALUE", * }, * ], * LockToken: "STRING_VALUE", // required * }; * const command = new UpdateRegexPatternSetCommand(input); * const response = await client.send(command); * // { // UpdateRegexPatternSetResponse * // NextLockToken: "STRING_VALUE", * // }; * * ``` * * @param UpdateRegexPatternSetCommandInput - {@link UpdateRegexPatternSetCommandInput} * @returns {@link UpdateRegexPatternSetCommandOutput} * @see {@link UpdateRegexPatternSetCommandInput} for command's `input` shape. * @see {@link UpdateRegexPatternSetCommandOutput} for command's `response` shape. * @see {@link WAFV2ClientResolvedConfig | config} for WAFV2Client's `config` shape. * * @throws {@link WAFDuplicateItemException} (client fault) *

WAF couldn’t perform the operation because the resource that you tried to save is * a duplicate of an existing one.

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

Your request is valid, but WAF couldn’t perform the operation because of a system * problem. Retry your request.

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

The operation isn't valid.

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

The operation failed because WAF didn't recognize a parameter in the request. For * example:

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

WAF couldn’t perform the operation because you exceeded your resource limit. For * example, the maximum number of WebACL objects that you can create for an Amazon Web Services * account. For more information, see WAF quotas in the * WAF Developer Guide.

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

WAF couldn’t perform the operation because your resource doesn't exist. * If you've just created a resource that you're using in this operation, you might * just need to wait a few minutes. It can take from a few seconds to a number of minutes * for changes to propagate.

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

WAF couldn’t save your changes because you tried to update or delete a resource * that has changed since you last retrieved it. Get the resource again, make any changes you * need to make to the new copy, and retry your operation.

* * @throws {@link WAFV2ServiceException} *

Base exception class for all service exceptions from WAFV2 service.

* * * @public */ export declare class UpdateRegexPatternSetCommand extends UpdateRegexPatternSetCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateRegexPatternSetRequest; output: UpdateRegexPatternSetResponse; }; sdk: { input: UpdateRegexPatternSetCommandInput; output: UpdateRegexPatternSetCommandOutput; }; }; }