import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateRuleGroupRequest, CreateRuleGroupResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateRuleGroupCommand}. */ export interface CreateRuleGroupCommandInput extends CreateRuleGroupRequest { } /** * @public * * The output of {@link CreateRuleGroupCommand}. */ export interface CreateRuleGroupCommandOutput extends CreateRuleGroupResponse, __MetadataBearer { } declare const CreateRuleGroupCommand_base: { new (input: CreateRuleGroupCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateRuleGroupCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** * *

This is AWS WAF Classic documentation. For * more information, see AWS * WAF Classic in the developer guide.

*

* For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

*
*

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

*

Rule groups are subject to the following limits:

* *

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the * AWS WAF Developer Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { WAFRegionalClient, CreateRuleGroupCommand } from "@aws-sdk/client-waf-regional"; // ES Modules import * // const { WAFRegionalClient, CreateRuleGroupCommand } = require("@aws-sdk/client-waf-regional"); // CommonJS import * // import type { WAFRegionalClientConfig } from "@aws-sdk/client-waf-regional"; * const config = {}; // type is WAFRegionalClientConfig * const client = new WAFRegionalClient(config); * const input = { // CreateRuleGroupRequest * Name: "STRING_VALUE", // required * MetricName: "STRING_VALUE", // required * ChangeToken: "STRING_VALUE", // required * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }; * const command = new CreateRuleGroupCommand(input); * const response = await client.send(command); * // { // CreateRuleGroupResponse * // RuleGroup: { // RuleGroup * // RuleGroupId: "STRING_VALUE", // required * // Name: "STRING_VALUE", * // MetricName: "STRING_VALUE", * // }, * // ChangeToken: "STRING_VALUE", * // }; * * ``` * * @param CreateRuleGroupCommandInput - {@link CreateRuleGroupCommandInput} * @returns {@link CreateRuleGroupCommandOutput} * @see {@link CreateRuleGroupCommandInput} for command's `input` shape. * @see {@link CreateRuleGroupCommandOutput} for command's `response` shape. * @see {@link WAFRegionalClientResolvedConfig | config} for WAFRegionalClient's `config` shape. * * @throws {@link WAFBadRequestException} (client fault) *

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

The name specified is invalid.

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

The operation failed because of a system problem, even though the request was valid. Retry your request.

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

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create * for an AWS account. For more information, see * Limits in the AWS WAF Developer Guide.

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

The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

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

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

* * @throws {@link WAFRegionalServiceException} *

Base exception class for all service exceptions from WAFRegional service.

* * * @public */ export declare class CreateRuleGroupCommand extends CreateRuleGroupCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateRuleGroupRequest; output: CreateRuleGroupResponse; }; sdk: { input: CreateRuleGroupCommandInput; output: CreateRuleGroupCommandOutput; }; }; }